Config Sync als Standard für die gesamte Flotte installieren

Sie können Config Sync als Flottenstandard installieren, sodass für alle neuen Cluster, die Ihrer Flotte hinzugefügt werden, Config Sync automatisch mit den gewünschten Einstellungen aktiviert wird. Durch das Einrichten von Standardeinstellungen auf Flottenebene sorgen Sie dafür, dass jeder neue GKE-Cluster in Google Cloud, der in der Flotte registriert ist, eine Standardkonfiguration für Config Sync erbt, einschließlich der Version und der Verbindungen zu Ihrer Source of Truth. Dieser Prozess vereinfacht die Clusterbereitstellung und trägt dazu bei, eine einheitliche Baseline für die Konfigurationsverwaltung aufrechtzuerhalten.

Auf dieser Seite wird Folgendes erläutert:

  • So konfigurieren Sie diese Standardeinstellungen auf Flottenebene mit der Google Cloud CLI, der Google Cloud Console oder Terraform.
  • So wenden Sie Standardeinstellungen auf vorhandene Cluster an.
  • So deaktivieren Sie bei Bedarf die Standardkonfiguration der Flotte.

Allgemeine Informationen zu Standardkonfigurationen für Flotten finden Sie unter Features auf Flottenebene verwalten.

Hinweise

Bevor Sie Config Sync installieren, bereiten Sie Ihre Source of Truth und einen geeigneten Cluster vor.

Config Sync Zugriff auf Ihre „Source of Truth“ gewähren

Damit Konfigurationen aus einer „Source of Truth“ mit Ihren Clustern synchronisiert werden können, benötigt Config Sync Lesezugriff auf Ihr Repository. Führen Sie die folgenden Schritte aus, um Config Sync zu autorisieren, Ihre Konfigurationen zu lesen:

Clusteranforderungen prüfen

Bevor Sie einen Cluster erstellen, sollten Sie die Clusteranforderungen lesen.

Beschränkungen

  • Die Konfiguration von Helm als Quelltyp wird nicht als Flottenstandard unterstützt.
  • Die Google Cloud Console unterstützt keine Verbindung zu einer „Source of Truth“ als Standardeinstellung. Stattdessen müssen Sie nach dem Erstellen eines Clusters die Funktion Pakete bereitstellen verwenden.

Standardeinstellungen auf Flottenebene für ein Git-Repository konfigurieren

So konfigurieren Sie Standardeinstellungen auf Flottenebene für Config Sync:

gcloud

  1. Erstellen Sie ein Manifest mit dem Namen apply-spec.yaml und folgendem Inhalt. Wenn Sie bereits ein Manifest erstellt haben, müssen Sie kein neues erstellen.

    applySpecVersion: 1
    spec:
      configSync:
        enabled: true
        sourceType: git
        sourceFormat: unstructured
        syncRepo: REPO
        syncRev: REVISION
        secretType: SECRET_TYPE
        # only required if gcpserviceaccount is the secretType
        # gcpServiceAccountEmail: EMAIL
        metricsGcpServiceAccountEmail: METRICS_EMAIL
        preventDrift: false
    

    Ersetzen Sie Folgendes:

    • REPO: die URL Ihres Git-Repositorys, z. B. https://github.com/GoogleCloudPlatform/anthos-config-management-samples. Verwenden Sie das HTTPS-Format für die URL oder das SSH-Format, wenn ssh der sourceType ist.
    • REVISION: die Git-Revision (Tag oder Hash) oder der Name des Zweigs, von dem aus synchronisiert werden soll. Wenn Sie einen Hash verwenden, muss es sich um einen vollständigen Hash (nicht um eine abgekürzte Form) handeln.
    • SECRET_TYPE: Die Authentifizierungsmethode, die zum Herstellen einer Verbindung zu Ihrem Git-Repository verwendet wird. Verwenden Sie für öffentliche Repositories none. Verwenden Sie für private Repositories eine der folgenden Optionen:

      • ssh: Ein SSH-Schlüsselpaar verwenden.
      • cookiefile: Verwenden Sie einen cookiefile.
      • token: Ein Token verwenden.
      • gcpserviceaccount: Verwenden Sie ein Google-Dienstkonto, wenn die Workload Identity-Föderation für GKE aktiviert ist. Nur Secure Source Manager oder Cloud Source Repositories.
      • gcenode: Verwenden Sie ein Google-Dienstkonto, wenn die Workload Identity-Föderation für GKE nicht aktiviert ist. Nur Secure Source Manager oder Cloud Source Repositories.
      • githubapp: Verwenden Sie eine GitHub-App, um sich bei einem GitHub-Repository zu authentifizieren.

      Weitere Informationen zum Verbinden Ihres Git-Repositorys mit Config Sync finden Sie unter Config Sync Zugriff auf Git gewähren.

    • EMAIL: Wenn gcpserviceaccount die secretType ist, entfernen Sie die Auskommentierung dieses Felds und fügen Sie die E-Mail-Adresse des Google-Dienstkontos hinzu, z. B. config-sync@PROJECT_ID.iam.gserviceaccount.com.

    • METRICS_EMAIL: Die E-Mail-Adresse des Google Cloud-Dienstkontos (GSA), das für den Export von Config Sync-Messwerten nach Cloud Monitoring verwendet wird. Weitere Informationen zum Einrichten des Messwerteexports finden Sie unter Config Sync überwachen.

    Eine vollständige Liste der Felder, die Sie dem apply-spec-Manifest hinzufügen können, finden Sie unter gcloud apply spec fields.

  2. Wenden Sie die Datei apply-spec mit Ihren Standardflotteneinstellungen an, indem Sie den folgenden Befehl ausführen:

    gcloud beta container fleet config-management enable \
        --fleet-default-member-config=apply-spec.yaml
    

Console

  1. Rufen Sie in der Google Cloud Console die Seite Feature Manager auf.

    Zu Feature Manager

  2. Klicken Sie im Bereich Config Sync auf Konfigurieren.

  3. Einstellungen auf Flottenebene überprüfen. Alle neuen Cluster, die Sie in der Flotte erstellen, übernehmen diese Einstellungen.

  4. Optional: Klicken Sie zum Ändern der Standardeinstellungen auf Flotteneinstellungen anpassen. Führen Sie im angezeigten Dialogfeld die folgenden Schritte aus:

    1. Wählen Sie die Config Sync-Version aus, die Sie verwenden möchten.
    2. Klicken Sie auf Änderungen speichern.
  5. Klicken Sie auf Konfigurieren.

  6. Klicken Sie im Bestätigungsdialogfeld Flotteneinstellungen konfigurieren auf Bestätigen. Wenn Sie Config Sync noch nicht aktiviert haben, wird durch Klicken auf Bestätigen auch die anthosconfigmanagement.googleapis.com API aktiviert.

Sie können die Einstellungen für die „Source of Truth“ zwar nicht als Flottenstandard über die Google Cloud Console konfigurieren, aber Sie können mehrere Cluster auswählen, wenn Sie die Funktion Paket bereitstellen verwenden.

Terraform

So aktivieren Sie Config Sync als Standardeinstellung für die Flotte:

resource "google_gke_hub_feature" "default" {
  name     = "configmanagement"
  location = "global"

  fleet_default_member_config {
    configmanagement {
      config_sync {
        # The field `enabled` was introduced in Terraform version 5.41.0, and
        # needs to be set to `true` explicitly to install Config Sync.
        enabled = true
        git {
          sync_repo   = "REPO"
          sync_branch = "BRANCH"
          policy_dir  = "DIRECTORY"
          secret_type = "SECRET"
        }
      }
    }
  }
}

Ersetzen Sie Folgendes:

  • REPO ist die URL zum Git-Repository mit Ihren Konfigurationsdateien.
  • BRANCH ist der Repository-Zweig, z. B. main.
  • DIRECTORY ist der Pfad im Git-Repository, der die oberste Ebene des Repositorys darstellt, das Sie synchronisieren möchten.
  • SECRET ist der Secret-Authentifizierungstyp.

Weitere Informationen zur Verwendung von Terraform finden Sie unter Config Sync-Ressourcen mit Terraform bereitstellen.

Standardeinstellungen auf Flottenebene für ein OCI-Image konfigurieren

So konfigurieren Sie Standardeinstellungen auf Flottenebene für Config Sync:

gcloud

  1. Erstellen Sie ein Manifest mit dem Namen apply-spec.yaml und folgendem Inhalt. Wenn Sie bereits ein Manifest erstellt haben, müssen Sie kein neues erstellen.

    applySpecVersion: 1
    spec:
      configSync:
        enabled: true
        sourceType: oci
        sourceFormat: unstructured
        syncRepo: REPO
        secretType: SECRET_TYPE
        # only required if gcpserviceaccount is the secretType
        # gcpServiceAccountEmail: EMAIL
        metricsGcpServiceAccountEmail: METRICS_EMAIL
        preventDrift: false
    

    Ersetzen Sie Folgendes:

    • REPO: Die URL Ihres OCI-Images im Format LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME. Standardmäßig wird das Image aus dem Tag latest abgerufen, aber Sie können stattdessen Images von TAG oder DIGEST abrufen. Geben Sie TAG oder DIGEST im PACKAGE_NAME an:

      • Zum Abrufen von TAG: LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME:TAG
      • Zum Abrufen von DIGEST: LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME@sha256:DIGEST
    • SECRET_TYPE: Die Authentifizierungsmethode, die zum Herstellen einer Verbindung zu Ihrem OCI-Image verwendet wird. Verwenden Sie für öffentliche Bilder den Wert none. Für private Images verwenden Sie eine der folgenden Optionen:

      • gcpserviceaccount: Nur Secure Source Manager oder Cloud Source Repositories. Verwenden Sie ein Google-Dienstkonto, wenn die Workload Identity-Föderation für GKE aktiviert ist.
      • gcenode: Nur Secure Source Manager oder Cloud Source Repositories. Verwenden Sie ein Google-Dienstkonto, wenn die Workload Identity-Föderation für GKE nicht aktiviert ist.

      Weitere Informationen zum Verbinden Ihres OCI-Images mit Config Sync finden Sie unter Config Sync-Zugriff auf OCI oder Helm gewähren.

    • EMAIL: Wenn gcpserviceaccount die secretType ist, entfernen Sie die Auskommentierung dieses Felds und fügen Sie die E-Mail-Adresse des Google-Dienstkontos hinzu, z. B. config-sync@PROJECT_ID.iam.gserviceaccount.com.

    • METRICS_EMAIL: Die E-Mail-Adresse des Google Cloud-Dienstkontos (GSA), das für den Export von Config Sync-Messwerten nach Cloud Monitoring verwendet wird. Weitere Informationen zum Einrichten des Messwerteexports finden Sie unter Config Sync überwachen.

    Eine vollständige Liste der Felder, die Sie dem apply-spec-Manifest hinzufügen können, finden Sie unter gcloud apply spec fields.

  2. Wenden Sie die Datei apply-spec mit Ihren Standardflotteneinstellungen an, indem Sie den folgenden Befehl ausführen:

    gcloud beta container fleet config-management enable \
        --fleet-default-member-config=apply-spec.yaml
    

Console

  1. Rufen Sie in der Google Cloud Console die Seite Feature Manager auf.

    Zu Feature Manager

  2. Klicken Sie im Bereich Config Sync auf Konfigurieren.

  3. Einstellungen auf Flottenebene überprüfen. Alle neuen Cluster, die Sie in der Flotte erstellen, übernehmen diese Einstellungen.

  4. Optional: Klicken Sie zum Ändern der Standardeinstellungen auf Flotteneinstellungen anpassen. Führen Sie im angezeigten Dialogfeld die folgenden Schritte aus:

    1. Wählen Sie die Config Sync-Version aus, die Sie verwenden möchten.
    2. Klicken Sie auf Änderungen speichern.
  5. Klicken Sie auf Konfigurieren.

  6. Klicken Sie im Bestätigungsdialogfeld Flotteneinstellungen konfigurieren auf Bestätigen. Wenn Sie Config Sync noch nicht aktiviert haben, wird durch Klicken auf Bestätigen auch die anthosconfigmanagement.googleapis.com API aktiviert.

Sie können die Einstellungen für die „Source of Truth“ zwar nicht als Flottenstandard über die Google Cloud Console konfigurieren, aber Sie können mehrere Cluster auswählen, wenn Sie die Funktion Paket bereitstellen verwenden.

Terraform

So aktivieren Sie Config Sync als Standardeinstellung für die Flotte:

resource "google_gke_hub_feature" "configmanagement_feature_member" {
  name     = "configmanagement"
  location = "global"

  fleet_default_member_config {
    configmanagement {
      config_sync {
        # The field `enabled` was introduced in Terraform version 5.41.0, and
        # needs to be set to `true` explicitly to install Config Sync.
        enabled = true
        oci {
          sync_repo   = "REPO"
          policy_dir  = "DIRECTORY"
          secret_type = "SECRET"
        }
      }
    }
  }
}

Ersetzen Sie Folgendes:

  • REPO ist die URL zum OCI-Image-Repository mit Ihren Konfigurationsdateien.
  • DIRECTORY ist der absolute Pfad des Verzeichnisses mit den Ressourcen, die Sie synchronisieren möchten. Lassen Sie dieses Feld leer, um das Stammverzeichnis zu verwenden.
  • SECRET ist der Secret-Authentifizierungstyp.

Weitere Informationen zur Verwendung von Terraform finden Sie unter Config Sync-Ressourcen mit Terraform bereitstellen.

Vorhandene Cluster aktualisieren, damit sie Flottenstandardeinstellungen übernehmen

Wenn Sie vorhandene Cluster so aktualisieren möchten, dass die Standardeinstellungen von Config Sync verwendet werden, können Sie ausgewählte Flottencluster mit den Standardeinstellungen der Flotte über die Google Cloud Console oder die gcloud CLI synchronisieren. Alternativ können Sie jeden Cluster manuell mit denselben Einstellungen mithilfe von Terraform konfigurieren. Folgen Sie dazu der Anleitung zum Installieren von Config Sync im vorherigen Abschnitt. Wenn Sie zuvor Terraform verwendet haben, um Standardeinstellungen für Flotten anzugeben, verwenden Sie denselben configmanagement- und config_sync‑Block, mit dem Sie die Standardeinstellungen zur Konfiguration Ihrer ausgewählten Cluster festgelegt haben.

So synchronisieren Sie die Standardeinstellungen von Config Sync für Ihre gesamte Flotte:

gcloud

  1. Synchronisieren Sie eine vorhandene Mitgliedschaft mit der Standardkonfiguration der Flotte:

    gcloud beta container fleet config-management apply \
        --origin=FLEET \
        --membership=MEMBERSHIP_NAME
    

    Ersetzen Sie MEMBERSHIP_NAME durch den Namen der Flottenmitgliedschaft des Clusters, den Sie mit der Standardkonfiguration der Flotte synchronisieren möchten.

  2. Prüfen Sie, ob Ihre Mitgliedschaftskonfigurationen mit den Standardeinstellungen der Flotte synchronisiert sind:

    gcloud beta container fleet config-management status
    

    Die Ausgabe dieses Befehls sollte für die Mitgliedschaft, die Sie synchronisiert haben, Yes für den Status Synced_to_Fleet_Default anzeigen.

Console

  1. Zu Feature Manager:

    Zu Feature Manager: Config Sync

  2. Wählen Sie in der Clustertabelle die Cluster aus, die Sie mit den Flotteneinstellungen synchronisieren möchten.

  3. Klicken Sie auf Mit Flotteneinstellungen synchronisieren.

Flottenstandards deaktivieren

So deaktivieren Sie die Standardeinstellungen von Config Sync für Ihre gesamte Flotte:

  1. Führen Sie den folgenden Befehl aus, um die Standardkonfiguration der Flotte zu deaktivieren:

    gcloud beta container fleet config-management disable --fleet-default-member-config
    
  2. Prüfen Sie, ob die Standardkonfiguration der Flotte deaktiviert ist:

    gcloud beta container fleet config-management status
    

Nächste Schritte