Auf dieser Seite werden die verschiedenen Felder beschrieben, mit denen Sie Config Sync mit dem --config-Flag im apply-Befehl der Google Cloud CLI und dem --fleet-default-member-config-Flag im enable-Befehl im beta-Release-Track konfigurieren können. Dieses Feldschema wird jetzt im
alpha-Release-Track des enable-Befehls
zugunsten des
neuen API-Schemas
nicht mehr empfohlen.
Das mit diesen gcloud CLI-Flags verwendete Dateiformat ähnelt dem Format des ConfigManagement-Objekts. Die Formate sind jedoch unterschiedlich und die beiden sind nicht austauschbar.
Gängige Konfiguration für Config Management
| Schlüssel | Beschreibung |
|---|---|
spec.version |
Die Version von Config Management. Wenn Sie die Konfigurationsverwaltung für einen Cluster konfigurieren, ist die Standardversion die aktuelle Version der Config Management-Installation in diesem Cluster. Andernfalls ist die neueste Version die Standardeinstellung für die flottenweite Konfiguration oder wenn keine vorhandene Installation im Zielcluster vorhanden ist. |
Konfiguration für Config Sync
| Schlüssel | Beschreibung |
|---|---|
spec.cluster |
Der Clustername, der von der Config Sync-Annotation cluster-name-selector oder ClusterSelector verwendet wird, um Konfigurationen nur auf einen Teil der Cluster anzuwenden. Legen Sie dieses Feld fest, wenn ein anderer Name als der Name der Flottenmitgliedschaft für den Cluster von der Config Sync-Annotation cluster-name-selector oder ClusterSelector verwendet wird. |
spec.upgrades |
Vorschau: Die Upgrade-Einstellung für Config Sync.
Der Standardwert und der einzige unterstützte Wert ist manual.
|
spec.configSync.enabled |
Wenn true, wird Config Sync installiert und verwaltet.
Wenn false, wird jede zuvor verwaltete Config Sync deinstalliert und der Rest der .spec.configSync-Konfiguration wird ignoriert.
Erforderlich für die gcloud CLI-Version 429.0.0 und früher. Optional für die gcloud CLI-Version 430.0.0 und höher. Standardeinstellung: true |
spec.configSync.sourceType |
Der Typ der Quelle, von der Config Sync synchronisiert werden soll.
Akzeptiert git oder oci. Standard: git. |
spec.configSync.syncRepo |
Die URL des Git-Repositorys, OCI-Images oder 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. Wir empfehlen, das Feld spec.configSync.syncRev zu verwenden, um einen Zweignamen anzugeben. Wenn beide Felder verwendet werden, hat das Feld 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-Revision (Tag oder Hash) oder Zweig, 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 HEAD. Wenn Sie einen Hash verwenden, muss es sich um einen vollständigen Hash (nicht um eine abgekürzte Form) handeln.
|
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.stopSyncing |
Wenn true, wird die Synchronisierung von Konfigurationen für einen einzelnen Cluster beendet.
Die Standardeinstellung ist false. |
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, das zum Annotieren des Kubernetes-Dienstkontos des RootSync- oder RepoSync-Controllers verwendet wird. Dieses Feld wird nur verwendet, wenn spec.configSync.secretType den Wert gcpserviceaccount hat. |
spec.configSync.metricsGcpServiceAccountEmail |
Verworfen: Wenn die Workload Identity-Föderation für GKE aktiviert ist, ist Google Cloud kein Dienstkonto zum Exportieren von Config Sync-Messwerten erforderlich. Verwenden Sie stattdessen ein Kubernetes-Dienstkonto. |
spec.configSync.sourceFormat |
Wenn dieser Parameter auf unstructured gesetzt ist, wird ein nicht hierarchisches Repository konfiguriert.
Standard: hierarchy. |
spec.configSync.deploymentOverrides |
Eine Liste der Konfigurationen für das Überschreiben von Ressourcen für Config Sync-Bereitstellungen.
Das Feld gilt nur für Config Sync-Bereitstellungen mit Containern, die keine Root- oder Namespace-Abgleicher sind, z. B. reconciler-manager. Wenn Sie einen Root- oder Namespace-Abgleicher überschreiben müssen, verwenden Sie stattdessen
rootsync- oder reposync-Felder. Optional. |
spec.configSync.deploymentOverrides.name |
Der Name der Config Sync-Bereitstellung, die überschrieben werden soll. Der Wert darf nicht leer sein. |
spec.configSync.deploymentOverrides.namespace |
Der Namespace der Config Sync-Bereitstellung, die überschrieben werden soll. Der Wert darf nicht leer sein. |
spec.configSync.deploymentOverrides.containers |
Eine Liste der Überschreibungskonfigurationen für Anfragen und Limits von Config Sync-Containern. Optional. |
spec.configSync.deploymentOverrides.containers.name |
Der Name des Config Sync-Containers, der überschrieben werden soll. Der Wert darf nicht leer sein. |
spec.configSync.deploymentOverrides.containers.cpuRequest |
Die CPU-Anforderung für den Container. Verwenden Sie CPU-Ressourceneinheiten in Kubernetes. Optional. |
spec.configSync.deploymentOverrides.containers.cpuLimit |
Das CPU-Limit für den Container. Verwenden Sie CPU-Ressourceneinheiten in Kubernetes. Optional. |
spec.configSync.deploymentOverrides.containers.memoryRequest |
Die Speicheranforderung für den Container. Verwenden Sie Speicherressourceneinheiten in Kubernetes. Optional. |
spec.configSync.deploymentOverrides.containers.memoryLimit |
Das Speicherlimit für den Container. Verwenden Sie Speicherressourceneinheiten in Kubernetes. Optional. |
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- oder einfache URLs.
URLs, die http:// enthalten, werden abgelehnt.Wenn Sie eine einfache URL verwenden, müssen Sie die Kommunikation zwischen Ihrem Proxyserver und dem Git-Host sicher machen. |
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
Beispiel für gcloud apply spec mit Überschreibungen von Bereitstellungsressourcen
Wenn Sie Ressourcenanforderungen und ‑limits für Config Sync anpassen möchten, fügen Sie das Feld deploymentOverrides in Ihre Apply-Spezifikation ein. Das folgende YAML überschreibt beispielsweise die CPU- und Arbeitsspeicherlimits für den Container reconciler-manager:
applySpecVersion: 1
spec:
configSync:
enabled: true
deploymentOverrides:
- name: reconciler-manager
namespace: config-management-system
containers:
- name: reconciler-manager
cpuRequest: 50m
cpuLimit: 100m
memoryRequest: 256Mi
memoryLimit: 512Mi