Auf dieser Seite werden die verschiedenen Felder erläutert, mit denen Sie
Config Sync mit dem --config Flag im Google Cloud CLI
apply
Befehl und dem --fleet-default-member-config Flag im
enable
Befehl im beta Release-Track konfigurieren können. Dieses Feldschema wird jetzt im
dem
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.
Allgemeine Konfiguration für Config Management
| Schlüssel | Beschreibung |
|---|---|
spec.version |
Die Version von Config Management. Wenn Sie Config Management für einen Cluster konfigurieren, ist die Standardversion die aktuelle Version der Config Management-Installation auf diesem Cluster. Andernfalls ist die Standardversion für die flottenweite Konfiguration oder wenn keine Installation auf dem Zielcluster vorhanden ist, die neueste Version. |
Konfiguration für Config Sync
| Schlüssel | Beschreibung |
|---|---|
spec.cluster |
Der Clustername, der von der Config Sync
cluster-name-selector
Annotation oder ClusterSelector,
zum Anwenden von Konfigurationen auf nur eine Teilmenge von Clustern verwendet wird. Legen Sie dieses Feld fest, wenn ein anderer Name
als der Name der Flottenmitgliedschaft für den Cluster von der
Config Sync cluster-name-selector Annotation 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 zuvor verwaltetes Config Sync
deinstalliert und der Rest der .spec.configSync Konfiguration wird ignoriert.
Für die gcloud CLI-Version 429.0.0 und früher erforderlich. Für die
gcloud CLI-Version 430.0.0 und höher optional. Standard: 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 oder des OCI-Images, 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
spec.configSync.syncRev Feld 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,
es muss 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 |
Bei true werden die Konfigurationen für einen einzelnen Cluster nicht mehr synchronisiert.
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 |
Eingestellt: Wenn die Workload Identity-Föderation für GKE aktiviert ist, Google Cloud ist kein Dienstkonto für den Export 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 Ressourcenüberschreibungen für Config Sync-Bereitstellungen.
Das Feld gilt nur für Config Sync-Bereitstellungen mit
Containern, die kein Root- oder Namespace-Abgleich sind, z. B.
reconciler-manager. Wenn Sie einen Root- oder Namespace
Abgleich überschreiben müssen, verwenden Sie stattdessen die Felder
rootsync oder reposync. Optional. |
spec.configSync.deploymentOverrides.name |
Der Name der zu überschreibenden Config Sync-Bereitstellung. Der Wert darf nicht leer sein. |
spec.configSync.deploymentOverrides.namespace |
Der Namespace der zu überschreibenden Config Sync-Bereitstellung. Der Wert darf nicht leer sein. |
spec.configSync.deploymentOverrides.containers |
Eine Liste der Überschreibungskonfigurationen für die Anfragen und Limits von Config Sync Containern. Optional. |
spec.configSync.deploymentOverrides.containers.name |
Der Name des zu überschreibenden Config Sync-Containers. Der Wert darf nicht leer sein. |
spec.configSync.deploymentOverrides.containers.cpuRequest |
Die CPU-Anfrage 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 Speicheranfrage 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 ungeschmückte URLs.
URLs mit http:// werden abgelehnt.Wenn Sie eine ungeschmückte 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 für Bereitstellungsressourcen
Wenn Sie die Ressourcenanfragen und ‑limits von Config Sync anpassen möchten, fügen Sie das Feld deploymentOverrides in Ihrer Apply-Spezifikation hinzu. Mit dem folgenden YAML-Code werden beispielsweise die CPU- und Speicherlimits für den Container reconciler-manager überschrieben:
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