Felder zur Anwendung der Spezifikation mit gcloud

Auf dieser Seite werden die verschiedenen Felder erläutert, die Sie in der Konfigurationsdatei für Config Sync festlegen können. Sie verwenden diese Datei, wenn Sie Config Sync-Komponenten mit der Google Cloud CLI konfigurieren. Für den gcloud CLI-Befehl, mit dem Sie die Konfigurationsdatei anwenden, gibt es auch eine Referenzdokumentation.

Mit diesen Befehlen kann auch Policy Controller konfiguriert werden. Es wird jedoch empfohlen, stattdessen die Policy Controller gcloud-Befehle zu verwenden.

Das mit der gcloud CLI verwendete Dateiformat ähnelt dem Format des ConfigManagement-Objekts. Die Formate sind jedoch unterschiedlich und die beiden sind nicht austauschbar.

Konfiguration für Config Sync

Schlüssel Beschreibung
spec.upgrades (Vorschau) Die Upgradeeinstellung für Config Sync. Wenn die Richtlinie auf auto gesetzt ist, wird die Config Sync-Version automatisch aktualisiert. Informationen zur Funktionsweise automatischer Upgrades finden Sie unter Config Sync upgraden. Legen Sie manual fest, um die Config Sync-Version manuell zu aktualisieren. Der Standardwert ist manual. Dieses Flag wird nur für GKE-Cluster in Google Cloud unterstützt.
spec.configSync.enabled Wenn true, wird Config Sync aktiviert. Wenn false, wird Config Sync deaktiviert. Erforderlich für die gcloud CLI bis 429.0.0. Optional ab gcloud CLI-Version 430.0.0. Standardwert: true
spec.configSync.sourceType Der Typ der Quelle, von der Config Sync synchronisiert werden soll. Akzeptiert git oder oci. Standardeinstellung: git.
spec.configSync.syncRepo Die URL des Git-Repositorys, des OCI-Images oder des Helm-Diagramms, das als „Source of Truth“ verwendet werden soll. Sie können dieses Feld weglassen, wenn Sie kein Git-Repository vorbereitet haben.
spec.configSync.syncBranch Der Zweig des Git-Repositorys, von dem aus synchronisiert werden soll. Dieses Feld wird ignoriert, wenn .spec.configSync.sourceType auf oci gesetzt ist. Dieses Feld ist optional und der Standardwert ist master. Ab Config Sync Version 1.17.0 wird der Einfachheit halber empfohlen, das Feld spec.configSync.syncRev zu verwenden, um einen Zweignamen anzugeben. Wenn sowohl das Feld spec.configSync.syncRev als auch das Feld spec.configSync.syncBranch angegeben sind, hat spec.configSync.syncRev Vorrang vor spec.configSync.syncBranch.
spec.configSync.policyDir Der Pfad im Git-Repository oder OCI-Image zum Stammverzeichnis, das die Konfiguration enthält, die Sie synchronisieren möchten. Standard: Stammverzeichnis des Repositorys
spec.configSync.syncWait Zeitraum in Sekunden zwischen aufeinanderfolgenden Synchronisierungen. Standardeinstellung: 15.
spec.configSync.syncRev Git-Version (Tag oder Hash), von der aus synchronisiert werden soll. Dieses Feld wird ignoriert, wenn .spec.configSync.sourceType auf oci gesetzt ist. Dieses Feld ist optional und der Standardwert ist HEAD. Ab Config Sync Version 1.17.0 können Sie auch einen Zweignamen im Feld spec.configSync.syncRev angeben. In Version 1.17.0 oder höher muss ein Hashwert und keine gekürzte Form verwendet werden.
spec.configSync.preventDrift Bei true wird der Config Sync-Zulassungs-Webhook aktiviert, um Drifts zu verhindern, indem Änderungskonflike nicht an Live-Cluster übertragen werden. Standardeinstellungen: false. Config Sync korrigiert Drifts immer, unabhängig vom Wert dieses Felds.
spec.configSync.secretType Die Art des Secrets, das für den Zugriff auf die .spec.configSync.syncRepo konfiguriert ist. Wenn Sie git als Quelltyp ausgewählt haben,. muss der Wert ssh, cookiefile, gcenode, gcpserviceaccount, token odernone sein. Wenn Sie oci als Quelltyp ausgewählt haben, muss der Wert gcenode, gcpserviceaccount oder none sein. Bei der Validierung dieses Feldes wird zwischen Groß- und Kleinschreibung unterschieden. Erforderlich.
spec.configSync.gcpServiceAccountEmail Das Google Cloud-Dienstkonto, mit dem das Kubernetes-Dienstkonto des RootSync- oder RepoSync-Controllers annotiert wird. Dieses Feld wird nur verwendet, wenn spec.configSync.secretType den Wert gcpserviceaccount hat.
spec.configSync.metricsGcpServiceAccountEmail Die E-Mail-Adresse des Google Cloud-Dienstkontos, das zum Exportieren von Config Sync-Messwerten nach Cloud Monitoring verwendet wird. Die Appliance muss die IAM-Rolle „Monitoring-Messwert-Autor“ (roles/monitoring.metricWriter) haben. Das Kubernetes-Dienstkonto default im Namespace config-management-monitoring sollte an die Google Search Appliance gebunden sein.
spec.configSync.sourceFormat Wenn dieser Parameter auf unstructured gesetzt ist, wird ein nicht hierarchisches Repository konfiguriert. Standardeinstellung: hierarchy.

Proxykonfiguration für das Git-Repository

Wenn Sie gemäß den Sicherheitsrichtlinien Ihrer Organisation Traffic über einen HTTP(S)-Proxy weiterleiten müssen, können Sie Config Sync für die Kommunikation mit Ihrem Git-Host über den URI des Proxys konfigurieren. Der Proxy wird nur unterstützt, wenn der Autorisierungstyp cookiefile, none oder token verwendet wird.

Schlüssel Beschreibung
spec.configSync.httpsProxy Definiert eine Umgebungsvariable HTTPS_PROXY für den Zugriff auf das Git-Repository. Beispiel: https://proxy.internal.business.co:443.
Der HTTPS-Proxy akzeptiert nur https-URLs oder nicht gekennzeichnete URLs. URLs, die http:// enthalten, werden abgelehnt.
Wenn Sie eine URL ohne Kennzeichnung verwenden, muss die Kommunikation zwischen Ihrem Proxyserver und Git-Host sicher sein.

Konfiguration für Policy Controller

Schlüssel Beschreibung
spec.policyController.enabled Wenn true, wird Policy Controller aktiviert. Die Standardeinstellung ist false.
spec.policyController.templateLibraryInstalled Wenn true, wird eine Bibliothek mit Einschränkungsvorlagen für gängige Richtlinientypen installiert. Die Standardeinstellung ist true.
spec.policyController.referentialRulesEnabled Wenn true, wird die Unterstützung für referenzielle Einschränkungen aktiviert. Informieren Sie sich über die Beschränkungen von Eventual Consistency. Die Standardeinstellung ist false.
spec.policyController.auditIntervalSeconds Zeitraum in Sekunden zwischen aufeinanderfolgenden Audits von Einschränkungsverstößen. Legen Sie 0 fest, um die Prüfung zu deaktivieren. Standard: 60.
spec.policyController.logDeniesEnabled Wenn true, werden alle Ablehnungen und Probelauffehler protokolliert. Die Standardeinstellung ist false.
spec.policyController.mutationEnabled Wenn true, wird die Unterstützung für Mutationen aktiviert. Der Standardwert ist false.
spec.policyController.exemptableNamespaces Eine Liste von Namespaces, die aus der Webhook-Erzwingung von Policy Controller entfernt werden sollen. Alle Verstöße werden weiterhin im Audit gemeldet. Die Standardeinstellung ist eine leere Liste.
spec.policyController.monitoring.backends Eine Liste mit Monitoring-Back-Ends, für die Policy Controller Messwerte exportieren kann. Standardeinstellung: [cloudmonitoring, prometheus].

Konfiguration für Hierarchy Controller

Schlüssel Beschreibung
spec.hierarchyController.enabled Wenn true, wird der Hierarchy Controller aktiviert. Die Standardeinstellung ist false.
spec.hierarchyController.enableHierarchicalResourceQuota Wenn true, werden hierarchische Ressourcenkontingente aktiviert. Die Standardeinstellung ist false.
spec.hierarchyController.enablePodTreeLabels Wenn true, wird die hierarchische Beobachtung von Arbeitslasten aktiviert. Die Standardeinstellung ist false.

Beispiel für gcloud apply spec

applySpecVersion: 1
spec:
  configSync:
    enabled: true
    sourceFormat: unstructured
    syncRepo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    syncBranch: main
    secretType: none
    policyDir: config-sync-quickstart/multirepo/root
  hierarchyController:
    enabled: false