Diese Seite richtet sich an Plattformadministratoren.
Auf dieser Seite wird die Installation von Anthos Config Management erläutert.
Mit Anthos Config Management können Sie Richtlinien und Konfiguration auf Ihre Anthos-Cluster deklarativ anwenden, indem Sie Ihre neue Konfiguration automatisch aus einem zentralen Git-Repository bereitstellen. Weitere Informationen finden Sie in der Dokumentation zu Anthos Config Management.
Sie können Anthos Config Management über Management Center oder mit kubectl installieren. Sie benötigen ein Git-Repository, bevor Sie Anthos Config Management installieren.
Über Management Center installieren
Richten Sie Anthos Config Management in Ihrem Nutzercluster ein, indem Sie den Tab Config Management aufrufen und auf Einrichtung klicken. Folgen Sie dann der Anleitung auf der Seite, um die Einrichtung abzuschließen.
Sie können auch eine vorhandene Anthos Config Management-Installation aktualisieren oder upgraden. Klicken Sie auf den Link in der Spalte Version, um die vorhandene Konfiguration zu ändern.
Mit kubectl installieren
Die Installation von Anthos Config Management mit kubectl
erfolgt in zwei Schritten.
Richten Sie zuerst SSH-Schlüssel für Config Sync ein, um sich bei Ihrem Git-Repository zu authentifizieren. Anschließend installieren Sie die Anthos Config Management-Ressourcen ConfigManagementFeatureSpec
und ConfigManagementBinding
im Cluster.
Sie können auch kubectl
verwenden, um eine vorhandene Anthos Config Management-Installation zu aktualisieren oder zu upgraden.
SSH-Schlüssel einrichten
Ein SSH-Schlüsselpaar besteht aus zwei Dateien, einem öffentlichen und einem privaten Schlüssel. Der öffentliche Schlüssel hat in der Regel die Erweiterung .pub
.
Erstellen Sie ein SSH-Schlüsselpaar, damit sich Config Sync bei Ihrem Git-Repository authentifizieren kann. Sie können ein einziges Schlüsselpaar für alle Cluster oder ein Schlüsselpaar pro Cluster verwenden, je nach Ihren Sicherheits- und Complianceanforderungen.
Mit dem folgenden Befehl wird ein 4.096-Bit-RSA-Schlüssel erstellt. Niedrigere Werte werden nicht empfohlen:
ssh-keygen -t rsa -b 4096 \ -C GIT_REPOSITORY_USERNAME \ -N '' \ -f /path/to/KEYPAIR_FILENAME
Ersetzen Sie Folgendes:
GIT_REPOSITORY_USERNAME
: Nutzername, mit dem sich Config Sync beim Repository authentifizieren soll./path/to/KEYPAIR_FILENAME
: ein Pfad, an den das Schlüsselpaar ausgegeben werden soll.
Konfigurieren Sie Ihr Repository so, dass der neu erstellte öffentliche Schlüssel erkannt wird. Weitere Informationen finden Sie in der Dokumentation Ihres Git-Hostanbieters.
Fügen Sie den privaten Schlüssel zu einem neuen Secret-Objekt im Nutzercluster hinzu:
kubectl create ns config-management-system --kubeconfig=USER_CLUSTER_KUBECONFIG && \ kubectl create secret generic git-creds --kubeconfig=USER_CLUSTER_KUBECONFIG \ --namespace=config-management-system \ --from-file=ssh=/path/to/KEYPAIR_PRIVATE_KEY_FILENAME
Ersetzen Sie Folgendes:
USER_CLUSTER_KUBECONFIG
: Die Konfigurationsdatei für den Nutzercluster. Diese finden Sie in Management Center./path/to/KEYPAIR_PRIVATE_KEY_FILENAME
: Der Name des privaten Schlüssels (die Datei ohne das Suffix.pub
).
Löschen Sie den privaten Schlüssel vom lokalen Datenträger oder schützen Sie ihn anderweitig.
ConfigManagementFeatureSpec
und ConfigManagementBinding
konfigurieren
Erstellen Sie als Nächstes eine ConfigManagementFeatureSpec
-Ressource in Ihrem Cluster:
kubectl apply -f CONFIG_MANAGEMENT_YAML --kubeconfig=ADMIN_OIDC_KUBECONFIG
Ersetzen Sie Folgendes:
- ADMIN_OIDC_KUBECONFIG: OIDC-Anmeldedaten für den Administratorcluster. Eine Anleitung dazu finden Sie unter Mit OIDC beim Kubernetes API-Server des Administratorclusters anmelden.
- CONFIG_MANAGEMENT_YAML: Der Pfad zur Konfigurationsdatei für die Ressource
ConfigManagementFeatureSpec
. Sehen Sie sich folgendes Beispiel an:
apiVersion: managementcenter.anthos.cloud.google.com/v1
kind: ConfigManagementFeatureSpec
metadata:
name: config-management-spec-sample
namespace: anthos-management-center
spec:
version: "1.8.2"
git:
syncRepo: "git@GIT_HOST_ADDRESS:REPO_NAME.git"
policyDir: "."
secretType: "ssh"
syncBranch: "master"
syncRev: "HEAD"
syncWait: 15
policyController:
enabled: true
---
apiVersion: managementcenter.anthos.cloud.google.com/v1
kind: ConfigManagementBinding
metadata:
name: config-management-binding-sample
namespace: anthos-management-center
spec:
configs:
- configRef:
name: config-management-spec-sample
namespace: anthos-management-center
placement:
clusterIDs:
- "CLUSTER-NAME"
Ersetzen Sie Folgendes:
GIT_HOST_ADDRESS
: Hostadresse des Git-Repositorys.REPO_NAME
: Der Name des Git-Repositorys.CLUSTER-NAME
: Der Name des Clusters.
Updaten und upgraden
Sie können Anthos Config Management durch Ändern der entsprechenden ConfigManagementFeatureSpec
aktualisieren oder upgraden.
Wenn Sie beispielsweise das Feature Unstrukturiertes Repository aktivieren möchten, aktualisieren Sie ConfigManagementFeatureSpec
:
apiVersion: managementcenter.anthos.cloud.google.com/v1
kind: ConfigManagementFeatureSpec
metadata:
name: config-management-spec-sample
namespace: anthos-management-center
spec:
version: "1.8.2"
sourceFormat: "unstructured"
git:
syncRepo: "git@<YOUR_GIT_HOST_ADDRESS>:<YOUR_UNSTRUCTURED_REPO>.git"
policyDir: "."
secretType: "ssh"
syncBranch: "master"
syncRev: "HEAD"
syncWait: 15
policyController:
enabled: true
Status von Anthos Config Management ansehen
Sie können den Anthos Config Management-Status anzeigen, indem Sie die Ressource ConfigManagementBinding
abfragen.
kubectl get ConfigManagementBinding -o \
jsonpath="{range .items[*].status.bindingItemStatuses[*]}{'\n'}{['clusterID', 'configRef', 'conditions']}" \
--namespace=anthos-management-center \
--kubeconfig=ADMIN_OIDC_KUBECONFIG \
| grep CLUSTER-NAME
Ersetzen Sie Folgendes:
ADMIN_OIDC_KUBECONFIG
: OIDC-Anmeldedaten für den Administratorcluster. Eine Anleitung dazu finden Sie unter Mit OIDC beim Kubernetes API-Server des Administratorclusters anmelden.CLUSTER-NAME
: Der Name des Clusters.
Hier sehen Sie eine Beispielausgabe mit Anthos Config Management im fehlerfreien Status:
target-user-cluster-1 {"name":"new-spec-f75y8","namespace":"anthos-management-center"} [{"lastTransitionTime":"2021-05-27T18:06:27Z","message":"","observedGeneration":1,"reason":"Healthy","status":"True","type":"Ready"}]
Weitere Informationen
- Weitere Informationen zu Anthos Config Management