Messaggi di errore

Questa pagina descrive i codici di errore di Config Sync e le azioni consigliate per gestirli.

I messaggi di errore di Config Sync sono costituiti da un ID errore nel formato KNV1234 dove 1234 è un numero univoco, seguito da una descrizione del problema e da un suggerimento su come risolverlo. K viene ereditato dalle convenzioni di Kubernetes, le regole con il prefisso N sono specifiche di nomos, V è specifico per gli errori rilevabili nello stato iniziale del repository e del cluster. I codici per gli errori rilevabili nello stato iniziale del repository e del cluster sono della forma KNV1XXX. I codici per gli errori rilevabili solo in fase di runtime sono della forma KNV2XXX.

Tabella degli errori KNV

Codice di errore Descrizione Azione consigliata

L'ID di InternalError è stato modificato in KNV9998 con Config Sync versione 1.6.1.

N/D

Ritirato in Config Sync 1.3.

N/D

Ritirato in Config Sync 1.3.

N/D

Quando utilizzi una struttura di repository gerarchica, una directory che contiene una configurazione dello spazio dei nomi non deve contenere sottodirectory.

Una directory senza una configurazione dello spazio dei nomi è una directory dello spazio dei nomi astratto e contiene directory che ereditano da essa. Di conseguenza, le directory dello spazio dei nomi astratto devono avere sottodirectory. Una directory contenente una configurazione dello spazio dei nomi è una directory dello spazio dei nomi e non può essere ereditata, quindi non deve avere sottodirectory.

Rimuovi la configurazione dello spazio dei nomi dalla directory principale o sposta la sottodirectory altrove.

Un oggetto con ambito cluster non deve dichiarare l'annotazione configmanagement.gke.io/namespace-selector. I selettori di spazi dei nomi possono essere dichiarati solo per gli oggetti con ambito di spazio dei nomi.

Rimuovi configmanagement.gke.io/namespace-selector dal campo metadata.annotations.

L'unica impostazione valida per l'annotazione di gestione è configmanagement.gke.io/managed=disabled. Questa impostazione viene utilizzata per annullare esplicitamente la gestione di una risorsa nel repository Git lasciando la configurazione archiviata. L'annotazione configmanagement.gke.io/managed=enabled non è necessaria.

Assicurati che l'annotazione di gestione sia configmanagement.gke.io/managed=disabled.

Per saperne di più, consulta Gestione degli oggetti.

Impossibile analizzare un oggetto dichiarato nel repository.

Convalida il formato YAML. Ad esempio, puoi utilizzare il comando kubectl --validate.

Se nomos vet restituisce questo errore su un tipo con group: configsync.gke.io, ad esempio un RepoSync, scarica v1.6.0-rc.6 o versioni successive dalla pagina dei download per risolvere il problema.

Quando utilizzi un repository non strutturato, le configurazioni non devono essere dichiarate in una directory dello spazio dei nomi astratto.

Sposta la configurazione elencata nel messaggio di errore in una directory dello spazio dei nomi.

Per saperne di più, consulta la pagina Utilizzo di un repository non strutturato.

Quando utilizzi una struttura di repository gerarchica, le configurazioni devono dichiarare spazi dei nomi che corrispondono alla directory dello spazio dei nomi che li contiene oppure omettere il campo.

Aggiorna il campo dello spazio dei nomi identificato nel messaggio di errore.

Per maggiori informazioni, consulta la pagina Struttura del repository gerarchico.

Le configurazioni non devono dichiarare annotazioni non supportate che iniziano con configmanagement.gke.io.

Assicurati di utilizzare una delle seguenti annotazioni supportate:

Le configurazioni non devono avere etichette con chiavi che iniziano con configmanagement.gke.io/. Questo prefisso della chiave dell'etichetta è riservato per l'utilizzo da parte di Config Sync.

Aggiorna le etichette identificate nel messaggio di errore. Ad esempio, se hai provato a dichiarare un'etichetta denominata
configmanagement.gke.io/example-label: label-value,
potresti modificarla in
example-label: label-value.

Ritirato in Config Sync 1.3.

N/D

La configurazione fa riferimento a un ClusterSelector o NamespaceSelector inesistente. Prima di poter utilizzare un selettore in un'annotazione per una configurazione, il selettore deve esistere.

Crea i selettori mancanti oppure, se il selettore è stato rimosso, rimuovi le configurazioni che vi fanno riferimento.

Le configurazioni ClusterSelector e NamespaceSelector utilizzano la sintassi corretta, ma è stato rilevato un errore di sintassi.

Assicurati di specificare la configurazione utilizzando lo schema dei dati appropriato:

Deprecato in Config Sync 1.3.2. N/D

Quando utilizzi la struttura gerarchica del repository, deve esistere una configurazione per l'operatore ConfigManagement nella directory system/ del repository. Questa configurazione deve includere le informazioni richieste, come la versione semantica del repository.

Definisci almeno una configurazione minima per l'operatore ConfigManagement. Per maggiori informazioni, consulta la pagina Struttura del repository gerarchico.

Ritirato in Config Sync 1.3. N/D

Quando utilizzi la struttura gerarchica del repository, gli spazi dei nomi non devono essere dichiarati direttamente nella directory namespaces/.

Crea una sottodirectory per le configurazioni dello spazio dei nomi elencate nel messaggio di errore. Per maggiori informazioni, consulta la pagina Struttura del repository gerarchico.

Quando utilizzi una struttura di repository gerarchica, una configurazione dello spazio dei nomi dichiara metadata.name e il suo valore deve corrispondere al nome della directory dello spazio dei nomi. Correggi metadata.name dello spazio dei nomi o la relativa directory.

Non è definita alcuna CustomResourceDefinition per la risorsa nel cluster.

Crea una CustomResourceDefinition per la risorsa a cui viene fatto riferimento nel messaggio di errore. I tipi di risorse che non sono oggetti Kubernetes integrati devono avere una CustomResourceDefinition.

Quando utilizzi un repository gerarchico, le configurazioni di questo tipo non possono essere dichiarate nella directory system/.

Sposta la risorsa a cui viene fatto riferimento nel messaggio di errore fuori dalla directory system/. Per maggiori informazioni, consulta la pagina Struttura del repository gerarchico.

Il campo spec.version nella configurazione del repository rappresenta la versione semantica del repository. Questo errore indica che stai utilizzando una versione non supportata.

Se il formato del repository è compatibile con la versione supportata, aggiorna il campo spec.version. Se devi eseguire l'upgrade, segui le istruzioni riportate nelle note di rilascio.

I nomi delle directory devono avere meno di 64 caratteri, essere composti da caratteri alfanumerici minuscoli o "-" e iniziare e terminare con un carattere alfanumerico.

Rinomina o rimuovi la directory con il nome errato.

Le configurazioni dello stesso tipo devono avere nomi univoci nello stesso spazio dei nomi e nei relativi spazi dei nomi astratti padre.

Rinomina o rimuovi le configurazioni a cui viene fatto riferimento nel messaggio di errore in modo che abbiano tutte nomi univoci.

Non possono esistere più risorse dello spazio dei nomi nella stessa directory.

Rimuovi le configurazioni duplicate in modo che rimanga una sola risorsa spazio dei nomi.

Tutte le configurazioni devono dichiarare metadata.name.

Aggiungi il campo metadata.name alle configurazioni problematiche.

Il tipo Repo.configmanagement.gke.io non è consentito se sourceFormat è impostato su unstructured.

Rimuovi la configurazione problematica o converti il repository in modo che utilizzi sourceFormat: hierarchy.

Se utilizzi un repository gerarchico, puoi dichiarare solo i tipi HierarchyConfig e Repo nella directory system/.

Assicurati che tutte le configurazioni dichiarate nella directory system/ siano uno dei tipi consentiti. In caso contrario, spostalo in un'altra directory.

È vietato dichiarare config-management-system, resource-group-system e config-management-monitoring, o risorse al loro interno.

Se hai dichiarato lo spazio dei nomi config-management-system, rimuovilo e rimuovi anche le configurazioni in questo spazio dei nomi.

Se hai dichiarato gli spazi dei nomi resource-group-system o config-management-monitoring, annulla la gestione dello spazio dei nomi del controller:

  1. Aggiorna Config Sync per interrompere la gestione dello spazio dei nomi e di qualsiasi risorsa dichiarata al suo interno.
  2. Attendi la sincronizzazione e poi verifica che le risorse corrispondenti siano ancora disponibili nel cluster, ma non in nomos status.
  3. Rimuovi il file YAML dello spazio dei nomi del controller dall'origine.
  4. Consenti a Config Sync di riprendere la gestione delle risorse.

Se in precedenza eseguivi la sincronizzazione con un repository gerarchico e dovevi dichiarare lo spazio dei nomi del controller insieme a tutte le risorse, valuta la possibilità di passare a un repository non strutturato per una maggiore flessibilità nella struttura delle origini.

Il formato di metadata.name fornito non è valido.

Modifica metadata.name in modo che soddisfi le seguenti condizioni:

  • Deve contenere meno di 254 caratteri
  • Essere composto da caratteri alfanumerici minuscoli, "-" o ".".
  • Iniziare e terminare con un carattere alfanumerico

Se metadata.name non è valido e la risorsa originale lo supporta, valuta la possibilità di utilizzare il campo spec.resourceID in modo da non essere limitato da queste limitazioni. Per ulteriori informazioni, vedi Gestione delle risorse con il campo resourceID.

Ritirato in Config Sync 1.3. N/D

È vietato dichiarare un oggetto con ambito spazio dei nomi al di fuori della directory namespaces/.

Sposta le configurazioni problematiche in una directory legale. Per maggiori informazioni sugli oggetti con ambito di spazio dei nomi, consulta Oggetti con ambito di spazio dei nomi.

È vietato dichiarare un oggetto con ambito cluster al di fuori della directory cluster/.

Sposta le configurazioni problematiche in una directory legale. Per saperne di più sugli oggetti con ambito cluster, consulta Oggetti con ambito cluster.

Ritirato in Config Sync 1.3. N/D

Questo tipo di risorsa non deve essere dichiarato in un HierarchyConfig.

Rimuovi la risorsa problematica. Per saperne di più su HierarchyConfig, consulta Disattivare l'ereditarietà per un tipo di oggetto.

È stato rilevato un valore non valido per HierarchyMode in un HierarchyConfig.

Modifica HierarchyMode in none o inherit. Per scoprire di più su HierarchyConfigs, consulta Disattivare l'ereditarietà per un tipo di oggetto.

Config Sync non può configurare questo oggetto.

Rimuovi la configurazione problematica dal repository.

Una directory dello spazio dei nomi astratto con configurazioni deve avere almeno una sottodirectory dello spazio dei nomi.

Aggiungi una directory dello spazio dei nomi alla directory dello spazio dei nomi astratto, aggiungi una configurazione dello spazio dei nomi alla directory dello spazio dei nomi astratto o rimuovi le configurazioni nella directory dello spazio dei nomi astratto.

Le configurazioni con metadata.ownerReference specificato non sono consentite.

Rimuovi il campo status dal repository di origine. Per le configurazioni di terze parti che non ti appartengono, utilizza kustomize patches per rimuovere in blocco i campi status specificati nei manifest.

Questo HierarchyConfig fa riferimento a una risorsa con ambito cluster. Gli oggetti con ambito cluster non sono consentiti in HierarchyConfig.

Aggiorna HierarchyConfig in modo che non faccia più riferimento alla risorsa problematica.

La rimozione di una definizione di risorsa personalizzata (CRD) e il mantenimento delle risorse personalizzate corrispondenti nel repository non sono consentiti.

Rimuovi la CRD insieme alle risorse personalizzate.

CustomResourceDefinition ha un nome non valido.

Modifica il nome in base al suggerimento nel messaggio di errore.

La configurazione utilizza un gruppo e un tipo deprecati.

Modifica il gruppo o il tipo in base al suggerimento nel messaggio di errore.

Le risorse con ambito cluster non devono dichiarare metadata.namespace.

Rimuovi il campo metadata.namespace dalla risorsa con ambito cluster.

Le risorse con ambito a livello di spazio dei nomi devono dichiarare metadata.namespace o metadata.annotations.configmanagement.gke.io/namespace-selector.

Aggiungi il campo mancante alla risorsa con ambito dello spazio dei nomi.

Le configurazioni contengono un valore non valido per un'annotazione.

Segui le istruzioni nel messaggio di errore per risolvere il problema.

Il valore di metadata.namespace non è un nome di spazio dei nomi Kubernetes valido.

Aggiorna il valore di metadata.namespace in modo che rispetti le seguenti regole:

  • Ha una lunghezza massima di 63 caratteri
  • È composto solo da lettere minuscole (a-z), cifre (0-9) e trattino '-'
  • Inizia e termina con una lettera minuscola o una cifra

Una risorsa è dichiarata in uno spazio dei nomi non gestito.

Rimuovi l'annotazione configmanagement.gke.io/managed: disabled o aggiungila alla risorsa dichiarata.

Una risorsa ha un'etichetta non valida.

Rimuovi le etichette illegali elencate nel messaggio di errore.

Un repository dello spazio dei nomi può dichiarare solo risorse con ambito a livello di spazio dei nomi nello spazio dei nomi a cui si applica il repository.

Assicurati che tutti i repository dello spazio dei nomi dichiarino correttamente le risorse con ambito a livello di spazio dei nomi. Ad esempio, il repository per il repository dello spazio dei nomi shipping può gestire solo le risorse nello spazio dei nomi shipping. Il valore di metadata.namespace è facoltativo. Per impostazione predefinita, Config Sync presuppone che tutte le risorse in un repository dello spazio dei nomi appartengano a quello spazio dei nomi.

Ad esempio, se una configurazione nel repository dello spazio dei nomi shipping ha dichiarato metadata.namespace: billing, verrà visualizzato un errore.

Oltre ad assicurarti che le risorse con ambito spazio dei nomi siano dichiarate correttamente, assicurati che gli spazi dei nomi siano dichiarati nel repository principale. Ciò è necessario perché gli spazi dei nomi sono limitati al cluster.

Un repository dello spazio dei nomi può dichiarare al massimo una risorsa Kptfile.

Rimuovi tutte le risorse Kptfile tranne una.

Quando gestisci oggetti in più origini attendibili, possono verificarsi conflitti quando lo stesso oggetto (gruppo corrispondente, tipo, nome e spazio dei nomi) viene dichiarato in più origini.

Ad esempio, quando lo stesso oggetto viene gestito da un RootSync e un RepoSync, vince RootSync. Se RootSync viene applicato per primo, RepoSync segnala un errore di stato KNV1060. Se viene applicato prima RepoSync, RootSync sovrascrive l'oggetto di RepoSync e RepoSync segnala un errore di stato KNV1060 quando vede l'aggiornamento.

Risolvi il conflitto aggiornando la configurazione in modo che corrisponda all'altra fonte attendibile o eliminando l'oggetto in conflitto da una delle fonti.

Il comando nomos vet controlla solo gli errori in un repository alla volta, quindi non può rilevare questo problema.

Un InvalidRepoSyncError segnala che un RepoSync non è configurato correttamente. Gli oggetti RepoSync devono essere configurati correttamente affinché Config Sync sincronizzi la configurazione dai repository di spazi dei nomi.

Segui le istruzioni nel messaggio di errore per correggere gli errori di configurazione.

Il Kptfile non ha un campo inventory valido. Un Kptfile deve avere un campo inventory non vuoto con identificatore e spazio dei nomi specificati.

Specifica i valori per .inventory.identifier e .inventory.namespace nel file Kptfile.

Sono stati trovati file Kpt nel repository principale. I file Kptfiles sono supportati solo nei repository con ambito namespace.

Rimuovi i Kptfile dal repository radice.

Impossibile analizzare il file api-resources.txt nel tuo repository.

Segui le istruzioni riportate nel messaggio di errore. Ad esempio, potresti dover eseguire di nuovo kubectl api-resources > api-resources.txt.

Il formato di CustomResourceDefinition non è corretto.

Controlla il campo specificato dal messaggio di errore e assicurati che il suo valore sia formattato correttamente.

Un oggetto di configurazione deve dichiarare solo l'annotazione cluster-selector. Questo errore si verifica quando esistono sia l'annotazione legacy (configmanagement.gke.io/cluster-selector) sia l'annotazione in linea (configsync.gke.io/cluster-name-selector).

Rimuovi una delle annotazioni dal campo metadata.annotations.

Il riconciliatore non riesce a codificare i campi dichiarati in un formato compatibile con l'applicazione lato server. Potrebbe essere causato da uno schema obsoleto.

Controlla il campo specificato dal messaggio di errore e assicurati che corrisponda allo schema del tipo di risorsa.

Il processo di rendering ha rilevato un problema che richiede l'intervento dell'utente.

Se il repository Git contiene configurazioni Kustomize, ma non esiste alcun file kustomization.yaml nella directory di sincronizzazione Git, aggiungi kustomization.yaml nella directory di sincronizzazione per attivare il processo di rendering oppure rimuovi kustomization.yaml da tutte le sottodirectory per ignorare il rendering.

Se l'errore è causato da errori kustomize build, potresti dover aggiornare le configurazioni di Kustomize nel repository Git. Puoi visualizzare l'anteprima e convalidare le configurazioni aggiornate localmente utilizzando rispettivamente nomos hydrate e nomos vet. Se le configurazioni aggiornate vengono visualizzate correttamente, puoi eseguire un nuovo commit per correggere l'errore KNV1068.

Se si verifica un errore kustomize build durante il pull delle basi remote dai repository pubblici, devi impostare spec.override.enableShellInRendering su true.

Un riconciliatore ha riconciliato il proprio oggetto RootSync o RepoSync. Un oggetto RootSync può gestire altri oggetti RootSync e RepoSync; un oggetto RepoSync può gestire altri oggetti RepoSync, ma non può autogestirsi.

Rimuovi l'oggetto RootSync o RepoSync dall'origine attendibile da cui viene sincronizzato.

Una chiamata di sistema a livello di sistema operativo che accede a una risorsa del file system non va a buon fine.

Questo errore è probabilmente causato da una configurazione YAML non valida o dall'utilizzo di caratteri speciali. Se hai una configurazione YAML non valida, viene visualizzato un messaggio di errore simile al seguente: KNV2001: yaml: line 2: did not find expected node content path:.... Per risolvere il problema, controlla i file YAML e risolvi eventuali problemi di configurazione. Ciò può essere causato da qualsiasi configurazione YAML all'interno del repository.

Se il nome o il percorso del file contiene caratteri speciali, potresti visualizzare un messaggio di errore simile a KNV2001: yaml: control characters are not allowed path:/repo/source/.../._pod.yaml. In questo esempio, ._pod.yaml non è un nome file valido. Per risolvere il problema, rimuovi i caratteri speciali dai nomi dei file o dei percorsi.

Una richiesta di accesso al server API Kubernetes non va a buon fine.

Le richieste API Kubernetes possono non riuscire per diversi motivi. Alcune cause comuni sono:

  • Errore di rilevamento dell'API
  • Timeout di richiesta o risposta lato client o lato server
  • Errore di identità, autenticazione o autorizzazione
  • Errore di connettività di rete
  • Il webhook ha rifiutato la richiesta
  • Webhook non integro o non raggiungibile dal server API

Config Sync riprova dopo la maggior parte degli errori del server API. Alcuni potrebbero essere problemi temporanei che si risolvono da soli, ma la maggior parte richiederà l'intervento dell'utente per essere risolti. Gli errori del server API sono raramente causati da Config Sync stesso, ma se sospetti che possano esserlo, invia una segnalazione di bug.

Una chiamata di sistema generica a livello di sistema operativo non riesce.

Config Sync non può leggere dalla fonte attendibile.

Questo errore può essere causato da diversi problemi. Per risolvere i problemi di connessione all'origine attendibile, consulta la pagina Risolvere i problemi di connessione all'origine attendibile. Per scoprire i problemi noti che causano errori KNV2004, consulta la sezione Problemi noti.

Config Sync è in conflitto con un altro controller per una risorsa. Queste battaglie consumano una grande quantità di risorse e possono peggiorare il rendimento. Per suggerimenti su come diagnosticare e risolvere i conflitti tra controller, consulta Risolvere i problemi di conflitti tra controller.

Per evitare l'eliminazione accidentale, Config Sync non consente di rimuovere tutti gli spazi dei nomi o le risorse con ambito cluster in un unico commit.

Se il webhook di ammissione di Config Sync è disattivato, ripristina il commit che elimina tutte le risorse.
Se il webhook di ammissione di Config Sync è attivato, lo spazio dei nomi potrebbe essere bloccato durante la terminazione. Per risolvere il problema, segui questi passaggi:

  1. Disattiva Config Sync e attendi che tutte le risorse vengano pulite o raggiungano uno stato stabile. Ad esempio, puoi eseguire kubectl get ns per assicurarti che gli spazi dei nomi vengano eliminati.
  2. Riattiva Config Sync.
  3. Ripristina il commit che elimina tutte le risorse.

Se vuoi eliminare l'intero insieme di risorse gestite, completa i seguenti passaggi:

  1. Rimuovi tutte le risorse con ambito spazio dei nomi o cluster tranne una nel primo commit e consenti a Config Sync di sincronizzare le modifiche.
  2. Rimuovi la risorsa finale in un secondo commit.

Una risorsa sul server API viene modificata o eliminata mentre Config Sync tenta anche di modificarla.

Se questo tipo di errore viene visualizzato solo all'avvio o di rado, puoi ignorarlo.

Se questi errori non sono temporanei (persistono per diversi minuti), potrebbero indicare un problema grave e nomos status segnala conflitti del controller.

Si tratta di un errore generico che indica che Config Sync non è riuscito a sincronizzare alcune configurazioni con il cluster.

Esistono diversi problemi che possono causare questo errore. Per suggerimenti su come risolvere i problemi comuni di sincronizzazione, consulta la sezione Risolvere i problemi di sincronizzazione.

Si tratta di un errore generico che indica un problema con una risorsa o un insieme di risorse.

Il messaggio di errore include le risorse specifiche che hanno causato l'errore. Esamina queste risorse.

Per procedere è necessaria una risorsa specifica, ma non è stata trovata. Ad esempio, l'operatore ConfigManagement ha tentato di aggiornare una risorsa, ma la risorsa è stata eliminata durante il calcolo dell'aggiornamento.

Crea o ripristina la risorsa mancante.

Questo errore segnala che è stata trovata più di un'istanza di un APIResource in un contesto in cui è consentita esattamente una di queste APIResource. Ad esempio, in un cluster deve esistere una sola risorsa Repo.

Rimuovi l'APIResource aggiuntiva.

Un riconciliatore dello spazio dei nomi non dispone di autorizzazioni sufficienti per gestire le risorse.

Assicurati che il riconciliatore disponga di autorizzazioni sufficienti.

Questo avviso si verifica quando la configurazione del webhook Config Sync viene modificata illegalmente. Le configurazioni webhook illegali vengono ignorate.

Rimuovi il webhook modificato illegalmente.

Il processo di rendering ha riscontrato un problema interno. Ad esempio, Config Sync non è in grado di accedere al file system.

Questo errore potrebbe indicare che il pod non è integro. Puoi riavviare i pod del reconciler eseguendo i seguenti comandi:

# restart a root reconciler
kubectl delete pod -n config-management-system -l configsync.gke.io/reconciler=root-reconciler

# restart a namespace reconciler
kubectl delete pod -n config-management-system -l configsync.gke.io/reconciler=ns-reconciler-NAMESPACE
      

Questo errore rappresenta un problema temporaneo che dovrebbe risolversi automaticamente in un secondo momento. Ad esempio, se lo stato di rendering non corrisponde alla configurazione di origine, potresti visualizzare questo errore.

L'errore dovrebbe risolversi automaticamente.

Si è verificato un problema con Config Sync.

Invia una segnalazione di bug.

Si è verificato un errore senza un messaggio di errore documentato.

Non abbiamo ancora scritto una documentazione specifica per l'errore che hai riscontrato.

Torna all'inizio

Messaggi di errore senza codice KNV

Gli errori segnalati dai riconciliatori di Config Sync hanno il codice di errore KNV, ma gli errori segnalati da altri componenti non hanno il codice KNV. Ad esempio, l'errore di autorizzazione negata proviene dal controller del parco risorse, che è un livello sopra Config Sync.

La seguente tabella elenca alcuni errori comuni senza il prefisso KNV.

Messaggio di errore Azione consigliata

Error: cannot build exporters: error creating stackdriver exporter: cannot configure Google Cloud metric exporter: stackdriver: google: could not find default credentials.

Error: Permission monitoring.timeSeries.create denied (or the resource may not exist).

Impossibile creare esportatori

Quando un componente di OpenTelemetry Collector non riesce ad accedere al account di servizio predefinito nello stesso spazio dei nomi, potresti notare che il pod otel-collector in config-management-monitoring è in stato CrashLoopBackoff oppure potresti visualizzare un messaggio di errore simile a quelli elencati.

Questo problema si verifica in genere quando Workload Identity Federation for GKE è abilitato in un cluster.

Per risolvere il problema, segui le istruzioni riportate in Monitoraggio di Config Sync per concedere l'autorizzazione di scrittura delle metriche al account di servizio predefinito.

Se l'errore persiste dopo la configurazione di IAM, riavvia il pod otel-collector affinché le modifiche vengano applicate.
Se utilizzi una soluzione di monitoraggio personalizzata, ma hai creato un fork del ConfigMap otel-collector-googlecloud predefinito, controlla e ripristina eventuali differenze.

server certificate verification failed. CAfile:/etc/ca-cert/cert CRLfile: none

Verifica del certificato del server non riuscita

Se il contenitore git-sync, helm-sync o oci-sync non riesce a recuperare gli artefatti, potresti visualizzare questo messaggio di errore.

Questo messaggio indica che il server è configurato con certificati di un'autorità di certificazione (CA) personalizzata. Tuttavia, la CA personalizzata non è configurata correttamente, pertanto il container non riesce a recuperare i dati dal server.

Per risolvere il problema, innanzitutto puoi verificare se il campo caCertSecretRef è stato configurato correttamente nell'oggetto RootSync o RepoSync e controllare anche se l'oggetto Secret esiste.

Successivamente, se il campo è stato configurato e l'oggetto Secret esiste, assicurati che l'oggetto Secret contenga i certificati completi.
A seconda di come viene eseguito il provisioning della CA personalizzata, gli approcci per controllare i certificati completi possono variare.

Ecco un esempio di come elencare i certificati del server:

echo -n | openssl s_client -showcerts -connect HOST:PORT -servername SERVER_NAME 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'
        

Puoi chiedere al tuo team di amministrazione di rete di ottenere i certificati CA per te.

Error message: "MESSAGE": "Unable to retrieve pull secret, the image pull may not succeed."

Impossibile recuperare il pull secret, il pull dell'immagine potrebbe non riuscire

Se utilizzi un registro privato con Google Distributed Cloud, l'installazione o l'upgrade di Config Sync può bloccarsi. Visualizzerai un errore simile a questo messaggio.

Per risolvere il problema, segui i passaggi descritti in Aggiorna Config Sync utilizzando un registro privato prima di installare o eseguire l'upgrade di Config Sync.

Permission 'gkehub.features.create' denied on 'projects/PROJECT_ID/locations/global/features/configmanagement'

Autorizzazione negata

Se ricevi un errore simile a questo esempio quando provi a configurare Config Sync, potresti non disporre del ruolo Amministratore GKE Hub.

Per assicurarti di disporre delle autorizzazioni richieste, assicurati di aver concesso i ruoli IAM richiesti.

Torna all'inizio

Passaggi successivi