Config Connector manuell installieren


Auf dieser Seite wird erläutert, wie Sie Config Connector manuell installieren.

Weitere Informationen zu den verschiedenen Installationsoptionen finden Sie unter Installationstyp auswählen.

Die manuelle Installation bietet schnellere Updates als die Verwendung des Add-ons.

In der folgenden Anleitung wird Config Connector als Clustermodus konfiguriert. Das bedeutet, dass es einen globalen Config Connector-Controller gibt, der als einzelnes Google Cloud IAM-Dienstkonto getäuscht wird. Wenn Sie weitere Config Connector-Ressourcen hinzufügen und mehr Kubernetes-Namespaces im selben Cluster einführen, sollten Sie in Betracht ziehen, zum Namespace-Modus zu wechseln. Dieser ist skalierbarer und bietet eine bessere IAM-Berechtigungsisolation für Anwendungsfälle mit mehreren Mietern, z. B. die Verwaltung von Ressourcen aus mehreren Google Cloud -Projekten.

Hinweise

Führen Sie folgenden Schritte aus, bevor Sie den Config Connector-Operator manuell installieren:

Config Connector-Operator installieren

Config Connector verwendet einen Kubernetes-Operator, um seine Installation auf dem neuesten Stand zu halten. Führen Sie folgende Schritte aus, um diesen Operator zu installieren:

  1. Laden Sie die neueste Config Connector-Operator TAR-Datei herunter:

    gcloud storage cp gs://configconnector-operator/latest/release-bundle.tar.gz release-bundle.tar.gz
    
  2. Extrahieren Sie die TAR-Datei:

    tar zxvf release-bundle.tar.gz
    
  3. Installieren Sie den Config Connector-Operator in Ihrem Cluster:

    1. Für GKE Autopilot-Cluster:

      kubectl apply -f operator-system/autopilot-configconnector-operator.yaml
      
    2. Für GKE-Standardcluster:

      kubectl apply -f operator-system/configconnector-operator.yaml
      

IAM-Richtlinie für die Verbindung zu Google Cloud -APIs konfigurieren

Damit Config Connector Ihre Google Cloud Ressourcen mit Workload Identity Federation for GKE verwalten kann, erstellen Sie eine IAM-Richtlinie.

Um die Richtlinienbindung zu konfigurieren, erstellen Sie eine IAM-Zulassungsrichtlinie, die auf das Kubernetes-Dienstkonto verweist, das automatisch erstellt wird, wenn Sie Config Connector in Ihrem Cluster installieren:

gcloud projects add-iam-policy-binding projects/PROJECT_ID \
    --role=roles/iam.workloadIdentityUser \
    --member=principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/subject/ns/NAMESPACE/sa/cnrm-system/cnrm-controller-manager \
    --condition=None

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Google Cloud -Projekt-ID.
  • PROJECT_NUMBER: Ihre numerische Google CloudProjektnummer.
  • NAMESPACE: Der Name des Kubernetes-Namespace für das Config Connector-ServiceAccount. Wenn Sie keinen Namespace explizit erstellt haben, ist der Wert default.

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 installiertGoogle Cloud CRDs 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 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 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

Laden Sie die neueste Version des Config Connector-Operators herunter und installieren Sie sie:

gcloud storage cp gs://configconnector-operator/latest/release-bundle.tar.gz release-bundle.tar.gz
tar zxvf release-bundle.tar.gz
kubectl apply -f operator-system/configconnector-operator.yaml

Config Connector downgraden

Ein vollständiges Downgrade von Config Connector wird nicht unterstützt. Wenn Sie ein Downgrade sowohl des Config Connector-Operators als auch der CRDs ausführen möchten, müssen Sie Config Connector deinstallieren, neu installieren und dann Ihre Ressourcen noch einmal übernehmen.

In Config Connector Version 1.123.1 und höher können Sie die Operatorversion für Installationen im Namespace-Modus rückgängig machen. Legen Sie in jedem Namespace, der einen Operator enthält, den Sie rückgängig machen möchten, das Feld spec.version im Objekt ConfigConnectorContext auf die vorherige Config Connector-Version fest.

Sie können den Config Connector-Controller um maximal drei Minorversionen zurücksetzen. Sie müssen immer auf die neueste Patchversion für eine bestimmte Minor-Version zurückgehen.

Config Connector deinstallieren

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

kubectl delete ConfigConnector configconnector.core.cnrm.cloud.google.com \
    --wait=true

Führen Sie folgenden Befehl aus, um den Config Connector-Operator zu deinstallieren:

kubectl delete -f operator-system/configconnector-operator.yaml  --wait=true

Upgrade von Installationen von Drittanbietern

Config Connector Version 1.33.0 und höher unterstützt nur die Installation mit dem GKE-Add-on oder dem Operator.

Wenn Sie auf den Operator umstellen und alle Config Connector-Ressourcen beibehalten möchten, müssen Sie alle Config Connector-Systemkomponenten mit Ausnahme der CRDs entfernen und dann den Operator installieren.

  1. Führen Sie folgenden Befehle aus, um Nicht-CRD-Komponenten des Config Connector-Systems zu entfernen:

    kubectl delete sts,deploy,po,svc,roles,clusterroles,clusterrolebindings --all-namespaces -l cnrm.cloud.google.com/system=true --wait=true
    kubectl delete validatingwebhookconfiguration abandon-on-uninstall.cnrm.cloud.google.com --ignore-not-found --wait=true
    kubectl delete validatingwebhookconfiguration validating-webhook.cnrm.cloud.google.com --ignore-not-found --wait=true
    kubectl delete mutatingwebhookconfiguration mutating-webhook.cnrm.cloud.google.com --ignore-not-found --wait=true
    
  2. Installieren Sie Config Connector mit dem GKE-Add-on oder dem Operator.

Vom Add-on zur manuellen Installation wechseln

Bei der Installation als Add-on wird die Version von Config Connector direkt mit der installierten GKE-Version verknüpft.

Die manuelle Installation ermöglicht schnellere Aktualisierungen zu den Kosten der manuellen Upgrades.

So wechseln Sie unter Beibehaltung aller Ressourcen:

  1. Deaktivieren Sie das Add-on, ohne irgendwelche ConfigConnector- oder ConfigConnectorContext-Objekte zu löschen:

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

    Ersetzen Sie dabei CLUSTER_NAME durch den Namen des Clusters, in dem Sie Config Connector installiert haben.

  2. Folgen Sie der Anleitung, um den manuellen Operator der gewünschten Version zu installieren.

Nächste Schritte