Auf dieser Seite wird beschrieben, wie Sie Config Sync mit kubectl Befehlen
konfigurieren,
nachdem Sie Config Sync über die Google Cloud Console oder die Google Cloud CLI installiert haben.
Sie können zwar viele Konfigurationsänderungen mit der Console oder der Befehlszeile vornehmen, aber Sie
müssen kubectl Befehle verwenden, um
gewisse Config Sync-Standardeinstellungen zu überschreiben, um die SSL-Zertifikatsüberprüfung zu steuern und eine Zertifizierungsstelle zu verwenden.
RootSync-Konfigurationsdatei erstellen und bearbeiten
Wenn Sie Config Sync mit kubectl Befehlen konfigurieren möchten, bearbeiten Sie ein
RootSync-Objekt, indem Sie
eine YAML-Datei erstellen.
Wenn Sie Config Sync über die Google Cloud Console oder
die Google Cloud CLI installieren, erstellt Config Sync automatisch ein RootSync-Objekt namens
root-sync. Dieses Objekt enthält die neuesten Konfigurationsinformationen für Config Sync. Jedes Mal, wenn Sie eine Änderung in der Google Cloud Console oder
Google Cloud CLI vornehmen, wird root-sync aktualisiert.
Felder, die Sie mit kubectl bearbeiten können
Sie können erweiterte Änderungen an root-sync mit kubectl Befehlen für die
Felder vornehmen, die in der Google Cloud Console oder der Google Cloud CLI nicht unterstützt werden. Wenn Sie RootSync- oder RepoSync-Objekte direkt mit
Befehlen erstellen und aktualisieren möchten, finden Sie weitere Informationen unter
RootSync- und RepoSync-Felder.kubectl
Bevor Sie Änderungen an der YAML-Datei vornehmen, die Sie im folgenden Abschnitt erstellen, machen Sie sich mit der folgenden Tabelle vertraut. In dieser Tabelle sind die Felder aufgeführt, die Sie bearbeiten und hinzufügen können. Wenn Sie Felder bearbeiten, die nicht in dieser Tabelle aufgeführt sind, werden die Änderungen von Config Sync automatisch auf die Werte zurückgesetzt, die Sie beim letzten Konfigurieren von Config Sync in der Google Cloud Console oder der Google Cloud CLI festgelegt haben.
| Schlüssel | Beschreibung |
|---|---|
spec.helm |
Alle Felder für die Helm-Repository-Konfiguration. |
spec.override |
Alle Felder zum Überschreiben von Standardkonfigurationen. |
spec.git.noSSLVerify |
Gibt an, ob die SSL-Zertifikatsüberprüfung für Git aktiviert oder deaktiviert werden soll. Der Standardwert ist false.
|
spec.git.caCertSecretRef.name |
Der Name des Secrets, das das Zertifikat der Zertifizierungsstelle für ein Git-Repository enthält. |
spec.oci.caCertSecretRef.name |
Der Name des Secrets, das das Zertifikat der Zertifizierungsstelle für ein OCI-Repository enthält. |
Erstellen der Datei
So erstellen und bearbeiten Sie eine Konfigurationsdatei für root-sync:
Konfigurieren Sie den
kubectl-Befehlszeilenzugriff, um sicherzustellen, dass Sie die Konfigurationsinformationen für den richtigen Cluster abrufen:gcloud container clusters get-credentials CLUSTER_NAME \ --zone ZONE \ --project PROJECT_IDErsetzen Sie dabei Folgendes:
CLUSTER_NAME: der Name des Clusters mit der Config Sync-Konfiguration, die Sie ändern möchtenZONE: Zone, in der Sie den Cluster erstellt habenPROJECT_ID: Ihre Projekt-ID.
Kopieren Sie die Konfigurationsinformationen aus dem RootSync-Objekt, das von Config Sync erstellt wurde, in eine YAML-Datei:
kubectl get rootsync root-sync -n config-management-system -o yaml > FILE_NAME.yamlErsetzen Sie
FILE_NAMEmit einem Namen für die Konfigurationsdatei.Öffnen Sie die erstellte YAML-Datei und nehmen Sie die erforderlichen Konfigurationsänderungen vor. Wenn Sie beispielsweise das Arbeitsspeicherlimit des
git-sync-Containers überschreiben möchten, fügen Sie die folgenden fett formatierten Felder hinzu:apiVersion: v1 items: - apiVersion: configsync.gke.io/v1beta1 kind: RootSync metadata: annotations: configmanagement.gke.io/managed-by-hub: "true" configmanagement.gke.io/update-time: "1644945169" creationTimestamp: "2022-02-15T17:12:52Z" generation: 1 name: root-sync namespace: config-management-system resourceVersion: "211980457" uid: aa30a94b-2825-4590-ad30-5af848403502 spec: git: auth: none branch: main dir: /quickstart/config-sync period: 15s repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples revision: HEAD secretRef: {} override: resources: - containerName: "git-sync" memoryLimit: "400Mi" sourceFormat: unstructured # Remainder of RootSync omittedWenden Sie die Änderungen auf die YAML-Datei an:
kubectl apply -f FILE_NAME.yamlPrüfen Sie, ob Config Sync Ihre Änderungen angewendet hat, indem Sie das RootSync-Objekt ansehen:
kubectl describe rootsync root-sync -n config-management-systemPrüfen Sie mit dem Befehl
nomos status, ob Ihre Änderungen Fehler eingeführt haben:nomos status
Zertifizierungsstelle konfigurieren
Bei Servern, die mit Zertifikaten einer Zertifizierungsstelle (CA, Certificate Authority) konfiguriert sind, die noch nicht als vertrauenswürdig eingestuft wurde, kann Config Sync so konfiguriert werden, dass HTTPS-Verbindungen zum Server mit einem Zertifikat der Zertifizierungsstelle überprüft werden. Dies wird für Git-, Helm- und OCI-Server unterstützt. Das CA-Zertifikat muss vollständige SSL-Zertifikate (Stamm/Intermediate/Leaf) enthalten.
Wenn Ihr Server bereits eine vertrauenswürdige Zertifizierungsstelle verwendet oder Sie keine Verbindung über HTTPS herstellen, können Sie diesen Schritt überspringen und caCertSecretRef festlegen weglassen.
RootSync
Rufen Sie das CA-Zertifikat ab, mit dem das Zertifikat für Ihren Git-Server ausgestellt wurde, und speichern Sie es in einer Datei.
Bei
RootSync-Objekten muss das Secret im Namespaceconfig-management-systemerstellt werden. Beispiel:kubectl create secret generic ROOT_CA_CERT_SECRET_NAME
--namespace=config-management-system
--from-file=cert=/path/to/CA_CERT_FILELegen Sie beim Konfigurieren des
RootSync-Objekts den Wert descaCertSecretRef.name-Felds imRootSync-Objekt auf ROOT_CA_CERT_SECRET_NAME fest.
RepoSync
Rufen Sie das CA-Zertifikat ab, mit dem das Zertifikat für Ihren Git-Server ausgestellt wurde, und speichern Sie es in einer Datei.
Bei
RepoSync-Objekten muss das Secret im selben Namespace wie RepoSync erstellt werden. Beispiel:kubectl create secret generic NAMESPACE_CA_CERT_SECRET_NAME
--namespace=REPO_SYNC_NAMESPACE
--from-file=cert=/path/to/CA_CERT_FILEWenn Sie
RepoSynckonfigurieren, setzen Sie den Wert descaCertSecretRef.name-Felds imRepoSync-Objekt auf NAMESPACE_CA_CERT_SECRET_NAME.
RootSync-Objekt entfernen
Führen Sie den folgenden Befehl aus, um root-sync zu löschen:
kubectl delete -f FILE_NAME
Ersetzen Sie FILE_NAME durch den Namen Ihrer RootSync-Konfigurationsdatei. Beispiel: root-sync.yaml.
Durch das Löschen eines RootSync- oder RepoSync-Objekts werden die Annotationen und Labels von Config Sync nicht bereinigt. Wenn Sie verwaltete Ressourcen bereinigen möchten, synchronisieren Sie sie aus einem leeren Git-Verzeichnis.
Nächste Schritte
- Weitere Informationen zu den RootSync- und RepoSync-Feldern.
- Monitoring von RootSync- und RepoSync-Objekten