Config Sync als Flottenstandard installieren

Sie können Config Sync als Standardeinstellung für die Flotte installieren, sodass Config Sync für alle neuen Cluster, die Ihrer Flotte hinzugefügt werden, automatisch mit den gewünschten Einstellungen aktiviert wird. Wenn Sie Standardeinstellungen auf Flottenebene einrichten, wird sichergestellt, dass jeder neue GKE-Cluster in Google Cloud, der in der Flotte registriert wird, eine Standardkonfiguration von 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 beizubehalten.

Auf dieser Seite wird Folgendes erläutert:

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

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

Hinweis

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

Um die Konfiguration aus einer „Source of Truth“ mit Ihren Clustern zu synchronisieren, benötigt Config Sync Lesezugriff auf Ihr Repository. So autorisieren Sie Config Sync, Ihre Konfigurationen zu lesen:

Clusteranforderungen prüfen

Prüfen Sie vor dem Erstellen eines Clusters die Clusteranforderungen.

Beschränkungen

  • Das Konfigurieren von Helm als Quelltyp wird als Standardeinstellung für die Flotte nicht 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 Quelltyp ist.
    • REVISION: die Git-Revision (Tag oder Hash) oder der Zweigname, von dem aus synchronisiert werden soll. Bei Verwendung eines Hash muss es sich um einen vollständigen Hash und 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: Verwenden Sie ein SSH-Schlüsselpaar.
      • cookiefile: Verwenden Sie eine cookiefile.
      • token: Verwenden Sie ein Token.
      • 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 der secretType ist, heben Sie die Auskommentierung dieses Felds auf 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 zu 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 Manifest apply-spec hinzufügen können, finden Sie unter gcloud apply spec fields.

  2. Wenden Sie die Datei apply-spec mit Ihren Standardeinstellungen für die Flotte 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 API anthosconfigmanagement.googleapis.com aktiviert.

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

Terraform

Informationen zum Aktivieren von Config Sync als Standardeinstellung für die Flotte finden Sie im folgenden Beispiel:

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: die URL zum Git-Repository mit Ihren Konfigurationsdateien.
  • BRANCH: 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: 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 in 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 Images none als Wert. Verwenden Sie für private Images 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, siehe Config Sync Zugriff auf OCI oder Helm gewähren.

    • EMAIL: Wenn gcpserviceaccount der secretType ist, heben Sie die Auskommentierung dieses Felds auf 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 zu 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 Manifest apply-spec hinzufügen können, finden Sie unter gcloud apply spec fields.

  2. Wenden Sie die Datei apply-spec mit Ihren Standardeinstellungen für die Flotte 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 API anthosconfigmanagement.googleapis.com aktiviert.

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

Terraform

Informationen zum Aktivieren von Config Sync als Standardeinstellung für die Flotte finden Sie im folgenden Beispiel:

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: die URL zum OCI-Image-Repository mit Ihren Konfigurationsdateien.
  • DIRECTORY: der absolute Pfad des Verzeichnisses mit den Ressourcen, die Sie synchronisieren möchten. Lassen Sie das Feld leer, wenn Sie das Stammverzeichnis verwenden möchten.
  • SECRET: der Secret-Authentifizierungstyp.

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

Vorhandene Cluster aktualisieren, um Standardeinstellungen für die Flotte zu übernehmen

Wenn Sie vorhandene Cluster so aktualisieren möchten, dass die Standardeinstellungen von Config Sync verwendet werden, können Sie ausgewählte Flotten cluster 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 unter Config Sync installieren 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, für den Status Synced_to_Fleet_Default Yes 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.

Standardeinstellungen für die Flotte 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