RootSync- und RepoSync-Felder

Diese Seite enthält eine Referenz für die Felder in den Objekten RootSync, RepoSync und ResourceGroup. Weitere Informationen zur Funktionsweise dieser Objekte finden Sie unter Architektur von Config Sync.

RootSync- und RepoSync-Felder

Die RootSync- und RepoSync-Ressourcenobjekte haben dieselben Felder, mit Ausnahme der folgenden reinen RootSync-Felder:

  • spec.sourceFormat
  • spec.helm.namespace
  • spec.helm.deployNamespace
  • spec.override.roleRefs

Konfiguration für das Quellformat

Schlüssel Beschreibung
spec.sourceFormat sourceFormat gibt an, wie das Repository formatiert ist. Optional.
Bei der Validierung dieses Feldes wird zwischen Groß- und Kleinschreibung unterschieden.
  • Bei RootSync-Objekten muss der Wert entweder hierarchy oder unstructured sein. Wenn kein Wert angegeben wird, gilt der Standardwert hierarchy, empfohlen wird unstructured.
Weitere Informationen finden Sie in den Leitfäden zu unstrukturierten und hierarchischen Formaten.

Konfiguration für den Quelltyp

Schlüssel Beschreibung
spec.sourceType sourceType gibt den Typ der Quelle der Wahrheit an. Muss git, oci oder helm sein. Optional.
Legen Sie git fest, wenn keine Angabe erfolgt. Bei der Validierung dieses Feldes wird zwischen Groß- und Kleinschreibung unterschieden.

Konfiguration für das Git-Repository

Schlüssel Beschreibung
spec.git.auth Die Art des Secrets, das für den Zugriff auf das Git-Repository konfiguriert ist. Es muss sein: ssh, cookiefile, gcenode, gcpserviceaccount, token oder none. Bei der Validierung dieses Feldes wird zwischen Groß- und Kleinschreibung unterschieden. Erforderlich.
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.auth den Wert gcpserviceaccount hat.
spec.git.branch Zweig des Repositorys, von dem aus synchronisiert werden soll. Dieses Feld ist optional und der Standardwert ist master. Ab Config Sync Version 1.17.0 wird der Einfachheit halber empfohlen, das Feld spec.git.revision zu verwenden, um einen Zweignamen anzugeben. Wenn sowohl das Feld spec.git.revision als auch das Feld spec.git.branch angegeben sind, hat spec.git.revision Vorrang vor spec.git.branch.
spec.git.dir Absoluter Pfad im Git-Repository zu dem Stammverzeichnis mit der Konfiguration, die Sie synchronisieren möchten. Standardeinstellung: Stammverzeichnis (/) des Repositorys.
spec.git.period Der Zeitraum zwischen aufeinanderfolgenden Synchronisierungen. Standardeinstellung: 15s.
spec.git.repo Die Git-Repository-URL, von der aus synchronisiert werden soll. Erforderlich.
spec.git.revision Die Git-Version (Branch, Tag oder Commit), von der aus synchronisiert werden soll. 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.git.revision angeben. In Version 1.17.0 oder höher muss ein Hashwert und keine gekürzte Form verwendet werden.
spec.git.secretRef.name Der Name des Secrets, das zum Herstellen einer Verbindung zur Git-„Source of Truth“ verwendet wird.
spec.git.noSSLVerify1 noSSLVerify gibt an, ob die SSL-Zertifikatsüberprüfung aktiviert oder deaktiviert werden soll. Standardeinstellung: false.
Wenn noSSLVerify auf „true“ gesetzt ist, wird Git angewiesen, die Überprüfung des SSL-Zertifikats zu überspringen.
spec.git.caCertSecretRef.name1 Der Name des Secrets, das das Zertifikat der Zertifizierungsstelle enthält. Wenn dieses Feld angegeben ist, muss der Git-Server ein von dieser Zertifizierungsstelle ausgestelltes Zertifikat verwenden. Das CA-Zertifikat muss im Secret unter einem Schlüssel namens "cert“ gespeichert werden.

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.

Schlüssel Beschreibung
spec.git.proxy Die Proxy-URL mit Schema zum Konfigurieren des Zugriffs auf das Git-Repository mithilfe eines Proxys. Beispiel: https://proxy.internal.business.co:443.
Der Git-Proxy akzeptiert https-, http- und schnörkellose URLs, http wird jedoch aus Sicherheitsgründen nicht empfohlen.
Wenn Sie http oder eine URL ohne Kennzeichnung verwenden, achten Sie darauf, dass die Kommunikation zwischen Ihrem Proxyserver und Git-Host sicher ist.
Dieses Feld hat nur Auswirkungen, wenn spec.git.auth den Wert cookiefile, none oder token hat.

Konfiguration für das OCI-Image

Config Sync erfordert, dass die OCI-Ebene in einem der Formate tar oder tar+gzip komprimiert ist.

Andere Formate (z. B. tar+bz2) werden von Config Sync nicht erkannt. Der Wechsel von einem gültigen REPO-Konto zu einem OCI-Image mit einem nicht unterstützten Format führt dazu, dass verwaltete Ressourcen ohne Fehlermeldung gelöscht werden.

Schlüssel Beschreibung
spec.oci.auth Die Authentifizierungsart, die für den Zugriff auf das OCI-Image konfiguriert ist. Muss gcenode, k8sserviceaccount, gcpserviceaccount oder none sein. Bei der Validierung dieses Feldes wird zwischen Groß- und Kleinschreibung unterschieden. Erforderlich.
spec.oci.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.oci.auth den Wert gcpserviceaccount hat.
spec.oci.dir Absoluter Pfad im OCI-Image zu dem Stammverzeichnis mit der Konfiguration, die Sie synchronisieren möchten. Standardeinstellung: Stammverzeichnis (/) des Images.
spec.oci.period Der Zeitraum zwischen aufeinanderfolgenden Synchronisierungen. Standardeinstellung: 15s.
spec.oci.image Die OCI-Image-URL, von der aus synchronisiert werden soll. Erforderlich.
spec.oci.caCertSecretRef.name1

Der Name des Secrets, das das Zertifikat der Zertifizierungsstelle enthält. Wenn dieses Feld angegeben ist, muss der OCI-Server ein von dieser Zertifizierungsstelle ausgestelltes Zertifikat verwenden. Das CA-Zertifikat muss im Secret unter einem Schlüssel namens "cert“ gespeichert werden.

Dieses Feld wird ab Version 1.18.0 unterstützt.

Konfiguration für das Helm-Repository

Schlüssel Beschreibung
spec.helm.auth Der Authentifizierungstyp, der für den Zugriff auf das Helm-Repository konfiguriert ist. Muss token, gcenode, k8sserviceaccount, gcpserviceaccount oder none sein. Bei der Validierung dieses Feldes wird zwischen Groß- und Kleinschreibung unterschieden. Erforderlich.
spec.helm.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.helm.auth den Wert gcpserviceaccount hat.
spec.helm.secretRef.name Der Name des Secrets, mit dem auf das Helm-Repository zugegriffen wird. Dieses Feld wird nur verwendet, wenn spec.helm.auth den Wert token hat.
spec.helm.repo Die Helm-Repository-URL, von der aus synchronisiert werden soll. Erforderlich.
spec.helm.chart Der Name des Helm-Diagramms. Erforderlich.
spec.helm.version

Die Versionsnummer des Helm-Diagramms. Standardeinstellung: die neueste Version.

In Config Sync-Versionen vor 1.16.0 ist das Versionsfeld verfügbar. Es werden jedoch nur statische Versionen unterstützt und Diagramme werden nicht noch einmal abgerufen. In Config Sync Version 1.16.0 und höher kann das Versionsfeld als statischer Wert oder als Bereich von Versionen angegeben werden, aus denen Config Sync den neuesten Stand abruft. Sie können auch leer lassen, um anzugeben, dass Config Sync das neueste Diagramm gemäß semver erstellen soll. Wenn dieser Bereich als Bereich angegeben oder leer bleibt, um den neuesten Wert anzugeben, ruft Config Sync das Diagramm standardmäßig alle 1 Stunde noch einmal ab. In Config Sync Version 1.16.1 und höher kann der Zeitraum für den Abruf über das Feld spec.helm.period konfiguriert werden. Wenn die Version als Literalstring „latest“ angegeben ist, wird das Diagramm gemäß spec.helm.period neu abgerufen, genau wie bei Versionsbereichen oder leeren Versionen.

Die Syntax des Versionsbereichs ist identisch mit der Syntax für Versionsbereiche, die von der Helm-Befehlszeile unterstützt wird.

Wenn Sie die Version als Bereich angeben oder den Wert leer lassen, kann dies bei großen Diagrammen mit vielen Versionen zu einer hohen CPU-Auslastung führen. Mit spec.override können Sie die CPU-Anfrage für den helm-sync-Container erhöhen, wie im folgenden Beispiel gezeigt:

    spec:
      override:
        resources:
        - containerName: helm-sync
          cpuRequest: "200m"
    
spec.helm.period

In Config Sync Version 1.16.1 und höher ist spec.helm.period die Zeit, die Config Sync wartet, bevor das Diagramm noch einmal abgerufen wird.

Der Standardwert ist 1 Stunde. Das Feld akzeptiert Stringwerte wie „30s“ oder „5m“. Weitere Informationen finden Sie in der Go-Dokumentation zu gültigen Eingaben.

Wenn die Diagrammversion ein Bereich ist, das Literal-Tag „latest“ verwendet oder leer bleibt, um anzugeben, dass Config Sync die neueste Version abrufen soll, wird das Diagramm gemäß spec.helm.period neu abgerufen. Wenn die Diagrammversion als einzelne statische Version angegeben ist, wird das Diagramm nicht neu abgerufen.

spec.helm.releaseName Der Name des Helm-Release.
spec.helm.namespace Dies schließt sich mit spec.helm.deployNamespace gegenseitig aus.
namespace legt den Ziel-Namespace für einen Release fest. Dieses Feld wird nur für RootSync-Objekte verwendet. Es wird ein Namespace nur für Ressourcen festgelegt, die namespace: {{ .Release.Namespace }} in ihren Vorlagen enthalten. Der in spec.helm.namespace angegebene Wert wird nur als der Wert von Release.Namespace verwendet, der in Ihren Helm-Vorlagen deklariert ist. Für Ressourcen, deren Vorlagen nicht namespace: {{ .Release.Namespace }} enthalten, wird der Namespace default verwendet. Standardwert: default
spec.helm.deployNamespace Dies schließt sich mit spec.helm.namespace gegenseitig aus.
deployNamespace gibt an, in welchem Namespace das Diagramm bereitgestellt werden soll. Wenn dieses Feld festgelegt wird, wird die kpt-Funktion „set-namespace“ genutzt, wodurch Config Sync die namespace-Felder von Ressourcen im Diagramm ersetzt, einschließlich metadata.namespace von Namespace-bezogenen Ressourcen, metadata.name von Namespace-Objekten und Namespace-Verweisen in einigen speziellen Ressourcentypen.
Wenn deployNamespace nicht festgelegt ist, werden Ressourcen, für die metadata.namespace nicht festgelegt ist, im Standard-Namespace bereitgestellt.
spec.helm.values

Anstelle der Standardwerte des Diagramms zu verwendende Werte Formatieren Sie die Werte auf die gleiche Weise mit der Datei „default values.yaml“. Beispiel:

values:
  foo:
    bar: val1
  quz:
  - val2
  - val3

Wenn auch valuesFileRefs angegeben ist, überschreiben Felder aus values die Felder von valuesFileRefs.

Weitere Informationen finden Sie im Beispielmanifest für Helm.

spec.helm.includeCRDs Gibt an, ob die Helm-Vorlage CustomResourceDefinitions generieren soll. Standardeinstellung: false.
spec.helm.valuesFileRefs

Eine Liste von Referenzen auf Objekte im Cluster, die Werte darstellen, die anstelle der Standardwerte im Diagramm verwendet werden sollen. Es werden nur ConfigMaps unterstützt. Die ConfigMap muss unveränderlich sein und sich im selben Namespace wie RootSync oder RepoSync befinden.

ConfigMaps sind unveränderlich. Wenn Sie die „valuesFile“ nach der Synchronisierung ändern möchten, müssen Sie eine ConfigMap mit einem anderen Namen erstellen und das RootSync- oder RepoSync-spec.valuesFileRefs.name aktualisieren.

Wenn Dateien mit mehreren Werten angegeben sind, überschreiben doppelte Schlüssel in späteren Dateien den Wert aus früheren Dateien. Dies entspricht der Übergabe mehrerer Wertedateien an die Helm-Befehlszeile. Wenn auch spec.helm.values angegeben ist, überschreiben Felder aus values die Felder von valuesFileRefs.

Jeder Eintrag in der Liste muss Folgendes enthalten:

  • name (erforderlich): der Name des ConfigMap-Objekts
  • dataKey (optional): Der Datenschlüssel im Objekt, aus dem die Werte gelesen werden sollen. Standard: values.yaml

Dieses Feld wird ab Version 1.16.0 unterstützt.

Ein Beispiel zum Ändern von Werten finden Sie unter Helm-Diagramme synchronisieren.

spec.helm.caCertSecretRef.name1

Der Name des Secrets, das das Zertifikat der Zertifizierungsstelle enthält. Wenn dieses Feld angegeben ist, muss der Helm-Server ein von dieser Zertifizierungsstelle ausgestelltes Zertifikat verwenden. Das CA-Zertifikat muss im Secret unter einem Schlüssel namens "cert“ gespeichert werden.

Dieses Feld wird ab Version 1.18.0 unterstützt.

Konfiguration zum Überschreiben der Ressourcenanfragen und -limits eines Root- oder Namespace-Abgleichers

Sie können die Container git-sync, oci-sync, helm-sync, hydration-controller und reconciler überschreiben. Das teilweise Überschreiben ist zulässig: Wenn kein Überschreibungswert für eine Ressourcenanfrage oder ein Limit angegeben ist, wird der Standardressourcenwert für die Anfrage oder das Limit verwendet.

Bei Autopilot-Clustern ignoriert Config Sync Überschreibungen von Ressourcenlimits. Überschreibungen von Ressourcenanfragen werden nur angewendet, wenn eine oder mehrere Ressourcenanfragen höher sind als die entsprechende in der Annotation deklarierte Ausgabe oder eine oder mehrere Ressourcenanfragen, die niedriger sind als die entsprechende Eingabe in der Annotation. Weitere Informationen finden Sie unter Clusteranforderungen für Config Sync.

Schlüssel Beschreibung
spec.override.resources1 Die Liste der Überschreibungen für Containerressourcen und -limits. Optional.
Jedes Element in der Liste enthält drei Felder:
  • containerName: Dieses Feld kann entweder git-sync, oci-sync, helm-sync, hydration-controller oder reconciler sein.
  • cpuRequest (optional)
  • cpuLimit (optional)
  • memoryRequest (optional)
  • memoryLimit (optional)

Wenn kein Überschreibungswert für eine Ressourcenanfrage oder -grenze angegeben ist, wird der Standardressourcenwert für die Anfrage oder das Limit verwendet.

Konfiguration zum Überschreiben der Logebene eines Containers im Stamm- oder Namespace-Abgleich

Wenn kein Wert für die Überschreibung auf Logebene festgelegt ist, wird die Protokollebene als Standardwert konfiguriert. Die Standard-Logebene für alle Container in einem RootSync- oder RepoSync-Abgleich ist 0, mit Ausnahme des Git-Sync-Containers, bei dem der Standardwert 5 ist. Der akzeptierte Überschreibungswert auf Logebene liegt zwischen 0 und 10 (jeweils einschließlich).

Schlüssel Beschreibung
spec.override.logLevels Die Liste der Überschreibungswerte auf Container-Log-Ebene. Optional.
Jeder Eintrag in der Liste enthält zwei Felder:
  • containerName: Dieses Feld kann entweder git-sync, oci-sync, helm-sync, hydration-controller oder reconciler sein.
  • logLevel

Wenn kein Überschreibungswert für die Logebene eines Containers angegeben ist, wird der Standardwert der Logebene verwendet.

Konfiguration für die Anzahl der abzurufenden Git-Commits

Schlüssel Beschreibung
spec.override.gitSyncDepth1 Mit gitSyncDepth können Sie die Anzahl der abzurufenden Git-Commits überschreiben.
Darf nicht kleiner als 0 sein.
Config Sync führt einen vollständigen Klon aus, wenn das Feld 0 ist, und einen "oberflächlichen" Klon, wenn das Feld größer als 0 ist.
Wenn dieses Feld nicht angegeben ist, wird es von Config Sync automatisch konfiguriert.

Konfiguration zum Erfassen des Status auf Ressourcenebene

Schlüssel Beschreibung
spec.override.statusMode1 Mit statusMode können Sie die Erfassung des Status auf Ressourcenebene aktivieren oder deaktivieren.
Der Standardwert ist enabled.
Legen Sie für dieses Feld disabled fest, wenn Sie die Erfassung des Status auf Ressourcenebene deaktivieren möchten.

Konfiguration zum Überschreiben der Abgleichzeitüberschreitung

Schlüssel Beschreibung
spec.override.reconcileTimeout1 Mit reconcileTimeout können Sie den Schwellenwert für die Wartezeit bis zum Abgleich der Ressourcen in einer Apply-Gruppen überschreiben, bevor der Vorgang abgebrochen wird. Alle Ressourcen in einem Commit können sich je nach Abhängigkeiten in mehreren Apply-Gruppen befinden.
Das Standardzeitlimit ist 5m.
Verwenden Sie einen String, um diesen Feldwert anzugeben, z. B. 30s, 5m.

Konfiguration zum Überschreiben des Zeitlimits für Anfragen an den API-Server

Schlüssel Beschreibung
spec.override.apiServerTimeout1 Mit apiServerTimeout können Sie das Zeitlimit für Anfragen an den API-Server überschreiben. Das Standardzeitlimit ist 5s in Versionen vor 1.16.0 und 15s in den Versionen 1.16.0 und höher.
Verwenden Sie einen String, um diesen Feldwert anzugeben, z. B. 30s oder 5m.

Konfiguration für den Shell-Zugriff im Renderingprozess

Schlüssel Beschreibung
spec.override.enableShellInRendering1 enableShellInRendering gibt an, ob der Shell-Zugriff während des Renderingvorgangs aktiviert oder deaktiviert wird. Kustomize-Remotebasisdaten erfordern Shell-Zugriff. Wenn Sie dieses Feld auf true setzen, wird der Shell-Zugriff im Renderingprozess aktiviert und das Abrufen von Remote-Basisdaten aus öffentlichen Repositories wird unterstützt.
Der Standardwert ist false.

Konfiguration für Namespace-Strategie (nur RootSync)

Schlüssel Beschreibung
spec.override.namespaceStrategy1 namespaceStrategy steuert, wie der Abgleicher fehlende Namespace-Konfigurationen der in der Quelle deklarierten Namespace-bezogenen Objekte handhabt. Gilt nur bei Verwendung von unstructured-sourceFormat.
  • implicit: Der Abgleich erstellt implizit Namespaces, wenn sie nicht vorhanden sind, auch wenn sie nicht in der Quelle deklariert sind. Implizite Namespaces werden mit der Annotation zum Löschen von Daten erstellt und von Config Sync verwaltet.
  • explicit: Der Abgleicher erstellt nur Namespaces, die explizit in der Quelle deklariert sind.

Der Standardwert ist implicit.

Konfiguration für RBAC-Bindungen (nur RootSync)

Schlüssel Beschreibung
spec.override.roleRefs1 roleRefs ist eine Liste von Roles oder ClusterRoles zum Erstellen von Bindungen. Jeder Eintrag in der Liste enthält die folgenden Felder:
  • kind (erforderlich): bezieht sich auf die Art der RBAC-Ressource. Zulässige Werte sind Role und ClusterRole.
  • name (erforderlich): Der Name der Role- oder ClusterRole-Ressource.
  • namespace (optional): Gibt den Namespace an, in dem ein RoleBinding erstellt werden soll. Bestimmt für ClusterRole-Objekte, ob eine RoleBinding oder ein ClusterRoleBinding erstellt wird. Für Role-Objekte muss derselbe Namespace festgelegt werden wie für die Role.

Wenn kein Wert festgelegt ist, wird eine ClusterRoleBinding zu cluster-admin erstellt.

Status der Objekte

Schlüssel Beschreibung
status.observedGeneration Die Generation (metadata.generation) der Spezifikation einer RootSync- oder RepoSync-Ressource, die zuletzt von Config Sync beobachtet und bearbeitet wurde. Dieser Wert kann mit metadata.generation verglichen werden, einer Ganzzahl, die bei einer Spezifikationsmutation vom API-Server aktualisiert wird.
status.reconciler Name des Abgleichvorgangs, der der Synchronisierungsressource entspricht.
status.source.gitStatus.repo Die Git-Repository-URL, die abgerufen wird.
status.source.gitStatus.revision Abzurufende Git-Revision (Tag, Commit oder Hash).
status.source.gitStatus.branch Git-Zweig des abgerufenen Repositorys.
status.source.gitStatus.dir Absoluter Pfad im Git-Repository zum Stammverzeichnis, das die Konfiguration enthält, mit der Sie synchronisieren.
status.source.ociStatus.image Die abgerufene OCI-Image-URL.
status.source.ociStatus.dir Absoluter Pfad im OCI-Image zum Stammverzeichnis, das die Konfiguration enthält, mit der Sie synchronisieren.
status.source.helmStatus.repo Die abgerufene Helm-Repository-URL.
status.source.helmStatus.version Die Version des Helm-Diagramms, die abgerufen wird.
status.source.helmStatus.chart Der Name des abgerufenen Helm-Diagramms.
status.source.commit Der Hash des letzten Commits oder Digests, der von der Quell-URL abgerufen wurde.
status.source.errors Die Fehler, die beim Lesen und Parsen der Konfigurationen aus der „Source of Truth“ aufgetreten sind. Dies enthält möglicherweise nicht alle aufgetretenen Fehler, da Config Sync Fehler kürzt, wenn es zu viele Fehler gibt.
status.source.errorSummary.totalCount Eine Ganzzahl, die die Gesamtzahl der Fehler verfolgt, die beim Lesen und Parsen der Konfigurationen aus der „Source of Truth“ aufgetreten sind.
status.source.errorSummary.truncated Ein boolescher Wert, der angibt, ob das Feld status.source.errors alle Fehler enthält, die beim Lesen und Parsen der Konfigurationen aus der „Source of Truth“ aufgetreten sind.
status.source.errorSummary.errorCountAfterTruncation Eine Ganzzahl, die die Anzahl der Fehler im Feld status.source.errors verfolgt.
status.rendering.gitStatus.repo Die Git-Repository-URL, die gerendert wird.
status.rendering.gitStatus.revision Die Git-Revision (Tag, Commit oder Hash), die gerendert wird.
status.rendering.gitStatus.branch Der Git-Zweig des Repositorys, das gerendert wird.
status.rendering.gitStatus.dir Der absolute Pfad im Git-Repository zum Stammverzeichnis, das die Konfiguration enthält, die Sie rendern.
status.rendering.ociStatus.image Die OCI-Image-URL, die gerendert wird.
status.rendering.ociStatus.dir Absoluter Pfad im OCI-Image zum Stammverzeichnis, das die Konfiguration enthält, die Sie rendern.
status.rendering.helmStatus.repo Die Helm-Repository-URL, die gerendert wird.
status.rendering.helmStatus.version Die Version des Helm-Diagramms, das gerendert wird.
status.rendering.helmStatus.chart Der Name des Helm-Diagramms, das gerendert wird.
status.rendering.commit Hash des letzten gerenderten Commits oder Digests. Dieser Wert wird auch dann aktualisiert, wenn ein Commit oder Digest aufgrund eines Fehlers nur teilweise synchronisiert wird.
status.rendering.errors Eine Liste aller Fehler, die beim Rendern der Ressourcen aus der durch status.rendering.commit angegebenen Änderung aufgetreten sind. Dies enthält möglicherweise nicht alle aufgetretenen Fehler, da Config Sync Fehler kürzt, wenn es zu viele Fehler gibt.
status.rendering.errorSummary.totalCount Eine Ganzzahl, die die Gesamtzahl der Fehler verfolgt, die beim Rendern der Konfigurationen aus der „Source of Truth“ aufgetreten sind.
status.rendering.errorSummary.truncated Ein boolescher Wert, der angibt, ob das Feld status.rendering.errors alle Fehler enthält, die beim Rendern der Konfigurationen aus der „Source of Truth“ aufgetreten sind.
status.rendering.errorSummary.errorCountAfterTruncation Eine Ganzzahl, die die Anzahl der Fehler im Feld status.rendering.errors verfolgt.
status.sync.gitStatus.repo Git-Repository-URL, die synchronisiert wird.
status.sync.gitStatus.revision Die Git-Revision (Tag, Commit oder Hash), die gerendert wird.
status.sync.gitStatus.branch Der Git-Zweig des Repositorys, das synchronisiert wird.
status.sync.gitStatus.dir Absoluter Pfad im Git-Repository zum Stammverzeichnis, das die Konfiguration enthält, mit der Sie synchronisieren.
status.sync.ociStatus.image Die OCI-Image-URL, die synchronisiert wird.
status.sync.ociStatus.dir Absoluter Pfad im OCI-Image zum Stammverzeichnis, das die Konfiguration enthält, mit der Sie synchronisieren.
status.sync.helmStatus.repo Die zu synchronisierende Helm-Repository-URL.
status.sync.helmStatus.version Die Version des Helm-Diagramms, das synchronisiert wird.
status.sync.helmStatus.chart Der Name des Helm-Diagramms, das synchronisiert wird.
status.sync.commit Der Hash des letzten Commits oder Digests, der mit dem Cluster synchronisiert wurde. Dieser Wert wird auch dann aktualisiert, wenn ein Commit oder Digest aufgrund eines Fehlers nur teilweise synchronisiert wird.
status.sync.errors Eine Liste aller Fehler, die beim Anwenden der Ressourcen aus der durch status.sync.commit angegebenen Änderung aufgetreten sind. Dies enthält möglicherweise nicht alle aufgetretenen Fehler, da Config Sync Fehler kürzt, wenn es zu viele Fehler gibt.
status.sync.errorSummary.totalCount Eine Ganzzahl, die die Gesamtzahl der Fehler verfolgt, die beim Anwenden der Konfigurationen aus der „Source of Truth“ aufgetreten sind.
status.sync.errorSummary.truncated Ein boolescher Wert, der angibt, ob das Feld status.sync.errors alle Fehler enthält, die beim Anwenden der Konfigurationen aus der „Source of Truth“ aufgetreten sind.
status.sync.errorSummary.errorCountAfterTruncation Eine Ganzzahl, die die Anzahl der Fehler im Feld status.sync.errors verfolgt.
status.conditions Eine Liste von Bedingungen, mit denen der aktuelle Status eines RootSync- oder RepoSync-Objekts erfasst wird.
Wenn das Feld type einer Bedingung Reconciling oder Stalled ist:
  • Im Feld errors der Bedingung werden die Fehler erfasst, die beim Abgleich des RootSync- oder RepoSync-Objekts aufgetreten sind
  • Im Feld errorSummary der Bedingung werden die Fehler im Feld errors der Bedingung zusammengefasst
  • Das Feld errorsSourceRefs der Bedingung ist leer
Wenn der Typ einer Bedingung Syncing ist:
  • Das Feld errors der Bedingung ist leer
  • Im Feld errorsSourceRefs der Bedingung wird der Ursprung von Fehlern erfasst. Die Ursache von Fehlern kann status.rendering.errors, status.source.errors oder status.sync.errors sein.
  • Im Feld errorSummary der Bedingung werden die Fehler zusammengefasst, auf die im Feld errorsSourceRefs Bezug genommen wird.

1 Wenn Sie nach der Installation mit der Google Cloud Console oder der Google Cloud CLI eine RootSync-Konfigurationsdatei erstellt haben, können Sie dieses Feld überschreiben.

ResourceGroup-Felder

Spezifikationen und Statusfelder

Schlüssel Beschreibung
spec.resources Die Liste der Kennungen (Gruppe, Art, Namespace, Name) für Ressourcen, die aus dem Git-Repository, das in einer Antwortvorlage RepoSync oder RootSync angegeben ist, auf den Cluster angewendet werden. Optional.
Jeder Eintrag in der Liste enthält vier Felder: group, kind, namespace und name.

Statusfelder

Schlüssel Beschreibung
status.observedGeneration Die Generierung (metadata.generation) der Spezifikation einer RootSync- oder RepoSync-Ressource, die zuletzt vom ResourceGroup-Controller beobachtet und auf sie reagiert wurde. Dieser Wert kann mit metadata.generation verglichen werden, einer Ganzzahl, die bei einer Spezifikationsmutation vom API-Server aktualisiert wird.
status.conditions Die zuletzt beobachteten Bedingungen für die aktuelle ResourceGroup. Die Bedingungen haben zwei verschiedene Typen: Reconciling und Stalled. Wenn die Bedingung des Typs Reconciling „true“ ist, bedeutet dies, dass die aktuelle ResourceGroup abgeglichen wird. Wenn die Bedingung des Typs Stalled „true“ ist, bedeutet dies, dass der Abgleich angehalten wurde. Wenn beide "false" sind, wird die aktuelle ResourceGroup abgeglichen und der Status ist auf dem neuesten Stand.
status.resourceStatuses Die Liste der Status für Ressourcen, die in .spec.resources enthalten sind. Jedes Element enthält die Kennung (Gruppe, Art, Namespace oder Name) und den Status einer Ressource. Der Status ist entweder InProgress, Current, Failed, Terminating, NotFound oder Unknown.

Nicht verwaltete Root-Synchronisierungsfelder

Die folgenden Felder der RootSync mit dem Namen root-sync werden nicht vom Flottendienst (Hub-Dienst) verwaltet und können mit jedem Kubernetes-Client bearbeitet werden:

Schlüssel Beschreibung
spec.git.noSSLVerify noSSLVerify gibt an, ob die SSL-Zertifikatsprüfung aktiviert oder deaktiviert werden soll. Standardeinstellung: false
Wenn noSSLVerify auf true gesetzt ist, wird Git angewiesen, die Überprüfung des SSL-Zertifikats zu überspringen.
spec.git.caCertSecretRef.name Der Name des Secrets, das das Zertifikat der Zertifizierungsstelle enthält. Wenn dieses Feld angegeben ist, muss der Git-Server ein von dieser Zertifizierungsstelle ausgestelltes Zertifikat verwenden. Das CA-Zertifikat muss im Secret unter einem Schlüssel mit dem Namen „cert“ gespeichert werden.
spec.override.resources Die Liste der Containerressourcenanfragen und Limitüberschreibungen. Optional.
Jedes Element in der Liste enthält drei Felder:
  • containerName: Dieses Feld kann entweder git-sync, oci-sync, hydration-controller oder reconciler sein.
  • cpuRequest (optional)
  • cpuLimit (optional)
  • memoryRequest (optional)
  • memoryLimit (optional)

Wenn für eine Ressourcenanfrage oder ein Limit kein Überschreibungswert angegeben ist, wird der Standardressourcenwert für die Anfrage oder das Limit verwendet.
spec.override.gitSyncDepth Mit gitSyncDepth können Sie die Anzahl der abzurufenden Git-Commits überschreiben.
Darf nicht kleiner als 0 sein.
Config Sync führt einen vollständigen Klon aus, wenn dieses Feld 0 ist, und einen oberflächlichen Klon, wenn dieses Feld größer als 0 ist.
Wenn dieses Feld nicht angegeben ist, wird es von Config Sync automatisch konfiguriert.
spec.override.statusMode Mit statusMode können Sie die Erfassung des Status auf Ressourcenebene aktivieren oder deaktivieren.
Der Standardwert ist enabled.
Wenn Sie die Erfassung des Status auf Ressourcenebene deaktivieren möchten, setzen Sie dieses Feld auf disabled.
spec.override.reconcileTimeout Mit reconcileTimeout können Sie den Grenzwert überschreiben, der angibt, wie lange auf den Abgleich von Ressourcen in einer Anwendungsgruppe gewartet werden soll, bevor sie aufgegeben werden. Alle Ressourcen in einem Commit können sich basierend auf den Abhängigkeiten in mehreren Anwendungsgruppen befinden.
Das Standardzeitlimit ist 5m.
Verwenden Sie einen String, um diesen Feldwert anzugeben, z. B. 30s oder 5m.
spec.override.enableShellInRendering enableShellInRendering gibt an, ob der Shell-Zugriff beim Renderingprozess aktiviert oder deaktiviert wird. Kustomize-Remote-Basen erfordern Shell-Zugriff. Wenn Sie dieses Feld auf true setzen, wird der Shell-Zugriff im Renderingprozess aktiviert und das Abrufen von Remotebasen aus öffentlichen Repositories unterstützt.
Der Standardwert ist false.

Weitere Informationen zu verwalteten und nicht verwalteten Feldern in RootSync-Objekten finden Sie unter Verwaltung von RootSync-Objekten durch den Flottendienst.

Beispiel-CRs

In den folgenden Abschnitten findest du Beispiele für Antwortvorlagen für RootSync und RepoSync.

RootSync-CR

Das folgende Beispiel zeigt ein RootSync-Objekt.

# root-sync.yaml
apiVersion: configsync.gke.io/v1beta1
kind: RootSync
metadata:
  name: root-sync
  namespace: config-management-system
spec:
  sourceType: git
  sourceFormat: unstructured
  git:
    repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    branch: init
    dir: config-sync-quickstart/multirepo/root
    auth: none
    period: 30s

RepoSync-CR

Das folgende Beispiel zeigt ein RepoSync-Objekt.

# repo-sync.yaml
apiVersion: configsync.gke.io/v1beta1
kind: RepoSync
metadata:
  name: repo-sync
  namespace: gamestore
spec:
  sourceType: git
  sourceFormat: unstructured
  git:
    repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    branch: init
    dir: config-sync-quickstart/multirepo/root
    auth: none
    period: 30s

Nächste Schritte