Campi RootSync e RepoSync

Questa pagina fornisce un riferimento per i campi negli oggetti RootSync, RepoSync e ResourceGroup. Per scoprire di più sul funzionamento di questi oggetti, consulta Architettura di Config Sync.

Campi RootSync e RepoSync

Gli oggetti risorsa RootSync e RepoSync hanno gli stessi campi, ad eccezione dei seguenti campi solo RootSync:

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

Configurazione per il formato di origine

Chiave Descrizione
spec.sourceFormat Specifica il formato dell'origine attendibile. Facoltativo.
La convalida di questo campo è sensibile alle maiuscole.
  • Per gli oggetti RootSync, il valore deve essere hierarchy o unstructured. Se non è specificato, il valore predefinito è hierarchy, ma è consigliato unstructured.
  • Per gli oggetti RepoSync, il valore predefinito è unstructured e non può essere modificato.
Per saperne di più, consulta le guide ai formati non strutturato e gerarchico.

Configurazione per il tipo di origine

Chiave Descrizione
spec.sourceType sourceType specifica il tipo di origine attendibile. Deve essere uno tra git, oci o helm. Facoltativo.
Se non specificato, il valore è git. La convalida di questo campo è sensibile alle maiuscole.

Configurazione del repository Git

Chiave Descrizione
spec.git.auth Il tipo di secret configurato per l'accesso al repository Git. Deve essere ssh, cookiefile, gcenode, gcpserviceaccount, githubapp, token o none. La convalida di questo campo è sensibile alle maiuscole. Obbligatorio.
spec.git.gcpServiceAccountEmail Il service account Google Cloud utilizzato per annotare il controller RootSync o RepoSync. Questo campo viene utilizzato solo quando spec.git.auth è gcpserviceaccount.
spec.git.branch Il ramo Git del repository da cui eseguire la sincronizzazione. Questo campo è facoltativo e il valore predefinito è master. Ti consigliamo di utilizzare il campo spec.git.revision per specificare un nome di ramo. Se vengono utilizzati entrambi i campi, il campo spec.git.revision ha la precedenza su spec.git.branch.
spec.git.dir Il percorso assoluto nel repository Git alla directory principale che contiene la configurazione da sincronizzare. Valore predefinito: la directory radice (/) del repository.
spec.git.period La durata di tempo tra sincronizzazioni consecutive. Valore predefinito: 15s.
spec.git.repo L'URL del repository Git da cui eseguire la sincronizzazione. Obbligatorio.
spec.git.revision La revisione Git (branch, tag o commit) da cui eseguire la sincronizzazione. Questo campo è facoltativo e il valore predefinito è HEAD. Quando utilizzi un hash, deve essere un hash completo e non una forma abbreviata.
spec.git.secretRef.name Il nome del secret utilizzato per connettersi alla fonte di riferimento Git.
spec.git.noSSLVerify1 noSSLVerify specifica se attivare o disattivare la verifica del certificato SSL. Valore predefinito: false.
Se noSSLVerify è impostato su true, Git ignora la verifica del certificato SSL.
spec.git.caCertSecretRef.name1 Il nome del secret contenente il certificato dell'autorità di certificazione (CA). Se questo campo viene fornito, il server Git deve utilizzare un certificato emesso da questa CA. Il certificato CA deve essere archiviato nel secret con una chiave denominata "cert".

Configurazione del proxy per il repository Git

Se le norme di sicurezza della tua organizzazione richiedono di instradare il traffico tramite un proxy HTTP(S), puoi utilizzare l'URI del proxy per configurare Config Sync in modo che comunichi con l'host Git.

Chiave Descrizione
spec.git.proxy L'URL del proxy con lo schema per configurare l'accesso al repository Git utilizzando un proxy. Ad esempio, https://proxy.internal.business.co:443.
Il proxy Git accetta URL https, http e semplici, ma http è sconsigliato per motivi di sicurezza.
Se utilizzi un http o un URL semplice, assicurati che la comunicazione tra il server proxy e l'host Git sia sicura.
Questo campo ha effetto solo quando spec.git.auth è cookiefile, none o token.

Configurazione per l'immagine OCI

Config Sync richiede che il livello OCI sia compresso nel formato tar o tar+gzip.

Altri formati (ad esempio tar+bz2) non verranno riconosciuti da Config Sync. Il passaggio da un REPO valido a un'immagine OCI con un formato non supportato comporterà l'eliminazione delle risorse gestite senza errori.

Chiave Descrizione
spec.oci.auth Il tipo di autenticazione configurato per l'accesso all'immagine OCI. Deve essere gcenode, k8sserviceaccount, gcpserviceaccount o none. La convalida di questo campo è sensibile alle maiuscole. Obbligatorio.
spec.oci.gcpServiceAccountEmail Il service account Google Cloud utilizzato per annotare il controller RootSync o RepoSync. Questo campo viene utilizzato solo quando spec.oci.auth è gcpserviceaccount.
spec.oci.dir Il percorso assoluto nell'immagine OCI alla directory principale che contiene la configurazione da sincronizzare. Valore predefinito: la directory radice (/) dell'immagine.
spec.oci.period La durata di tempo tra sincronizzazioni consecutive. Valore predefinito: 15s.
spec.oci.image L'URL dell'immagine OCI da cui eseguire la sincronizzazione. Obbligatorio.
spec.oci.caCertSecretRef.name1

Il nome del secret contenente il certificato dell'autorità di certificazione (CA). Se questo campo viene fornito, il server OCI deve utilizzare un certificato emesso da questa CA. Il certificato CA deve essere archiviato nel secret con una chiave denominata "cert".

Configurazione per il repository Helm

Chiave Descrizione
spec.helm.auth Il tipo di autenticazione configurato per l'accesso al repository Helm. Deve essere token, gcenode, k8sserviceaccount, gcpserviceaccount o none. La convalida di questo campo è sensibile alle maiuscole. Obbligatorio.
spec.helm.gcpServiceAccountEmail Il service account Google Cloud utilizzato per annotare il controller RootSync o RepoSync. Questo campo viene utilizzato solo quando spec.helm.auth è gcpserviceaccount.
spec.helm.secretRef.name Il nome del secret utilizzato per accedere al repository Helm. Questo campo viene utilizzato solo quando spec.helm.auth è token.
spec.helm.repo L'URL del repository Helm da cui eseguire la sincronizzazione. Obbligatorio.
spec.helm.chart Il nome del grafico Helm. Obbligatorio.
spec.helm.version

Il numero di versione del grafico Helm. Predefinita: l'ultima versione.

Il campo della versione può essere specificato come valore statico, come intervallo di versioni da cui Config Sync estrae l'ultima, o lasciato vuoto per indicare che Config Sync deve estrarre l'ultimo grafico. Config Sync determina la versione "più recente" in base al controllo delle versioni semantico. Se specificato come intervallo o lasciato vuoto, Config Sync recupera il grafico ogni ora per impostazione predefinita. Puoi configurare il periodo di nuovo pull con il campo spec.helm.period. Se la versione è specificata come stringa letterale "latest", il grafico viene estratto nuovamente in base a spec.helm.period, proprio come con gli intervalli di versioni o le versioni vuote.

La sintassi dell'intervallo di versioni è identica a quella supportata dalla CLI Helm.

Se specifichi la versione come intervallo o lasci il valore vuoto, l'utilizzo della CPU potrebbe essere elevato per i grafici di grandi dimensioni con molte versioni. Puoi utilizzare spec.override per aumentare la richiesta di CPU per il container helm-sync, come nel seguente esempio:

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

La durata del tempo di attesa di Config Sync prima di estrarre nuovamente il grafico.

Il valore predefinito è 1 ora. Il campo accetta valori stringa, ad esempio "30s" o "5m". Per ulteriori informazioni, consulta la documentazione di Go sugli input validi.

Se la versione del grafico è un intervallo, utilizza il tag letterale "latest" o viene lasciata vuota per indicare che Config Sync deve estrarre l'ultima versione, il grafico viene estratto nuovamente in base a spec.helm.period. Se la versione del grafico è specificata come singola versione statica, il grafico non viene recuperato di nuovo.

spec.helm.releaseName Il nome della release di Helm.
spec.helm.namespace Questo valore si esclude a vicenda con spec.helm.deployNamespace.
namespace imposta lo spazio dei nomi di destinazione per una release. Questo campo viene utilizzato solo con gli oggetti RootSync. Imposta lo spazio dei nomi solo per le risorse che contengono namespace: {{ .Release.Namespace }} nei relativi modelli. Il valore specificato in spec.helm.namespace viene utilizzato solo come valore di Release.Namespace dichiarato nei tuoi modelli Helm. Per le risorse che non hanno namespace: {{ .Release.Namespace }} nei modelli, verrà utilizzato lo spazio dei nomi default. Valore predefinito: default
spec.helm.deployNamespace Questo valore si esclude a vicenda con spec.helm.namespace.
deployNamespace specifica lo spazio dei nomi in cui eseguire il deployment del grafico. L'impostazione di questo campo utilizza la funzione kpt set-namespace, che fa sì che Config Sync sostituisca i campi namespace delle risorse nel grafico, inclusi metadata.namespace delle risorse con ambito di spazio dei nomi, metadata.name degli oggetti Namespace e i riferimenti allo spazio dei nomi in alcuni tipi di risorse speciali.
Se deployNamespace non è impostato, le risorse in cui metadata.namespace non è impostato vengono sottoposte a deployment nello spazio dei nomi predefinito.
spec.helm.values

Valori da utilizzare al posto dei valori predefiniti che accompagnano il grafico. Formatta i valori nello stesso modo con il file values.yaml predefinito. Ad esempio:

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

Se viene specificato anche valuesFileRefs, i campi di values sostituiscono i campi di valuesFileRefs.

Per saperne di più, consulta il manifest di esempio di Helm.

spec.helm.includeCRDs Specifica se il modello Helm deve generare CustomResourceDefinitions. Valore predefinito: false.
spec.helm.valuesFileRefs

Un elenco di riferimenti agli oggetti nel cluster che rappresentano i valori da utilizzare al posto dei valori predefiniti che accompagnano il grafico. Sono supportate solo le ConfigMap. ConfigMap deve essere immutabile e trovarsi nello stesso spazio dei nomi di RootSync o RepoSync.

I volumi ConfigMap sono immutabili. Per modificare il file valuesFile dopo la sincronizzazione, devi creare un ConfigMap con un nome diverso e aggiornare RootSync o RepoSync spec.valuesFileRefs.name.

Quando vengono specificati più file di valori, le chiavi duplicate nei file successivi ignorano il valore dei file precedenti. Equivale a passare più file di valori alla CLI di Helm. Se viene specificato anche spec.helm.values, i campi di values sostituiscono quelli di valuesFileRefs.

Ogni elemento dell'elenco deve contenere quanto segue:

  • name (obbligatorio): il nome dell'oggetto ConfigMap
  • dataKey (facoltativo): la chiave di dati nell'oggetto da cui leggere i valori. Valore predefinito: values.yaml

Per un esempio di come modificare i valori, consulta Sincronizzare i grafici Helm.

spec.helm.caCertSecretRef.name1

Il nome del secret contenente il certificato dell'autorità di certificazione (CA). Se questo campo viene fornito, il server Helm deve utilizzare un certificato emesso da questa CA. Il certificato CA deve essere archiviato nel secret con una chiave denominata "cert".

Configurazione per l'override delle richieste e dei limiti di risorse di un riconciliatore di root o spazio dei nomi

Puoi ignorare i contenitori git-sync, oci-sync, helm-sync, hydration-controller e reconciler. È consentita la sostituzione parziale: quando non viene fornito un valore di sostituzione per una richiesta o un limite di risorse, viene utilizzato il valore predefinito della risorsa per la richiesta o il limite.

Per i cluster Autopilot, Config Sync ignora gli override dei limiti delle risorse. Gli override delle richieste di risorse vengono applicati solo quando esistono una o più richieste di risorse superiori all'output aggiustato corrispondente dichiarato nell'annotazione oppure quando esistono una o più richieste di risorse inferiori all'input corrispondente dichiarato nell'annotazione. Per saperne di più, consulta la sezione Requisiti del cluster per Config Sync.

Chiave Descrizione
spec.override.resources1 L'elenco degli override di richieste e limiti delle risorse del container. Facoltativo.
Ogni elemento dell'elenco contiene tre campi:
  • containerName: questo campo può essere git-sync, oci-sync, helm-sync, hydration-controller o reconciler.
  • cpuRequest (facoltativo)
  • cpuLimit (facoltativo)
  • memoryRequest (facoltativo)
  • memoryLimit (facoltativo)

Quando non viene fornito un valore di override per una richiesta o un limite di risorse, viene utilizzato il valore predefinito della risorsa per la richiesta o il limite.

Configurazione per l'override del livello di log di un contenitore nel riconciliatore root o dello spazio dei nomi

Quando il valore di override del livello di log non è impostato, il livello di log è configurato in modo da utilizzare il valore predefinito. Il livello di log predefinito per tutti i container in un reconciler RootSync o RepoSync è 0, ad eccezione del container git-sync, in cui il valore predefinito è 5. Il valore di override del livello di log accettato è compreso tra 0 e 10 inclusi.

Chiave Descrizione
spec.override.logLevels L'elenco dei valori di override del livello di log del container. Facoltativo.
Ogni elemento dell'elenco contiene due campi:
  • containerName: questo campo può essere git-sync, oci-sync, helm-sync, hydration-controller o reconciler.
  • logLevel

Quando non viene fornito un valore di override per il livello di log di un container, viene utilizzato il valore predefinito del livello di log.

Configurazione del numero di commit Git da recuperare

Chiave Descrizione
spec.override.gitSyncDepth1 gitSyncDepth consente di ignorare il numero di commit Git da recuperare.
Deve essere almeno pari a 0.
Config Sync esegue una clonazione completa se questo campo è 0 e una clonazione superficiale se questo campo è maggiore di 0.
Se questo campo non viene fornito, Config Sync lo configura automaticamente.

Configurazione per l'acquisizione dello stato a livello di risorsa

Chiave Descrizione
spec.override.statusMode1 statusMode ti consente di attivare o disattivare l'acquisizione dello stato a livello di risorsa.
Il valore predefinito è enabled.
Per disattivare l'acquisizione dello stato a livello di risorsa, imposta questo campo su disabled.

Configurazione per l'override del timeout di riconciliazione

Chiave Descrizione
spec.override.reconcileTimeout1 reconcileTimeout ti consente di ignorare la soglia di tempo di attesa delle risorse in un gruppo di applicazione da riconciliare prima di rinunciare. Tutte le risorse di un commit possono trovarsi in più gruppi di applicazione in base alle dipendenze.
Il timeout predefinito è 5m.
Utilizza la stringa per specificare il valore di questo campo, ad esempio 30s, 5m.

Configurazione per l'override del timeout per le richieste al server API

Chiave Descrizione
spec.override.apiServerTimeout1 apiServerTimeout ti consente di ignorare il timeout per le richieste al server API. Il timeout predefinito è 15 secondi, specificato come 15s
. Utilizza la stringa per specificare il valore di questo campo, ad esempio 30s, 5m.

Configurazione per l'accesso alla shell nel processo di rendering

Chiave Descrizione
spec.override.enableShellInRendering1 enableShellInRendering specifica se attivare o disattivare l'accesso alla shell nel processo di rendering. Le basi remote di Kustomize richiedono l'accesso alla shell. Se imposti questo campo su true, l'accesso alla shell viene attivato nel processo di rendering e supporta il pull delle basi remote dai repository pubblici.
Il valore predefinito è false.

Configurazione per la strategia dello spazio dei nomi (solo RootSync)

Chiave Descrizione
spec.override.namespaceStrategy1 namespaceStrategy controlla il modo in cui il riconciliatore gestisce le configurazioni dello spazio dei nomi mancanti degli oggetti con ambito di spazio dei nomi dichiarati nell'origine. Si applica solo quando si utilizza il formato di origine unstructured.
  • implicit: il riconciliatore creerà implicitamente gli spazi dei nomi se non esistono, anche se non sono dichiarati nell'origine. Gli spazi dei nomi impliciti vengono creati con l'annotazione di prevenzione dell'eliminazione e gestiti da Config Sync.
  • explicit: il riconciliatore creerà solo gli spazi dei nomi dichiarati esplicitamente nell'origine.

Il valore predefinito è implicit.

Configurazione per i binding RBAC (solo RootSync)

Chiave Descrizione
spec.override.roleRefs1 roleRefs è un elenco di ruoli o ClusterRole per creare associazioni. Ogni elemento dell'elenco contiene i seguenti campi:
  • kind (obbligatorio): si riferisce al tipo di risorsa RBAC. I valori accettati sono Role e ClusterRole.
  • name (obbligatorio): il nome della risorsa Role o ClusterRole.
  • namespace (facoltativo): indica lo spazio dei nomi in cui deve essere creata un'associazione dei ruoli. Per gli oggetti ClusterRole, determina se viene creato un RoleBinding o un ClusterRoleBinding. Per gli oggetti Role, deve essere impostato sullo stesso spazio dei nomi del ruolo.

Se non è impostato, verrà creato un ClusterRoleBinding per cluster-admin.

Stato degli oggetti

Chiave Descrizione
status.observedGeneration La generazione (metadata.generation) della specifica di una risorsa RootSync o RepoSync osservata e su cui è intervenuto Config Sync l'ultima volta. Questo valore può essere confrontato con metadata.generation, che è un numero intero e viene aggiornato in base alla mutazione delle specifiche dal server API.
status.reconciler Il nome del processo di riconciliazione che corrisponde alla risorsa di sincronizzazione.
status.source.gitStatus.repo L'URL del repository Git recuperato.
status.source.gitStatus.revision La revisione Git (tag, commit o hash) recuperata.
status.source.gitStatus.branch Il ramo Git del repository recuperato.
status.source.gitStatus.dir Il percorso assoluto nel repository Git alla directory principale che contiene la configurazione a cui stai eseguendo la sincronizzazione.
status.source.ociStatus.image L'URL dell'immagine OCI in fase di recupero.
status.source.ociStatus.dir Il percorso assoluto nell'immagine OCI alla directory root che contiene la configurazione a cui stai eseguendo la sincronizzazione.
status.source.helmStatus.repo L'URL del repository Helm recuperato.
status.source.helmStatus.version La versione del grafico Helm in fase di recupero.
status.source.helmStatus.chart Il nome del grafico Helm recuperato.
status.source.commit L'hash del commit o del digest più recente recuperato dall'URL di origine.
status.source.errors Gli errori riscontrati durante la lettura e l'analisi delle configurazioni dall'origine attendibile. Potrebbero non essere inclusi tutti gli errori riscontrati, perché Config Sync tronca gli errori se sono troppi.
status.source.errorSummary.totalCount Un numero intero che tiene traccia del numero totale di errori riscontrati durante la lettura e l'analisi delle configurazioni dalla fonte di riferimento.
status.source.errorSummary.truncated Un valore booleano che indica se il campo status.source.errors include tutti gli errori riscontrati durante la lettura e l'analisi delle configurazioni dalla fonte di riferimento.
status.source.errorSummary.errorCountAfterTruncation Un numero intero che tiene traccia del numero di errori nel campo status.source.errors.
status.rendering.gitStatus.repo L'URL del repository Git di cui viene eseguito il rendering.
status.rendering.gitStatus.revision La revisione Git (tag, commit o hash) di cui viene eseguito il rendering.
status.rendering.gitStatus.branch Il ramo Git del repository di cui viene eseguito il rendering.
status.rendering.gitStatus.dir Il percorso assoluto nel repository Git alla directory principale che contiene la configurazione che stai eseguendo il rendering.
status.rendering.ociStatus.image L'URL dell'immagine OCI di cui viene eseguito il rendering.
status.rendering.ociStatus.dir Il percorso assoluto nell'immagine OCI alla directory root che contiene la configurazione che stai eseguendo il rendering.
status.rendering.helmStatus.repo L'URL del repository Helm di cui viene eseguito il rendering.
status.rendering.helmStatus.version La versione del grafico Helm di cui viene eseguito il rendering.
status.rendering.helmStatus.chart Il nome del grafico Helm di cui viene eseguito il rendering.
status.rendering.commit L'hash del commit o del digest più recente di cui è stato eseguito il rendering. Questo valore viene aggiornato anche quando un commit o un digest viene sincronizzato solo parzialmente a causa di un errore.
status.rendering.errors Un elenco di eventuali errori riscontrati durante il processo di rendering delle risorse dalla modifica indicata da status.rendering.commit. Potrebbero non essere inclusi tutti gli errori rilevati, poiché Config Sync tronca gli errori se sono troppo numerosi.
status.rendering.errorSummary.totalCount Un numero intero che tiene traccia del numero totale di errori riscontrati durante il processo di rendering delle configurazioni dalla fonte di riferimento.
status.rendering.errorSummary.truncated Un valore booleano che indica se il campo status.rendering.errors include tutti gli errori riscontrati durante il processo di rendering delle configurazioni dalla fonte di riferimento.
status.rendering.errorSummary.errorCountAfterTruncation Un numero intero che tiene traccia del numero di errori nel campo status.rendering.errors.
status.sync.gitStatus.repo L'URL del repository Git in fase di sincronizzazione.
status.sync.gitStatus.revision La revisione Git (tag, commit o hash) in fase di sincronizzazione.
status.sync.gitStatus.branch Il ramo Git del repository in fase di sincronizzazione.
status.sync.gitStatus.dir Il percorso assoluto nel repository Git alla directory principale che contiene la configurazione a cui stai eseguendo la sincronizzazione.
status.sync.ociStatus.image L'URL dell'immagine OCI da sincronizzare.
status.sync.ociStatus.dir Il percorso assoluto nell'immagine OCI alla directory root che contiene la configurazione a cui stai eseguendo la sincronizzazione.
status.sync.helmStatus.repo L'URL del repository Helm in fase di sincronizzazione.
status.sync.helmStatus.version La versione del grafico Helm in fase di sincronizzazione.
status.sync.helmStatus.chart Il nome del grafico Helm in fase di sincronizzazione.
status.sync.commit L'hash del commit o del digest più recente sincronizzato con il cluster. Questo valore viene aggiornato anche quando un commit o un digest viene sincronizzato solo parzialmente a causa di un errore.
status.sync.errors Un elenco di eventuali errori verificatisi durante l'applicazione delle risorse dalla modifica indicata da status.sync.commit. Potrebbero non essere inclusi tutti gli errori riscontrati, perché Config Sync tronca gli errori se sono troppi.
status.sync.errorSummary.totalCount Un numero intero che tiene traccia del numero totale di errori riscontrati durante l'applicazione delle configurazioni dalla fonte di riferimento.
status.sync.errorSummary.truncated Un valore booleano che indica se il campo status.sync.errors include tutti gli errori riscontrati durante l'applicazione delle configurazioni dalla fonte di riferimento.
status.sync.errorSummary.errorCountAfterTruncation Un numero intero che tiene traccia del numero di errori nel campo status.sync.errors.
status.conditions Un elenco di condizioni che monitorano lo stato attuale di un oggetto RootSync o RepoSync.
Quando il campo type di una condizione è Reconciling o Stalled:
  • Questa condizione indica lo stato di Reconciler Manager nella creazione e nella gestione del riconciliatore per questo oggetto RootSync o RepoSync.
  • Il campo errors della condizione tiene traccia degli errori riscontrati durante la riconciliazione dell'oggetto RootSync o RepoSync.
  • Il campo errorSummary della condizione riassume gli errori nel campo errors della condizione.
  • Il campo errorsSourceRefs della condizione è vuoto.
Quando il tipo di una condizione è Syncing:
  • Questa condizione indica lo stato del riconciliatore durante la sincronizzazione delle risorse con il cluster.
  • Il campo errors della condizione non viene utilizzato e deve essere ignorato.
  • Il campo errorsSourceRefs della condizione tiene traccia dell'origine degli errori. L'origine degli errori può essere status.rendering.errors, status.source.errors, o status.sync.errors.
  • Il campo errorSummary della condizione riassume gli errori a cui si fa riferimento nel campo errorsSourceRefs.

1 Se hai creato un file di configurazione RootSync dopo l'installazione con la console Google Cloud o Google Cloud CLI, puoi sovrascrivere questo campo.

Campi ResourceGroup

Campi delle specifiche e dello stato

Chiave Descrizione
spec.resources L'elenco degli identificatori (Gruppo, Tipo, Spazio dei nomi, Nome) per le risorse applicate al cluster dal repository Git specificato in una CR RepoSync o una CR RootSync. Facoltativo.
Ogni elemento dell'elenco contiene quattro campi: group, kind, namespace e name.

Campi di stato

Chiave Descrizione
status.observedGeneration La generazione (metadata.generation) della specifica di una risorsa RootSync o RepoSync osservata e su cui è intervenuto per l'ultima volta il controller ResourceGroup. Questo valore può essere confrontato con metadata.generation, che è un numero intero e viene aggiornato in base alla mutazione della specifica dal server API.
status.conditions Le ultime condizioni osservate per il ResourceGroup corrente. Le condizioni hanno due tipi diversi: Reconciling e Stalled. Quando la condizione di tipo Reconciling è vera, significa che il ResourceGroup corrente è in riconciliazione. Quando la condizione di tipo Stalled è vera, significa che la riconciliazione è in stallo. Quando entrambi sono false, significa che il ResourceGroup corrente è riconciliato e lo stato è aggiornato.
status.resourceStatuses L'elenco degli stati delle risorse incluse in .spec.resources. Ogni elemento contiene l'identificatore (Group, Kind, Namespace o Name) e lo stato di una risorsa. Lo stato è uno dei seguenti: InProgress, Current, Failed, Terminating, NotFound o Unknown.

Campi root-sync non gestiti

I seguenti campi di RootSync denominato root-sync non sono gestiti dal servizio Fleet (hub) e possono essere modificati con qualsiasi client Kubernetes:

Chiave Descrizione
spec.helm Tutti i campi per la configurazione del repository Helm.
spec.override Tutti i campi per ignorare le configurazioni predefinite.
spec.git.noSSLVerify Specifica se attivare o disattivare la verifica del certificato SSL per Git. Il valore predefinito è false.
spec.git.caCertSecretRef.name Il nome del secret contenente il certificato dell'autorità di certificazione (CA) per un repository Git.
spec.oci.caCertSecretRef.name Il nome del secret contenente il certificato dell'autorità di certificazione (CA) per un repository OCI.

Per saperne di più sui campi gestiti e non gestiti negli oggetti RootSync, consulta Come il servizio Fleet gestisce gli oggetti RootSync.

Esempi di CR

Le sezioni seguenti mostrano esempi di richieste di modifica RootSync e RepoSync.

RootSync CR

L'esempio seguente mostra un oggetto RootSync.

# 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

L'esempio seguente mostra un oggetto RepoSync.

# 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

Passaggi successivi