Mit GKE installieren Add-on


Auf dieser Seite wird beschrieben, wie Sie Config Connector mit dem Config-Add-on in einem Google Kubernetes Engine-Cluster (GKE) installieren.

Detaillierte Informationen zu den Installationsoptionen mit ihren Vor- und Nachteilen Siehe Installationstyp auswählen

Hinweis

Führen Sie die folgenden Schritte durch, bevor Sie beginnen:

  • Aktivieren Sie die Google Kubernetes Engine API.
  • Google Kubernetes Engine API aktivieren
  • Wenn Sie die Google Cloud CLI für diese Aufgabe verwenden möchten, müssen Sie die gcloud CLI installieren und dann initialisieren. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit gcloud components update ab.

Config Connector-Add-ons installieren

Sie wenden das Config Connector-Add-on durch Erstellen eines neuen GKE Clusters oder durch Aktivieren eines vorhandenen Clusters an. Nach der Installation des Config Connector-Add-ons konfigurieren Sie die Config Connector-Installation mit Ihren Google-Dienstkonten und Ihren Namespaces.

Voraussetzungen

Das Config Connector-Add-on hat folgende Anforderungen:

  • Sie benötigen eine der folgenden GKE-Versionen:

    • 1.15.11-gke.5 und höher
    • 1.16.8-gke.8 und höher
    • 1.17.4-gke.5 und höher
  • Sie müssen einen Workload Identity-Pool und das Kubernetes Engine Monitoring für die Clustern aktivieren, in denen Sie Config Connector aktivieren.

Einen GKE-Cluster einrichten

Sie können das Config Connector-Add-on für neue oder vorhandene Cluster verwenden.

Neuen Cluster mit aktiviertem Config Connector-Add-on erstellen

Sie können einen GKE-Cluster mit der gcloud CLI oder dem Google Cloud Console

gcloud

Führen Sie den folgenden Befehl aus, um einen Cluster mit der Google Cloud CLI zu erstellen:

gcloud container clusters create CLUSTER_NAME \
    --release-channel CHANNEL \
    --addons ConfigConnector \
    --workload-pool=PROJECT_ID.svc.id.goog \
    --logging=SYSTEM \
    --monitoring=SYSTEM

Ersetzen Sie Folgendes:

  • CLUSTER_NAME ist der Name des GKE-Clusters.
  • CHANNEL ist ein GKE-Releasekanal, rapid und regular werden unterstützt.
  • PROJECT_ID durch Ihre Google Cloud-Projekt-ID.

Google Cloud Console

Führen Sie die folgenden Schritte aus, um einen Cluster mit der Google Cloud Console zu erstellen:

  1. Rufen Sie in der Google Cloud Console das Menü von Google Kubernetes Engine auf.

    Google Kubernetes Engine-Menü aufrufen

  2. Klicken Sie auf Erstellen. Die Seite Kubernetes-Cluster erstellen wird angezeigt.

  3. Geben Sie einen Namen für Ihren Cluster ein.

  4. Wählen Sie eine unterstützte Masterversion aus.

  5. Konfigurieren Sie Ihre weiteren Cluster nach Bedarf.

  6. Klicken Sie im Navigationsbereich unter Cluster auf Sicherheit.

  7. Klicken Sie das Kästchen Workload Identity aktivieren an.

  8. Klicken Sie im Navigationsbereich links unter Cluster auf Features.

  9. Klicken Sie auf das Kästchen Config Connector aktivieren.

  10. Klicken Sie auf Erstellen.

Nachdem Sie den Cluster erstellt haben, müssen Sie eine Identität erstellen.

Config Connector-Add-on für einen vorhandenen Cluster aktivieren

Sie können das Config Connector-Add-on in einem vorhandenen GKE-Cluster mit gcloud oder mit der Google Cloud Console aktivieren.

Vorbereitung

Das Aktivieren des Config Connector-Add-ons in einem vorhandenen Cluster hat folgende Voraussetzungen:

  • Sie benötigen einen Cluster, der die Anforderungen für das Config Connector-Add-ons erfüllt.
  • Richten Sie Workload Identity in dem Cluster ein, in dem Sie Config Connector installieren möchten.

Verwenden Sie die gcloud-Befehlszeile, um Workload Identity für einen Knotenpool zu aktivieren Tool:

gcloud container node-pools update NODE_POOL \
    --workload-metadata=GKE_METADATA \
    --cluster CLUSTER_NAME

Dabei gilt:

  • NODE_POOL durch den Namen Ihres Knotenpools ersetzen
  • Ersetzen Sie CLUSTER_NAME durch den Namen Ihres Clusters.
Config Connector-Add-on aktivieren

Sie können das Config Connector-Add-on in einem vorhandenen GKE-Cluster mit der Google Cloud CLI oder der Google Cloud Console aktivieren.

gcloud

So aktivieren Sie das Config Connector-Add-on in einem vorhandenen GKE-Cluster mit der Google Cloud CLI:

gcloud container clusters update CLUSTER_NAME \
    --update-addons ConfigConnector=ENABLED

Ersetzen Sie dabei CLUSTER_NAME durch den Namen Ihres GKE-Clusters.

Google Cloud Console

  1. Rufen Sie in der Google Cloud Console das Menü von Google Kubernetes Engine auf.

    Google Kubernetes Engine-Menü aufrufen

  2. Wählen Sie den Cluster aus, in dem Sie Config Connector installieren möchten. Die Die Seite Clusterdetails wird angezeigt.

  3. Suchen Sie im Abschnitt Features nach der Zeile mit dem Config Connector und klicken Sie auf Bearbeiten.

  4. Klicken Sie auf das Kästchen Config Connector aktivieren und dann auf Änderungen speichern, um den Cluster zu aktualisieren.

Identität erstellen

Config Connector erstellt und verwaltet Google Cloud-Ressourcen. Dabei erfolgt die Authentifizierung über ein IAM-Dienstkonto (Identity and Access Management). Die Verknüpfung der IAM-Dienstkonten mit Kubernetes-Dienstkonten erfolgt per Workload Identity.

Führen Sie zum Erstellen der Identität folgende Schritte aus:

  1. IAM-Dienstkonto erstellen. Wenn Sie ein vorhandenes Dienstkonto verwenden möchten, können Sie das tun und diesen Schritt überspringen.

    Erstellen Sie mit folgendem Befehl das Dienstkonto:
      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
    Ersetzen Sie SERVICE_ACCOUNT_NAME durch einen Namen für Ihr Dienstkonto.
  2. Weitere Informationen zum Erstellen von Dienstkonten finden Sie unter Dienstkonten erstellen und verwalten

  3. Gewähren Sie dem IAM-Dienstkonto erweiterte Berechtigungen für Ihr Projekt:
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/editor"
    Ersetzen Sie dabei Folgendes:
    • PROJECT_ID durch Ihre Projekt-ID,
    • SERVICE_ACCOUNT_NAME durch den Namen Ihres Dienstkontos.
  4. IAM-Richtlinienbindung zwischen IAM erstellen und das vordefinierte Kubernetes-Dienstkonto, Config Connector führt Folgendes aus:
    gcloud iam service-accounts add-iam-policy-binding \
    SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
        --member="serviceAccount:PROJECT_ID.svc.id.goog[cnrm-system/cnrm-controller-manager]" \
        --role="roles/iam.workloadIdentityUser"
    Ersetzen Sie dabei Folgendes:
    • SERVICE_ACCOUNT_NAME durch den Namen Ihres Dienstkontos.
    • PROJECT_ID durch Ihre Projekt-ID,

Config Connector konfigurieren

Um die Installation abzuschließen, erstellen Sie eine Konfigurationsdatei für die CustomResource-ConfigConnector und wenden diese dann mit dem Befehl kubectl apply an. Der Config Connector Operator installiert CRDs für Google Cloud-Ressourcen und Config Connector-Komponenten in Ihrem Cluster.

So konfigurieren Sie den Operator als Clustermodus:

  1. Kopieren Sie folgende YAML-Datei in eine Datei mit dem Namen configconnector.yaml:
    # configconnector.yaml
    apiVersion: core.cnrm.cloud.google.com/v1beta1
    kind: ConfigConnector
    metadata:
      # the name is restricted to ensure that there is only one
      # ConfigConnector resource installed in your cluster
      name: configconnector.core.cnrm.cloud.google.com
    spec:
      mode: cluster
      googleServiceAccount: "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com"
      # Setting `stateIntoSpec` to `Absent` is recommended. It means setting `cnrm.cloud.google.com/state-into-spec`
      # annotation to `absent` for all Config Connector resources created in the cluster in the future.
      # It prevents Config Connector from populating unspecified fields into the spec.
      stateIntoSpec: Absent
    Ersetzen Sie dabei Folgendes:
    • SERVICE_ACCOUNT_NAME durch den Namen Ihres Dienstkontos.
    • PROJECT_ID durch Ihre Projekt-ID,
  2. Wenden Sie die Konfiguration mit kubectl apply auf Ihren Cluster an:
      kubectl apply -f configconnector.yaml

Speicherort für Ressourcen angeben

Config Connector kann Ressourcen nach Projekt, Ordner oder Organisation organisieren. Dies entspricht dem Organisieren von Ressourcen mit Google Cloud.

Bevor Sie mit Config Connector Ressourcen erstellen, müssen Sie festlegen, wo die Ressourcen angelegt werden sollen. Um zu ermitteln, wo eine Ressource erstellt werden soll, nutzt Config Connector eine Annotation in der Ressourcenkonfiguration oder in einem vorhandenen Namespace. Weitere Informationen finden Sie unter Ressourcen organisieren.

Wenn Sie keinen für diesen Zweck geeigneten Namespace haben, erstellen Sie einen mit kubectl.
kubectl create namespace NAMESPACE

Ersetzen Sie dabei NAMESPACE durch Ihren Namespace-Namen. Beispiel: config-connector.

Wählen Sie den Tab aus, in dem Config Connector Ressourcen anlegen soll.

Projekt

Führen Sie folgenden Befehl aus, um Ressourcen in einem bestimmten Projekt zu erstellen:

    kubectl annotate namespace \
    NAMESPACE cnrm.cloud.google.com/project-id=PROJECT_ID

Ersetzen Sie Folgendes:

  • NAMESPACE durch Ihren Namespace-Namen.
  • PROJECT_ID durch Ihre Google Cloud-Projekt-ID.

Ordner

Führen Sie folgenden Befehl aus, um Ressourcen in einem bestimmten Ordner zu erstellen:

    kubectl annotate namespace \
    NAMESPACE cnrm.cloud.google.com/folder-id=FOLDER_ID

Ersetzen Sie Folgendes:

  • NAMESPACE durch Ihren Namespace-Namen.
  • FOLDER_ID durch Ihre Google Cloud-Ordner-ID.

Organisation

Führen Sie folgenden Befehl aus, um Ressourcen in einer bestimmten Organisation zu erstellen:

    kubectl annotate namespace \
    NAMESPACE cnrm.cloud.google.com/organization-id=ORGANIZATION_ID

Ersetzen Sie Folgendes:

  • NAMESPACE durch Ihren Namespace-Namen.
  • ORGANIZATION_ID durch Ihre Google Cloud-Organisations-ID.

Wenn Sie Ihren Namespace mit Annotationen versehen, erstellt Config Connector Ressourcen im entsprechenden Projekt, im entsprechenden Ordner oder in der entsprechenden Organisation. Weitere Informationen dazu, wie Config Connector Kubernetes-Namespaces nutzt, finden Sie unter Kubernetes-Namespaces und Google Cloud-Projekte.

Installation prüfen

Config Connector führt alle seine Komponenten in einem Namespace mit dem Namen cnrm-system aus. Mit dem folgenden Befehl können Sie prüfen, ob die Pods bereit sind:

kubectl wait -n cnrm-system \
      --for=condition=Ready pod --all

Wenn Config Connector korrekt installiert ist, sieht die Ausgabe etwa so aus:

pod/cnrm-controller-manager-0 condition met

Config Connector aktualisieren

Upgrades für das Config Connector-Add-on Ihres Clusters werden von Google Cloud verwaltet.

Die Ressourcen in Ihrem Cluster bleiben bei jedem Upgrade erhalten.

Lesen Sie, wie Google Cloud Upgrades von Config Connector-Add-ons verwaltet, oder überspringen Sie diesen Abschnitt. Informationen zum Abrufen der aktuellen Config Connector-Version

So verwaltet Google Cloud Upgrades von Config Connector-Add-ons

Die von einem GKE-Cluster abgerufene Config Connector-Version vollständig auf der Nebenversion der GKE des Clusters. Beispiel:

GKE-Nebenversion Config Connector-Version
1.20 1.69.0
1.21 1.69.0
1.22 1.71.0
1.23 1.82.0
1.24 1.89.0

Sobald die Versionen infrage kommen, ordnet Google Cloud die neueste GKE Nebenversionen auf eine neu veröffentlichte Config Connector-Version. Dies geschieht für alle GKE-Nebenversionen, die so neu sind, dass sie nicht in der regulären oder der stabilen Version verfügbar.

Da die Config Connector-Version, die ein Cluster erhält, GKE-Nebenversion haben, gibt es zwei Fälle, in denen die Das Config Connector-Add-on wird von Google Cloud automatisch aktualisiert:

  1. Der Cluster wird auf eine neue GKE-Nebenversion aktualisiert, die einer neueren Config Connector-Version zugeordnet ist.

  2. Der Cluster hat eine GKE-Nebenversion, die neu genug ist, um nicht in der regulären oder der stabilen Version verfügbar sind und Google Cloud ordnet diese GKE-Nebenversion einer neuen Config Connector-Version.

Wenn Google Cloud eine GKE-Nebenversion und Upgrades neu zuordnet vorhandenen Clustern auf eine neue Config Connector-Version zu übertragen, eine neue Config Connector-Version testen“ auf diese GKE-Nebenversion.

Google Cloud führt keine neuen Config Connector-Versionen für GKE-Nebenversionen, die alt genug sind, um auf dem Reguläre oder stabile Release-Versionen aus Stabilitätsgründen, ausgenommen in wenn ein weitverbreitetes Problem erkannt wurde.

So erhalten Sie die neueste Config Connector-Version

Die über das Config Connector-Add-on installierte Version von Config Connector kann um bis zu 12 Monate in Verzug sein. Wenn Sie den neuesten Config Connector benötigen empfehlen wir den Wechsel zu Konfigurationscontroller oder Config Connector manuell installieren und Upgrades selbst durchführen. Die Migrationsanleitung für die einzelnen Optionen lautet wie folgt:

Config Connector deinstallieren

Führen Sie folgende Schritte aus, um Config Connector zu deinstallieren:

  1. Entfernen Sie mit kubectl delete die Config Connector-CRDs und die Controllerkomponenten:

    kubectl delete ConfigConnector configconnector.core.cnrm.cloud.google.com --wait=true
    
  2. Deaktivieren Sie das Config Connector-Add-on in Ihrem Cluster mit der gcloud CLI oder der Google Cloud Console:

    gcloud

    Zum Deaktivieren des Config Connector-Add-ons mit gcloud führen Sie folgenden Befehl aus:

    gcloud container clusters update CLUSTER_NAME --update-addons ConfigConnector=DISABLED
    

    Ersetzen Sie dabei CLUSTER_NAME durch den Namen des Clusters, in dem das Config Connector-Add-on installiert ist.

    Cloud Console

    Mit den im Folgenden aufgeführten Schritten deaktivieren Sie das Config Connector-Add-on über die Google Cloud Console.

    1. Rufen Sie in der Google Cloud Console die Seite für die Google Kubernetes Engine-Cluster auf und wählen Sie den Cluster aus, den Sie aktualisieren möchten.

      Zum Google Kubernetes Engine-Menü

    2. Klicken Sie auf Bearbeiten. Der Bildschirm Cluster bearbeiten wird angezeigt.

    3. Klicken Sie auf Add-ons.

    4. Wählen Sie Config Connector und dann Deaktiviert aus.

    5. Klicken Sie auf Speichern, um Ihren Cluster zu aktualisieren.

Nächste Schritte