Auf dieser Seite wird beschrieben, wie Sie Config Sync mit kubectl-Befehlen konfigurieren, nachdem Sie Config Sync mit der Google Cloud Console oder der 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 mit der Google Cloud -Konsole oder der Google Cloud CLI installieren, erstellt Config Sync automatisch ein RootSync-Objekt namens root-sync. Dieses Objekt enthält die aktuellen Konfigurationsinformationen für Config Sync. Wenn Sie eine Änderung in der Google Cloud Console oder der Google Cloud CLI vornehmen, wird root-sync aktualisiert.
kubectl-Felder bearbeiten
Sie können erweiterte Änderungen an root-sync mit kubectl-Befehlen für die Felder vornehmen, die in der Google Cloud -Konsole oder der Google Cloud CLI nicht unterstützt werden. Wenn Sie RootSync- oder RepoSync-Objekte direkt mit kubectl-Befehlen erstellen und aktualisieren möchten, lesen Sie den Abschnitt RootSync- und RepoSync-Felder.
Bevor Sie Änderungen an der YAML-Datei vornehmen, die Sie im folgenden Abschnitt erstellen, sollten Sie sich mit der folgenden Tabelle vertraut machen. 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, setzt Config Sync Änderungen automatisch auf die Werte zurück, die Sie beim letzten Konfigurieren von Config Sync in der Google Cloud -Konsole 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-Zertifikatsprü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 CA-Zertifikat für ein OCI-Repository enthält. |
Erstellen der Datei
So erstellen und bearbeiten Sie eine Konfigurationsdatei für root-sync:
Damit Sie die Konfigurationsinformationen für den richtigen Cluster abrufen, konfigurieren Sie den
kubectl-Befehlszeilenzugriff: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öchten.ZONE: 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 von Ihnen erstellte YAML-Datei und nehmen Sie die erforderlichen Konfigurationsänderungen vor. Wenn Sie beispielsweise das Speicherlimit des Containers
git-syncü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.yamlSo prüfen Sie, ob Config Sync Ihre Änderungen angewendet hat:
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