Campi RootSync e RepoSync

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

Campi RootSync e RepoSync

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

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

Configurazione per il formato di origine

Chiave Descrizione
spec.sourceFormat sourceFormat specifica il modo in cui viene formattato il repository. Facoltativo.
La convalida di questo campo è sensibile alle maiuscole.
  • Per gli oggetti RootSync, il valore deve essere uno tra hierarchy o unstructured. Se non specificato, il valore predefinito è hierarchy, ma è consigliato unstructured.
Per ulteriori dettagli, consulta le guide sui formati non strutturati e gerarchici.

Configurazione per il tipo di origine

Chiave Descrizione
spec.sourceType sourceType specifica il tipo di fonte attendibile. Deve essere uno tra git, oci o helm. Facoltativo.
Se non specificato, impostalo su 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, token o none. La convalida di questo campo è sensibile alle maiuscole. Obbligatorio.
spec.git.gcpServiceAccountEmail L'account di servizio Google Cloud utilizzato per annotare l'account di servizio Kubernetes del 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. A partire da Config Sync versione 1.17.0, ti consigliamo di utilizzare il campo spec.git.revision per specificare un nome ramo per semplicità. Se sono specificati sia il campo spec.git.revision sia il campo spec.git.branch, spec.git.revision ha la precedenza su spec.git.branch.
spec.git.dir Il percorso assoluto nel repository Git della directory root che contiene la configurazione da sincronizzare. Valore predefinito: la directory radice (/) del repository.
spec.git.period La durata 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 (ramo, tag o commit) da cui eseguire la sincronizzazione. Questo campo è facoltativo e il valore predefinito è HEAD. A partire da Config Sync versione 1.17.0, puoi anche specificare il nome di un ramo nel campo spec.git.revision. Quando si utilizza un hash nella versione 1.17.0 o successive, deve essere un hash completo e non una forma abbreviata.
spec.git.secretRef.name Il nome del secret utilizzato per la connessione alla sorgente di dati Git.
spec.git.noSSLVerify1 noSSLVerify specifica se abilitare o disabilitare la verifica del certificato SSL. Valore predefinito: false.
Se noSSLVerify è impostato su true, dice a Git di saltare 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 i criteri 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 da comunicare con il tuo host Git.

Chiave Descrizione
spec.git.proxy L'URL del proxy con schema per la configurazione dell'accesso al repository Git tramite un proxy. Ad esempio, https://proxy.internal.business.co:443.
Il proxy Git accetta https, http e URL semplici, ma http è sconsigliato per problemi 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.

Gli 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 L'account di servizio Google Cloud utilizzato per annotare l'account di servizio Kubernetes del controller RootSync o RepoSync. Questo campo viene utilizzato solo quando spec.oci.auth è gcpserviceaccount.
spec.oci.dir Il percorso assoluto nell'immagine OCI della directory principale che contiene la configurazione che vuoi sincronizzare. Valore predefinito: la directory radice (/) dell'immagine.
spec.oci.period La durata 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".

Questo campo è supportato a partire dalla versione 1.18.0.

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 L'account di servizio Google Cloud utilizzato per annotare l'account di servizio Kubernetes del 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. Predefinito: la versione più recente.

Nelle versioni di Config Sync precedenti alla 1.16.0, il campo della versione è disponibile, ma sono supportate solo le versioni statiche e non viene eseguito il nuovo pull dei grafici. In Config Sync 1.16.0 e versioni successive, il campo della versione può essere specificato come valore statico, come un intervallo di versioni da cui Config Sync estrae la versione più recente oppure può essere lasciato vuoto per indicare che Config Sync deve utilizzare il grafico più recente in base al server. Se specificato come intervallo o lasciato vuoto per indicare il più recente, Config Sync esegue una nuova estrazione del grafico ogni un'ora per impostazione predefinita. In Config Sync 1.16.1 e versioni successive, il periodo di ripetizione è configurabile con il campo spec.helm.period. Se la versione è specificata come stringa letterale "più recente", viene eseguito nuovamente il pull del grafico in base a spec.helm.period, proprio come con gli intervalli di versioni o con le versioni vuote.

La sintassi dell'intervallo di versioni è identica alla sintassi dell'intervallo di versioni supportata dall'interfaccia a riga di comando di Helm.

Specificare la versione come intervallo o lasciare il valore vuoto può causare un elevato utilizzo della CPU 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 nell'esempio seguente:

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

In Config Sync 1.16.1 e versioni successive, spec.helm.period è il tempo di attesa che Config Sync attende prima di estrarre nuovamente il grafico.

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

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

spec.helm.releaseName Il nome della release Helm.
spec.helm.namespace Si escludono 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 modelli. Il valore specificato in spec.helm.namespace viene utilizzato solo come valore di Release.Namespace dichiarato nei 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 Si escludono 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 di risorse con ambito dello spazio dei nomi, metadata.name di oggetti spazio dei nomi e riferimenti allo spazio dei nomi in alcuni tipi di risorse speciali.
Se deployNamespace non è impostato, viene eseguito il deployment delle risorse in cui non è impostato metadata.namespace 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 default values.yaml. Ad esempio:

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

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

Per ulteriori informazioni, 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 supportati solo gli oggetti ConfigMap. Il ConfigMap deve essere immutabile e nello stesso spazio dei nomi di RootSync o RepoSync.

I ConfigMap sono immutabili. Per modificare il 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 sostituiscono il valore dei file precedenti. Equivale a passare più file di valori all'interfaccia a riga di comando di Helm. Se è specificato anche spec.helm.values, i campi di values sostituiscono i campi di valuesFileRefs.

Ogni voce dell'elenco deve contenere quanto segue:

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

Questo campo è supportato a partire dalla versione 1.16.0.

Per un esempio di come modificare i valori, vedi Sincronizzare i grafici di 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".

Questo campo è supportato a partire dalla versione 1.18.0.

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

Puoi eseguire l'override dei container git-sync, oci-sync, helm-sync, hydration-controller e reconciler. È consentito l'override parziale: quando non viene fornito un valore di override per una richiesta o un limite di risorse, viene utilizzato il valore predefinito delle risorse 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 se esistono una o più richieste di risorse superiori all'output modificato corrispondente dichiarato nell'annotazione o se esistono una o più richieste di risorse inferiori all'input corrispondente dichiarato nell'annotazione. Per ulteriori informazioni, consulta Requisiti dei cluster per Config Sync.

Chiave Descrizione
spec.override.resources1 L'elenco di richieste di risorse container e override dei limiti. 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)

Se non viene fornito un valore di override per una richiesta o un limite di risorse, viene utilizzato il valore predefinito delle risorse per la richiesta o il limite.

Configurazione per la sostituzione del livello di log di un container nello strumento di riconciliazione principale o dello spazio dei nomi

Se il valore di override a livello di log non è impostato, il livello di log è configurato come valore predefinito. Il livello di log predefinito per tutti i container in un riconciliazione RootSync o RepoSync è 0, ad eccezione del container git-sync, dove il valore predefinito è 5. Il valore di override a livello di log accettato è compreso tra 0 e 10 inclusi.

Chiave Descrizione
spec.override.logLevels L'elenco di valori di override a 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

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

Configurazione per il numero di commit Git da recuperare

Chiave Descrizione
spec.override.gitSyncDepth1 gitSyncDepth consente di eseguire l'override del numero di commit Git da recuperare.
Non deve essere inferiore a 0.
Config Sync esegue un clone completo se questo campo è pari a 0 e un clone superficiale se questo campo è maggiore di 0.
Se questo campo non viene fornito, Config Sync lo configura automaticamente.

Configurazione per acquisire lo stato a livello di risorsa

Chiave Descrizione
spec.override.statusMode1 statusMode consente di abilitare o disabilitare l'acquisizione dello stato a livello di risorsa.
Il valore predefinito è enabled.
Per disabilitare 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 eseguire l'override della soglia di attesa per la riconciliazione delle risorse in un gruppo di applicazione prima di rinunciare. Tutte le risorse in un commit possono trovarsi in più gruppi di applicazione in base alle dipendenze.
Il timeout predefinito è 5m.
Utilizza la stringa per specificare questo valore di campo, ad esempio 30s, 5m.

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

Chiave Descrizione
spec.override.apiServerTimeout1 apiServerTimeout consente di eseguire l'override del timeout per le richieste al server API. Il timeout predefinito è 5s nelle versioni precedenti alla 1.16.0 e 15s nella versione 1.16.0 e successive.
Utilizza la stringa per specificare questo valore di campo, ad esempio 30s, 5m.

Configurazione dell'accesso alla shell nel processo di rendering

Chiave Descrizione
spec.override.enableShellInRendering1 enableShellInRendering specifica se abilitare o disabilitare l'accesso alla shell nel processo di rendering. Le basi remote di Kustomize richiedono l'accesso alla shell. L'impostazione di questo campo su true consente l'accesso alla shell nel processo di rendering e supporta il pull di 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 lo strumento di riconciliazione gestisce le configurazioni dello spazio dei nomi mancanti degli oggetti con ambito dello spazio dei nomi dichiarati nell'origine. Si applica solo quando si utilizza il formato di origine unstructured.
  • implicit: il riconciliatore creerà implicitamente 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 spazi dei nomi dichiarati esplicitamente nell'origine.

Il valore predefinito è implicit.

Configurazione per le associazioni RBAC (solo RootSync)

Chiave Descrizione
spec.override.roleRefs1 roleRefs è un elenco di Role 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 creato un RoleBinding. Per gli oggetti ClusterRole, determina se viene creato un oggetto RoleBinding o ClusterRoleBinding. Per gli oggetti Role, deve essere impostato sullo stesso spazio dei nomi del ruolo Role.

Se il criterio non viene configurato, verrà creato un ClusterRoleBinding in cluster-admin.

Stato degli oggetti

Chiave Descrizione
status.observedGeneration La generazione (metadata.generation) della specifica di una risorsa RootSync o RepoSync che è stata osservata e utilizzata per l'ultima volta da Config Sync. Questo valore può essere confrontato con metadata.generation, che è un numero intero e viene aggiornato in base alla modifica della specifica da parte del server API.
status.reconciler Il nome del processo di riconciliazione corrispondente alla risorsa di sincronizzazione.
status.source.gitStatus.repo L'URL del repository Git che viene recuperato.
status.source.gitStatus.revision La revisione Git (tag, commit o hash) che viene recuperata.
status.source.gitStatus.branch Il ramo Git del repository che viene recuperato.
status.source.gitStatus.dir Il percorso assoluto nel repository Git della directory radice contenente la configurazione con cui stai eseguendo la sincronizzazione.
status.source.ociStatus.image L'URL dell'immagine OCI recuperato.
status.source.ociStatus.dir Il percorso assoluto nell'immagine OCI alla directory principale che contiene la configurazione con cui stai eseguendo la sincronizzazione.
status.source.helmStatus.repo L'URL del repository Helm in fase di recupero.
status.source.helmStatus.version La versione del grafico Helm in fase di recupero.
status.source.helmStatus.chart Il nome del grafico grafico 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 dalla fonte attendibile. Ciò potrebbe non includere tutti gli errori riscontrati, perché Config Sync tronca gli errori se sono presenti troppi errori.
status.source.errorSummary.totalCount Un numero intero che monitora il numero totale di errori riscontrati durante la lettura e l'analisi delle configurazioni dalla fonte dei dati.
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 dei dati.
status.source.errorSummary.errorCountAfterTruncation Un numero intero che monitora il 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 della directory root che contiene la configurazione di cui 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 principale che contiene la configurazione di cui stai eseguendo il rendering.
status.rendering.helmStatus.repo L'URL del repository Helm sottoposto a rendering.
status.rendering.helmStatus.version La versione del grafico Helm in fase di rendering.
status.rendering.helmStatus.chart Il nome del grafico grafico visualizzato.
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 degli eventuali errori riscontrati durante il processo di rendering delle risorse dalla modifica indicata da status.rendering.commit. Questo potrebbe non includere tutti gli errori riscontrati, poiché Config Sync tronca gli errori se sono presenti troppi errori.
status.rendering.errorSummary.totalCount Un numero intero che monitora il numero totale di errori riscontrati durante il processo di rendering delle configurazioni dalla fonte dei dati.
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 dei dati.
status.rendering.errorSummary.errorCountAfterTruncation Un numero intero che monitora il 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 da sincronizzare.
status.sync.gitStatus.dir Il percorso assoluto nel repository Git della directory radice contenente la configurazione con cui stai eseguendo la sincronizzazione.
status.sync.ociStatus.image L'URL dell'immagine OCI in fase di sincronizzazione.
status.sync.ociStatus.dir Il percorso assoluto nell'immagine OCI alla directory principale che contiene la configurazione con 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 principale che viene sincronizzata.
status.sync.helmStatus.chart Il nome del grafico grafico 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 degli eventuali errori che si sono verificati durante l'applicazione delle risorse della modifica indicata da status.sync.commit. Questi errori potrebbero non includere tutti gli errori riscontrati, in quanto Config Sync tronca gli errori se sono presenti troppi errori.
status.sync.errorSummary.totalCount Un numero intero che monitora il 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 dei dati.
status.sync.errorSummary.errorCountAfterTruncation Un numero intero che monitora il 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:
  • Il campo errors della condizione monitora gli 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:
  • Il campo errors della condizione è vuoto
  • Il campo errorsSourceRefs della condizione monitora l'origine o le origini 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 indicati 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 di specifiche e stato

Chiave Descrizione
spec.resources L'elenco di identificatori (Gruppo, Tipo, Spazio dei nomi, Nome) per le risorse applicate al cluster dal repository Git specificato in una RP RepoSync o una RP 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 che è stata osservata e eseguita per l'ultima volta dal controller ResourceGroup. Questo valore può essere confrontato con metadata.generation, che è un numero intero e viene aggiornato in base alla modifica della specifica da parte del server API.
status.conditions Le ultime condizioni osservate per il gruppo di risorse attuale. Le condizioni hanno due tipi diversi: Reconciling e Stalled. Se la condizione del tipo Reconciling è vera, significa che l'attuale gruppo di risorse è in riconciliazione. Se la condizione di tipo Stalled è vera, significa che la riconciliazione è bloccata. Se entrambi i valori sono false, significa che il gruppo di risorse attuale è riconciliato e lo stato è aggiornato.
status.resourceStatuses L'elenco degli stati delle risorse incluse in .spec.resources. Ogni elemento contiene l'identificatore (Gruppo, Tipo, Spazio dei nomi o Nome) e lo stato di una risorsa. Lo stato può essere uno dei seguenti: InProgress, Current, Failed, Terminating, NotFound o Unknown.

Campi di sincronizzazione root non gestiti

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

Chiave Descrizione
spec.git.noSSLVerify noSSLVerify consente di specificare se abilitare o disabilitare la verifica del certificato SSL. Valore predefinito: false.
Se noSSLVerify è impostato su true, dice a Git di saltare la verifica del certificato SSL.
spec.git.caCertSecretRef.name 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 in una chiave denominata "cert".
spec.override.resources L'elenco di richieste di risorse container e degli override dei limiti. Facoltativo.
Ogni elemento dell'elenco contiene tre campi:
  • containerName: questo campo può essere git-sync, oci-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.
spec.override.gitSyncDepth gitSyncDepth consente di eseguire l'override del numero di commit Git da recuperare.
Non deve essere inferiore a 0.
Config Sync esegue un clone completo se questo campo è pari a 0 e un clone superficiale se questo campo è maggiore di 0.
Se questo campo non viene fornito, Config Sync lo configura automaticamente.
spec.override.statusMode statusMode consente di abilitare o disabilitare l'acquisizione dello stato a livello di risorsa.
Il valore predefinito è enabled.
Per disabilitare l'acquisizione dello stato a livello di risorsa, imposta questo campo su disabled.
spec.override.reconcileTimeout reconcileTimeout consente di eseguire l'override della soglia di attesa per la riconciliazione delle risorse in un gruppo di applicazione prima di rinunciare. Tutte le risorse in un commit possono trovarsi in più gruppi di applicazione in base alle dipendenze.
Il timeout predefinito è 5m.
Utilizza la stringa per specificare questo valore di campo, ad esempio 30s, 5m.
spec.override.enableShellInRendering enableShellInRendering specifica se abilitare o disabilitare l'accesso alla shell nel processo di rendering. Le basi remote di Kustomize richiedono l'accesso alla shell. L'impostazione di questo campo su true consente l'accesso alla shell nel processo di rendering e supporta il pull di basi remote dai repository pubblici.
Il valore predefinito è false.

Per saperne di più sui campi gestiti e non gestiti negli oggetti RootSync, vedi In che modo il servizio del parco risorse gestisce gli oggetti RootSync.

RP di esempio

Le seguenti sezioni mostrano esempi di RP RootSync e RepoSync.

RP RootSync

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

RP di RepoSync

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

Passaggi successivi