ConfigManagement-Felder

Auf dieser Seite werden die verschiedenen Felder erläutert, die Sie in Ihrem ConfigManagement-Objekt festlegen können. Sie können dieses Objekt verwenden, wenn Sie Config Sync mit kubectl-Befehlen konfigurieren. Sie können diese Felder auch verwenden, wenn Sie Policy Controller mit einem ConfigManagement-Objekt anstelle der Policy Controller-gcloud-Befehle verwalten.

Konfiguration für Config Sync-Features

Schlüssel Beschreibung
spec.enableMultiRepo Bei true werden die RootSync und RepoSync APIs aktiviert. Diese APIs bieten Ihnen zusätzliche Config Sync-Features, z. B. die Synchronisierung aus mehreren Repositories. Und die Synchronisieurng von Kustomize- und Helm-Konfigurationen. Die Standardeinstellung ist false.
spec.enableLegacyFields Bei true wird die Verwendung verworfener spec.git -Felder im ConfigManagement aktiviert, während noch immer der Multi-Repo-Modus verwendet wird. Wenn Sie dieses Feld festlegen, wird automatisch eine RootSync-Ressource im Cluster generiert.
spec.preventDrift Bei true wird der Config Sync-Zulassungs-Webhook aktiviert, um Drifts zu verhindern, indem Änderungskonflike nicht an Live-Cluster übertragen werden. Die Standardeinstellung ist false. Config Sync korrigiert Drifts immer, unabhängig vom Wert dieses Felds.

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.mutation.enabled 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 das Verhalten des ConfigManagement-Objekts

Schlüssel Beschreibung
spec.clusterName Der benutzerdefinierte Name für den Cluster, der von ClusterSelectors zum Gruppieren von Clustern verwendet wird. Er kommt innerhalb einer Config Sync-Installation nur einmal vor. Sie können dieses Feld nicht in der Google Cloud Console konfigurieren.

Beispiel für ein ConfigManagement-Objekt

apiVersion: configmanagement.gke.io/v1
kind: ConfigManagement
metadata:
  name: config-management
spec:
  clusterName: my-cluster
  enableMultiRepo: true

Konfiguration für Git-Repositories (verworfen)

Schlüssel Beschreibung
spec.git.gcpServiceAccountEmail Das Google Cloud-Dienstkonto, das zum Annotieren des Kubernetes-Dienstkontos des RootSync- oder RepoSync-Controllers verwendet wird. Dieses Feld wird nur verwendet, wenn spec.git.secretType den Wert gcpserviceaccount hat.
spec.git.syncRepo Die URL des Git-Repositorys, das als „Source of Truth“ verwendet werden soll. Erforderlich.
spec.git.syncBranch Der Zweig des Repositories, von dem aus synchronisiert werden soll. Standardeinstellung: master.
spec.git.policyDir Der Pfad im Git-Repository zu dem Stammverzeichnis mit der Konfiguration, die Sie synchronisieren möchten. Standard: Stammverzeichnis des Repositorys
spec.git.syncWait Der Zeitraum zwischen aufeinanderfolgenden Synchronisierungen. Standardeinstellungen: 15 s
spec.git.syncRev Git-Revision (Tag oder Hash) zum Auschecken. Standardeinstellung: HEAD.
spec.git.secretType Die Art des Secrets, das für den Zugriff auf das Git-Repository konfiguriert ist. Entweder ssh, cookiefile, token, gcenode, gcpserviceaccount oder none. Erforderlich.
spec.sourceFormat Das Format Ihres Git-Repositorys. Kann unstructured oder hierarchy sein. Standard: 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.git.proxy.httpProxy Definiert eine Umgebungsvariable HTTP_PROXY für den Zugriff auf das Git-Repository.
spec.git.proxy.httpsProxy Definiert eine Umgebungsvariable HTTPS_PROXY für den Zugriff auf das Git-Repository.

Wenn sowohl das Feld httpProxy als auch das Feld httpsProxy angegeben wurde, wird httpProxy ignoriert.