RootSync- und RepoSync-Felder

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

RootSync- und RepoSync-Felder

RootSync- und RepoSync-Ressourcenobjekte haben die gleichen Felder mit Ausnahme der folgenden RootSync-Felder:

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

Konfiguration für das Quellformat

Schlüssel Beschreibung
spec.sourceFormat Gibt an, wie die „Source of Truth“ 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. Der Standardwert ist hierarchy, wenn nicht angegeben, aber unstructured wird empfohlen.
  • Für RepoSync-Objekte ist der Standardwert unstructured und kann nicht geändert werden.
Weitere Informationen finden Sie in den Formatierungsleitfäden für unstrukturierte und hierarchische Daten.

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.
Wenn der Wert nicht angegeben ist, wird der Wert auf git gesetzt. 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. Muss ssh, cookiefile, gcenode, gcpserviceaccount, githubapp, token oder none sein. 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. Wir empfehlen, das Feld spec.git.revision zu verwenden, um einen Zweignamen anzugeben. Wenn beide Felder verwendet werden, hat das Feld 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-Revision (Zweig, Tag oder Commit), von der aus synchronisiert werden soll. 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.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 SSL-Zertifikatsprüfung zu überspringen.
spec.git.caCertSecretRef.name1 Der Name des Secrets, das das Zertifikat der Zertifizierungsstelle enthält. Ist dieses Feld angegeben, 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 einfache URLs, aber http wird aus Sicherheitsgründen nicht empfohlen.
Wenn Sie eine http- oder eine einfache URL verwenden, müssen Sie die Kommunikation zwischen Ihrem Proxyserver und dem Git-Host sicher machen.
Dieses Feld hat nur Auswirkungen, wenn spec.git.auth cookiefile, none oder token ist.

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. Ist dieses Feld angegeben, 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.

Konfiguration für das Helm-Repository

Schlüssel Beschreibung
spec.helm.auth Die Authentifizierungsart, die 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, das für den Zugriff auf das Helm-Repository verwendet wird. Dieses Feld wird nur verwendet, wenn spec.helm.auth token ist.
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. Standard: die neueste Version.

Das Feld „version“ kann als statischer Wert, als Versionsbereich, aus dem Config Sync die neueste Version abruft, oder leer angegeben werden, um anzugeben, dass Config Sync das neueste Diagramm abrufen soll. Config Sync bestimmt die „aktuelle“ Version basierend auf der semantischen Versionierung. Wenn sie als Bereich angegeben oder leer gelassen wird, ruft Config Sync das Diagramm standardmäßig jede Stunde neu ab. Sie können den Zeitraum für das erneute Abrufen mit dem Feld spec.helm.period konfigurieren. Wenn die Version als Literalstring „latest“ angegeben wird, wird das Diagramm gemäß spec.helm.period neu abgerufen, genau wie bei Versionsbereichen oder leeren Versionen.

Die Syntax für den Versionsbereich ist identisch mit der Syntax für den Versionsbereich, 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. Sie können spec.override verwenden, um die CPU-Anforderung für den helm-sync-Container zu erhöhen, wie im folgenden Beispiel:

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

Die Zeitdauer, die Config Sync wartet, bevor das Diagramm noch einmal abgerufen wird.

Der Standardwert ist 1 Stunde. Das Feld akzeptiert Stringwerte, z. B. „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 gelassen wird, 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 noch einmal abgerufen.

spec.helm.releaseName Der Name des Helm-Release.
spec.helm.namespace Dies schließt sich mit spec.helm.deployNamespace gegenseitig aus.
Mit namespace wird der Ziel-Namespace für einen Release festgelegt. Dieses Feld wird nur mit RootSync-Objekten verwendet. Ein Namespace wird nur für Ressourcen festgelegt, die in ihren Vorlagen namespace: {{ .Release.Namespace }} enthalten. Der in spec.helm.namespace angegebene Wert wird nur als Wert von Release.Namespace verwendet, der in Ihren Helm-Vorlagen deklariert ist. Für die Ressourcen, die in ihren Vorlagen nicht namespace: {{ .Release.Namespace }} enthalten, wird der Namespace default verwendet. Standard: 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 Sie dieses Feld festlegen, wird die kpt-Funktion „set-namespace“ verwendet. Dadurch ersetzt Config Sync die namespace-Felder von Ressourcen im Diagramm, einschließlich metadata.namespace von Namespace-bezogenen Ressourcen, metadata.name von Namespace-Objekten und Namespace-Referenzen 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 dieselbe Weise wie in der Standarddatei „values.yaml“. Beispiel:

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

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

Weitere Informationen finden Sie im Helm-Beispielmanifest.

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

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

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

Wenn mehrere Dateien mit Werten angegeben werden, überschreiben doppelte Schlüssel in späteren Dateien den Wert aus früheren Dateien. Dies entspricht dem Übergeben mehrerer Wertedateien an die Helm-Befehlszeile. Wenn auch spec.helm.values angegeben ist, werden Felder aus values durch Felder aus valuesFileRefs überschrieben.

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

Ein Beispiel dafür, wie Sie Werte ändern, finden Sie unter Helm-Charts synchronisieren.

spec.helm.caCertSecretRef.name1

Der Name des Secrets, das das Zertifikat der Zertifizierungsstelle enthält. Ist dieses Feld angegeben, 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.

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. Teilweises Überschreiben ist zulässig: Wenn kein Überschreibungswert für eine Ressourcenanfrage oder -grenze 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 in einem Root- oder Namespace-Abgleicher

Wenn kein Überschreibungswert für die Protokollebene festgelegt ist, wird die Protokollebene auf den Standardwert konfiguriert. Die standardmäßige Logebene für alle Container in einem RootSync- oder RepoSync-Abstimmungsdienst ist 0, mit Ausnahme des git-sync-Containers, für den der Standardwert 5 ist. Der akzeptierte Wert für die Überschreibung des Log-Levels liegt zwischen 0 und 10 (einschließlich).

Schlüssel Beschreibung
spec.override.logLevels Die Liste der Überschreibungswerte für die Containerprotokollebene. Optional.
Jedes Element 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 Protokollierungsebene eines Containers angegeben ist, wird der Standardwert für die Protokollierungsebene 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 beträgt 15 Sekunden und wird als 15s
angegeben. Verwenden Sie einen String, um diesen Feldwert anzugeben, z. B. 30s, 5m.

Konfiguration für den Shell-Zugriff im Renderingprozess

Schlüssel Beschreibung
spec.override.enableShellInRendering1 enableShellInRendering gibt an, ob der Shell-Zugriff im Renderingprozess aktiviert oder deaktiviert werden soll. 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 die Namespace-Strategie (nur RootSync)

Schlüssel Beschreibung
spec.override.namespaceStrategy1 namespaceStrategy steuert, wie der Reconciler fehlende Namespace-Konfigurationen der im Quellcode deklarierten Namespace-Objekte verarbeitet. Gilt nur, wenn das unstructured-Quellformat verwendet wird.
  • implicit: Der Abgleich wird Namespaces implizit erstellen, wenn sie nicht vorhanden sind, auch wenn sie in der Quelle nicht deklariert sind. Implizite Namespaces werden mit der Annotation zum Schutz vor Löschvorgängen erstellt und von Config Sync verwaltet.
  • explicit: Der Abgleich 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 Rollen oder ClusterRoles, für die Bindungen erstellt werden sollen. Jedes Element 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. Für ClusterRole-Objekte wird festgelegt, ob ein RoleBinding- oder ClusterRoleBinding-Objekt erstellt wird. Bei Role-Objekten muss der Namespace mit dem Namespace der Rolle übereinstimmen.

Wenn nicht festgelegt, wird ein ClusterRoleBinding für 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 Helm-Repository-URL, die abgerufen wird.
status.source.helmStatus.version Die Version des Helm-Diagramms, das abgerufen wird.
status.source.helmStatus.chart Der Name des Helm-Diagramms, das abgerufen wird.
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. Diese Liste enthält möglicherweise nicht alle aufgetretenen Fehler, da Config Sync Fehler abschneidet, wenn zu viele Fehler vorhanden sind.
status.source.errorSummary.totalCount Eine Ganzzahl, die die Gesamtzahl der Fehler angibt, 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 angibt.
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. Diese Liste enthält möglicherweise nicht alle aufgetretenen Fehler, da Config Sync Fehler abschneidet, wenn zu viele Fehler vorhanden sind.
status.rendering.errorSummary.totalCount Eine Ganzzahl, die die Gesamtzahl der Fehler angibt, 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 angibt.
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 Helm-Repository-URL, die synchronisiert wird.
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. Diese Liste enthält möglicherweise nicht alle aufgetretenen Fehler, da Config Sync Fehler abschneidet, wenn zu viele Fehler vorhanden sind.
status.sync.errorSummary.totalCount Eine Ganzzahl, die die Gesamtzahl der Fehler angibt, 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 angibt.
status.conditions Eine Liste mit Bedingungen, die den aktuellen Status eines RootSync- oder RepoSync-Objekts erfassen.
Wenn das Feld type einer Bedingung Reconciling oder Stalled ist:
  • Diese Bedingung gibt den Status des Reconciler Manager beim Erstellen und Verwalten des Abgleichs für dieses RootSync- oder RepoSync-Objekt an.
  • Im Feld errors des Status werden die Fehler erfasst, die beim Abgleichen 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:
  • Diese Bedingung gibt den Status des Abgleichs beim Synchronisieren von Ressourcen mit dem Cluster an.
  • Das Feld errors der Bedingung wird nicht verwendet und sollte ignoriert werden.
  • Im Feld errorsSourceRefs der Bedingung wird der Ursprung von Fehlern erfasst. Fehler können aus status.rendering.errors, status.source.errors oder status.sync.errors stammen.
  • Im Feld errorSummary der Bedingung werden die im Feld errorsSourceRefs genannten Fehler zusammengefasst.

1 Wenn Sie eine RootSync-Konfigurationsdatei nach der Installation mit der Google Cloud Console oder der Google Cloud CLI 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 auf den Cluster angewendet werden, der in einer RepoSync-CR oder einer RootSync-CR angegeben ist. Optional.
Jedes Element in der Liste enthält vier Felder: group, kind, namespace und name.

Statusfelder

Schlüssel Beschreibung
status.observedGeneration Die Generation (metadata.generation) der Spezifikation einer RootSync- oder RepoSync-Ressource, die zuletzt vom ResourceGroup-Controller beobachtet und bearbeitet 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 ID (Gruppe, Art, Namespace oder Name) und den Status einer Ressource. Der Status ist einer der folgenden: InProgress, Current, Failed, Terminating, NotFound oder Unknown.

Nicht verwaltete RootSync-Felder

Die folgenden Felder des RootSync mit dem Namen root-sync werden nicht vom Flotten- (Hub-)Dienst verwaltet und können mit einem beliebigen Kubernetes-Client bearbeitet werden:

Schlüssel Beschreibung
spec.helm Alle Felder für die Helm-Repository-Konfiguration.
spec.override Alle Felder zum Überschreiben von Standardkonfigurationen.
spec.git.noSSLVerify Gibt an, ob die SSL-Zertifikatsprüfung für Git aktiviert oder deaktiviert werden soll. Der Standardwert ist false.
spec.git.caCertSecretRef.name Der Name des Secrets, das das Zertifikat der Zertifizierungsstelle für ein Git-Repository enthält.
spec.oci.caCertSecretRef.name Der Name des Secrets, das das CA-Zertifikat für ein OCI-Repository enthält.

Weitere Informationen zu verwalteten und nicht verwalteten Feldern in RootSync-Objekten finden Sie unter So verwaltet der Flottendienst RootSync-Objekte.

Beispiel-CRs

Die folgenden Abschnitte enthalten Beispiele für RootSync- und RepoSync-CRs.

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: main
    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: main
    dir: config-sync-quickstart/multirepo/root
    auth: none
    period: 30s

Nächste Schritte