Config Connector installieren

Config Connector ist ein Kubernetes-Add-On, mit dem Sie Ihre Google Cloud-Ressourcen über die Kubernetes-Konfiguration verwalten können. Mit Anthos Config Management können Anthos-Nutzer Config Connector automatisch installieren und deinstallieren.

Hinweis

  • Sie müssen eine Anthos-Berechtigung haben, um Config Connector mithilfe von Anthos Config Management installieren zu können. Wenn Sie keine Anthos-Berechtigung haben, müssen Sie eine der alternativen Installationsmethoden für Config Connector verwenden, anstatt der Anleitung in diesem Thema zu folgen.

  • Sie müssen Anthos Config Management auf Version 1.1.0 oder höher aktualisieren, bevor Sie dieser Anleitung folgen.

  • Sie müssen einen Cluster haben, in dem Config Connector nicht installiert ist.

Config Connector mit Anthos Config Management installieren

Um Config Connector mit Anthos Config Management zu installieren, müssen Sie Anthos Config Management so konfigurieren, dass Config Connector auf einem Ihrer Cluster installiert wird, und konfigurieren dann das Dienstkonto cnrm-system.

Anthos Config Management konfigurieren

  1. Legen Sie den Wert von spec.configConnector.enabled in der Anthos Config Management-Konfigurationsdatei auf true fest:

    # config-management.yaml
    
    apiVersion: configmanagement.gke.io/v1
    kind: ConfigManagement
    metadata:
      name: config-management
    spec:
      # Set to true to install and enable Config Connector
      configConnector:
        enabled: true
    
      # ...other fields...
      ```
    
  2. Wenden Sie die Konfiguration mit kubectl apply an.

    kubectl apply -f config-management.yaml
    

Der Pod wird erstellt, aber erst ausgeführt, wenn Sie das Dienstkonto cnrm-system konfigurieren, um die Google Cloud-Ressourcen in Ihrem Projekt zu verwalten.

Durch das Anwenden der Konfiguration wird auch der Namespace cnrm-system erstellt, den Sie dann annotieren können.

cnrm-system-Dienstkonto konfigurieren

Damit Anthos Config Management Google Cloud-Ressourcen erstellen kann, muss sich Config Connector mit einem Identity and Access Management-Dienstkonto authentifizieren.

  1. Erstellen Sie das Dienstkonto cnrm-system:

    gcloud iam service-accounts create cnrm-system --project [PROJECT_ID]
    
  2. Das Dienstkonto ist mit einer automatisch generierten E-Mail-Adresse verknüpft. Rufen Sie diese E-Mail-Adresse mit dem folgenden Befehl ab:

    gcloud iam service-accounts list | grep cnrm-system
    

    Setzen Sie diesen Wert dort ein, wo Sie in den folgenden Befehlen [SERVICE_ACCOUNT_EMAIL] sehen.

  3. Gewähren Sie die cnrm-system-Dienstkontorollen und -berechtigungen, die zum Konfigurieren der benötigten Google Cloud-Ressourcen erforderlich sind. In diesem Beispiel wird die Rolle roles/owner gewährt:

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
     --member "serviceAccount:[SERVICE_ACCOUNT_EMAIL]" \
     --role "roles/owner"
    
  4. Erstellen Sie einen Schlüssel für das Dienstkonto, der lokal als key.json gespeichert wird:

    gcloud iam service-accounts keys create \
     --iam-account "[SERVICE_ACCOUNT_EMAIL]" \
     ./key.json
    
  5. Fügen Sie den Schlüssel in den Namespace cnrm-system im Cluster ein:

    kubectl create secret generic gcp-key \
     --from-file ./key.json \
     --namespace cnrm-system
    
  6. Entfernen Sie die lokale Kopie des Schlüssels, da dieser sensible Daten enthält:

    rm ./key.json
    

Config Connector kann jetzt Google Cloud-Ressourcen verwalten, indem in Ihrem Repository gespeicherte Konfigurationen mit Clustern synchronisiert werden, die in Anthos Config Management registriert sind.

Speicherort für Ressourcen angeben

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

Sie können Ressourcen in einem Projekt, Ordner oder einer Organisation erstellen. Das ist die gleiche Methode, wie Sie Ressourcen mit Google Cloud organisieren würden.

Projekt

Zum Erstellen von Ressourcen in einem bestimmten Projekt führen Sie den unten aufgeführten Befehl aus. Ersetzen Sie dabei [NAMESPACE_NAME] durch den Namespace-Namen und [PROJECT_ID] durch die Google Cloud-Projekt-ID:

kubectl annotate namespace \
[NAMESPACE_NAME] cnrm.cloud.google.com/project-id=[PROJECT_ID]

Ordner

Mit dem unten aufgeführten Befehl können Sie Ressourcen in einem bestimmten Ordner erstellen. Ersetzen Sie dabei [NAMESPACE_NAME] durch Ihren Namespace-Namen und [FOLDER_ID] durch Ihre Google Cloud-Ordner-ID:

kubectl annotate namespace \
[NAMESPACE_NAME] cnrm.cloud.google.com/folder-id=[FOLDER_ID]

Organisation

Zum Erstellen von Ressourcen in einer bestimmten Organisation führen Sie den unten aufgeführten Befehl aus. Ersetzen Sie dabei [NAMESPACE_NAME] durch den Namespace-Namen und [ORGANIZATION_ID] durch die Google Cloud-Organisations-ID:

kubectl annotate namespace \
[NAMESPACE_NAME] cnrm.cloud.google.com/organization-id=[ORGANIZATION_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 überprüfen

Wenn Config Connector korrekt installiert ist, sind dessen Pod und CRD im Cluster vorhanden.

  1. Überprüfen Sie, dass der Config Connector Pod ausgeführt wird:

    kubectl wait -n cnrm-system \
     --for=condition=Initialized pod \
     cnrm-controller-manager-0
    

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

    pod/cnrm-controller-manager-0 condition met

  2. Überprüfen Sie, dass CRDs für jeden unterstützten Google Cloud-Ressourcentyp im Cluster installiert sind:

    kubectl get crds | grep cnrm.cloud.google.com
    

    Wenn Config Connector korrekt installiert ist, listet der Befehl Ressourcen auf, die auf .cnrm.cloud.google.com enden, z. B. bigquerydatasets.bigquery.cnrm.cloud.google.com.

Config Connector deinstallieren

Um Config Connector zu deaktivieren und zu deinstallieren, bearbeiten Sie die Konfigurationsdatei für Anthos Config Management und setzen den Wert von spec.configConnector.enabled auf "false".

Der Config Connector Pod wird gestoppt und entfernt und die CRDs für jeden Google Cloud-Ressourcentyp werden entfernt. Bestehende Google Cloud-Ressourcen werden nicht geändert.

Nächste Schritte