Erste Schritte mit Config Sync
In dieser Anleitung erstellen Sie einen GKE-Cluster (Google Kubernetes Engine) und verwenden Config Sync für die Synchronisierung mit Konfigurationen im Multi-Repository-Beispiel-Repository für Anthos Config Management.
Stellen Sie sich vor, Ihr Compliance-Team ist dafür verantwortlich, dass alle Mitarbeiter Ihrer Organisation die internen Regeln befolgen. Zur Durchsetzung dieser Regeln hat das Compliance-Team Konfigurationen erstellt, die dem Beispiel-Repository hinzugefügt wurden. Jeder Cluster in Ihrer Organisation muss mit dem Repository synchronisiert werden. Sie sind dafür verantwortlich, Cluster zu erstellen und zu synchronisieren.
Hinweis
-
Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.
Umgebung vorbereiten
In den folgenden Abschnitten erstellen und konfigurieren Sie einen Cluster, den Sie mit Config Sync verwenden können.
Cluster erstellen
Führen Sie die folgenden Schritte aus, um einen Cluster zu erstellen, den Sie mit Config Sync verwenden können:
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.
Wenn Sie GKE zum ersten Mal verwenden, klicken Sie auf Aktivieren, um die Kubernetes Engine API zu aktivieren.
Klicken Sie auf add_box Erstellen.
Klicken Sie unter Standard auf Konfigurieren.
Fügen Sie im Abschnitt Clustergrundlagen
cs-cluster
in das Feld Name ein und übernehmen Sie für alle anderen Felder die empfohlenen Standardwerte.Wählen Sie im Menü links unter Cluster die Option Sicherheit aus.
Klicken Sie auf der Seite Sicherheit das Kästchen Workload Identity aktivieren an und behalten Sie bei allen anderen Feldern die Standardwerte bei.
Klicken Sie auf Erstellen. Es kann einige Minuten dauern, bis der Cluster erstellt ist.
Eigene Administratorberechtigungen erteilen
Gewähren Sie sich selbst nach dem Erstellen des Clusters die Rolle GKE-Hub-Administrator.
Öffnen Sie in der Google Cloud Console die Seite IAM.
Klicken Sie auf Add (Hinzufügen).
Geben Sie in das Feld Neue Hauptkonten die E-Mail-Adresse ein, mit der Sie sich bei Google Cloud registriert haben.
Suchen Sie in der Drop-down-Liste Rolle auswählen nach GKE Hub-Administrator und wählen Sie ihn aus.
Klicken Sie auf Speichern.
Anthos Config Management aktivieren
Um Anthos Config Management zu aktivieren, führen Sie die folgenden Schritte aus:
Rufen Sie in der Google Cloud Console die Seite Config Management auf.
Klicken Sie auf Config Management einrichten.
Klicken Sie auf Weiter, um die Config Management API zu aktivieren. Nachdem Sie auf Weiter geklickt haben, werden Sie zur Seite Registrierte Cluster für Config Management auswählen weitergeleitet, auf der Sie Ihren Cluster registrieren können.
Cluster registrieren
Nachdem der Cluster erstellt wurde, registrieren Sie ihn in einer Flotte:
- Suchen Sie auf der Seite Registrierte Cluster für Config Management auswählen die Tabelle Nicht registrierte Cluster aus diesem Projekt und darin
cs-cluster
. Klicken Sie neben
cs-cluster
auf Registrieren.Nach der erfolgreichen Registrierung des Clusters wird er in der Tabelle Registrierte Cluster für Config Management auswählen angezeigt.
Cluster konfigurieren
Nachdem Sie einen Cluster erstellt haben, können Sie Config Sync für die Synchronisierung mit den Konfigurationen im Verzeichnis config-sync-quickstart
des Beispiel-Repositorys von Anthos Config Management konfigurieren.
Führen Sie die folgenden Schritte aus, um Config Sync in der Google Cloud Console zu konfigurieren:
- Wählen Sie in der Tabelle Registrierte Cluster für Config Management auswählen die Option
cs-cluster
aus und klicken Sie auf Weiter. - Lassen Sie das Kästchen Config Sync aktivieren angeklickt.
- Fügen Sie im Feld URL
https://github.com/GoogleCloudPlatform/anthos-config-management-samples
hinzu. - Wählen Sie in der Drop-down-Liste Authentifizierungstyp die Option Keine aus.
- Fügen Sie im Feld Branch
main
hinzu. - Lassen Sie das Feld Tag/Commit leer, da wir den Standardwert
HEAD
verwenden. - Fügen Sie im Feld Konfigurationsverzeichnis
config-sync-quickstart/multirepo/root
hinzu. - Lassen Sie Synchronisierungswartezeit und Git-Proxy leer, da wir dafür die Standardwerte von 15 Sekunden bzw.
HTTPS
verwenden. - Wählen Sie in der Drop-down-Liste Quellformat die Option unstrukturiert aus. Wir empfehlen die Verwendung des unstrukturierten Formats, da Sie damit Ihre Konfigurationen so verwalten können, wie es für Sie am besten ist.
- Klicken Sie auf Next (Weiter).
Entfernen Sie das Häkchen aus dem Kästchen Policy Controller aktivieren und klicken Sie auf Abgeschlossen.
Sie werden zum Config Management-Menü zurückgeleitet. Nach einigen Minuten sollte in der Spalte Config Sync-Status neben
cs-cluster
der Wert Synchronisiert angezeigt werden.
Nachdem Config Sync mit einem Repository synchronisiert wurde, gleicht es den Status Ihrer Cluster kontinuierlich mit den Konfigurationen im Repository ab.
Config Sync-Installation untersuchen und testen
In den folgenden Abschnitten untersuchen Sie mit Cloud Shell Ihre Installation von Config Sync und versuchen dann, ein verwaltetes Objekt zu ändern.
Cloud Shell öffnen
Führen Sie die folgenden Befehle aus, um Cloud Shell zu starten:
Rufen Sie die Google Cloud Console auf.
Klicken Sie in der oberen rechten Ecke der Console auf die Schaltfläche Cloud Shell aktivieren:
In einem Frame im unteren Teil der Console wird eine Cloud Shell-Sitzung geöffnet. Verwenden Sie diese Shell zum Ausführen der Befehle
gcloud
,nomos
undkubectl
.Um die Befehle in den folgenden Abschnitten verwenden zu können, konfigurieren Sie den Zugriff auf die
kubectl
-Befehlszeile mit dem folgenden Befehl:gcloud container clusters get-credentials cs-cluster \ --zone ZONE \ --project PROJECT_ID
Dabei gilt:
ZONE
: Zone, in der Sie den Cluster erstellt habenPROJECT_ID
: Ihre Projekt-ID
Erwartete Ausgabe:
Fetching cluster endpoint and auth data. kubeconfig entry generated for cs-cluster.
Cluster und Repository untersuchen
Das Verzeichnis config-sync-quickstart
enthält ClusterRole, CustomResourceDefinition, Konfigurationen für den Prometheus-Operator für Monitoring, Rolebinding, Namespace und RepoSync.
Diese Konfigurationen werden angewendet, sobald Config Sync für den Lesezugriff auf das Repository konfiguriert wurde.
Für alle von Config Sync verwalteten Objekte ist das Label app.kubernetes.io/managed-by
auf configmanagement.gke.io
gesetzt.
Führen Sie den folgenden Befehl aus, um von Config Sync verwaltete Namespaces aufzulisten:
kubectl get ns -l app.kubernetes.io/managed-by=configmanagement.gke.io
Erwartete Ausgabe:
NAME STATUS AGE
gamestore Active 58s
monitoring Active 58s
Sie können zum Ordner /config-sync-quickstart/multirepo/ des Anthos Config Management-Repositorys in GitHub gehen, um sich mit den Konfigurationen vertraut zu machen, die die Erstellung dieser Namespaces verursacht haben.
Sie können andere Objekte wie ClusterRole, Reposyncs, CRDs und Rolebindings auf dieselbe Weise prüfen.
Versuchen, ein verwaltetes Objekt manuell zu ändern
Config Sync verhindert die Mutation verwalteter Objekte über den Zulassungs-Webhook.
Wenn Sie versuchen, eine in Konflikt stehende Änderung vorzunehmen, indem Sie ein von Config Sync verwaltetes Kubernetes-Objekt manuell ändern, erhalten Sie eine Fehlermeldung.
Um dieses Verhalten zu testen, versuchen Sie, den Namespace gamestore
zu löschen:
kubectl delete namespace gamestore
Erwartete Ausgabe:
error: admission webhook "v1.admission-webhook.configsync.gke.io" denied the request: requester is not authorized to delete managed resources
Bereinigen
Wenn Sie der Anleitung unter Konfigurationen schreiben für Config Sync folgen möchten, bereinigen Sie dies noch nicht. Diese Kurzanleitung ist eine Voraussetzung für dieses Thema, das auch Anleitungen zum Bereinigen enthält.
Wenn Sie diese Anleitung nicht ausführen möchten, können Sie den Cluster, den Sie für diese Anleitung verwendet haben, zur Bereinigung löschen:
Rufen Sie in der Google Cloud Console das GKE-Menü auf.
Klicken Sie neben
cs-cluster
auf more_vert Aktionen und dann auf delete Löschen.Wenn Sie zur Bestätigung des Vorgangs aufgefordert werden, klicken Sie noch einmal auf Löschen.
Nächste Schritte
- Anleitung zum Schreiben, Testen und Synchronisieren von Konfigurationen durcharbeiten
- Konfigurationen
- Konfigurationen validieren