Messaggi di errore

In questa pagina vengono descritti i codici di errore di Config Sync e le azioni consigliate per gestire questi errori.

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 un suggerimento su come risolverlo. K viene ereditato dalle convenzioni Kubernetes, le regole con il prefisso N sono specifiche per nomos, mentre V è specifica 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 nel formato KNV1XXX. I codici per gli errori che possono essere rilevati solo in fase di runtime sono nel formato 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

Deprecato in Config Sync 1.3.

N/D

Deprecato 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 configurazione dello spazio dei nomi è una directory dello spazio dei nomi astratta dalle cui directory vengono ereditate. Di conseguenza, le directory degli spazi dei nomi astratte devono avere sottodirectory. Una directory contenente una configurazione dello spazio dei nomi è una directory dello spazio dei nomi da cui non può essere ereditata, perciò non deve avere sottodirectory.

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

Un oggetto con ambito cluster non deve dichiarare l'annotazione configmanagement.gke.io/namespace-selector. I selettori dello spazio dei nomi possono essere dichiarati solo per gli oggetti con ambito dello 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 ulteriori informazioni, consulta Gestione degli oggetti.

Impossibile analizzare un oggetto dichiarato nel repository.

Convalida il formato YAML. Ad esempio, puoi usare 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 in un secondo momento dalla pagina dei download per risolvere il problema.

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

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

Per maggiori informazioni, consulta 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 le contiene oppure omettere il campo.

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

Per maggiori informazioni, consulta 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 di 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 cambiarla in
example-label: label-value.

Deprecato in Config Sync 1.3.

N/D

La configurazione fa riferimento a un ClusterSelector o NamespaceSelector che non esiste. Prima di poter utilizzare un selettore in un'annotazione per una configurazione, è necessario che esista.

Crea i selettori mancanti o, 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 di dati appropriato:

Deprecato in Config Sync 1.3.2. N/D

Se utilizzi la struttura gerarchica del repository, è necessario che esista una configurazione per l'operatore ConfigManagement nella directory system/ del repository. Questa configurazione deve includere le informazioni obbligatorie, come la versione semantica del repository.

Definisci almeno una configurazione minima per l'operatore ConfigManagement. Per saperne di più, consulta Struttura del repository gerarchico.

Deprecato 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 saperne di più, consulta 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 o la relativa directory dello spazio dei nomi.

Non è definito CustomResourceDefinition per la risorsa nel cluster.

Creare una risorsa 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.

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

Sposta la risorsa a cui si fa riferimento nel messaggio di errore fuori dalla directory system/. Per maggiori informazioni, consulta 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 nelle note di rilascio.

I nomi delle directory devono contenere meno di 64 caratteri, essere costituiti da caratteri alfanumerici minuscoli o "-" e devono 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 i relativi spazi dei nomi astratti padre.

Rinomina o rimuovi tutte le configurazioni indicate nel messaggio di errore in modo che abbiano nomi univoci.

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

Rimuovi le configurazioni duplicate in modo che non rimanga più di una risorsa dello spazio dei nomi.

Tutte le configurazioni devono dichiarare metadata.name.

Aggiungi il campo metadata.name alle configurazioni che causano problemi.

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 le configurazioni dichiarate nella directory system/ siano tra i tipi consentiti. In caso contrario, spostalo in un'altra directory.

È vietato dichiarare lo spazio dei nomi config-management-system o le risorse al suo interno.

A partire da Config Sync versione 1.17.0, anche gli spazi dei nomi resource-group-system e config-management-monitoring non possono essere dichiarati in una fonte di riferimento. Inoltre, non è consigliabile dichiarare alcuna risorsa negli spazi dei nomi resource-group-system e config-management-monitoring.

Se hai dichiarato lo spazio dei nomi config-management-system, rimuovilo e tutte le configurazioni al suo interno.

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 sotto.
  2. Attendi una sincronizzazione e verifica che le risorse corrispondenti siano ancora disponibili sul 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 qualsiasi risorsa, valuta la possibilità di passare a un repository non strutturato per una maggiore flessibilità nella struttura di origine.

Il formato metadata.name fornito non è valido.

Modifica metadata.name per soddisfare le seguenti condizioni:

  • Deve contenere meno di 254 caratteri
  • Deve essere composto da caratteri alfanumerici minuscoli, "-" o "."
  • Deve 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 maggiori informazioni, consulta Gestione delle risorse con il campo resourceID.

Deprecato in Config Sync 1.3. N/D

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

Sposta le configurazioni problematiche in modo che si trovino in una directory legale. Per saperne di più sugli oggetti con ambito dello spazio dei nomi, consulta Oggetti con ambito a livello di spazio dei nomi.

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

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

Deprecato 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 Disabilitare l'ereditarietà per un tipo di oggetto.

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

Modifica HierarchyMode in none o inherit. Per scoprire di più su HierarchyConfigs, consulta Disabilitare 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 astratta con configurazioni deve avere almeno una sottodirectory dello spazio dei nomi.

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

Le configurazioni con metadata.ownerReference specificato non sono consentite.

Rimuovi il campo status dal repository di codice sorgente. Per le configurazioni di terze parti che non sono di tua proprietà, usa kustomize patches per rimuovere in blocco i campi status specificati nei manifest.

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

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

Non è consentito rimuovere una definizione di risorse personalizzate (CRD) e lasciare le risorse personalizzate corrispondenti nel repository.

Rimuovi il CRD insieme alle risorse personalizzate.

CustomResourceDefinition ha un nome non valido.

Modifica il nome scegliendo quello consigliato nel messaggio di errore.

La configurazione utilizza un gruppo e un tipo deprecati.

Modifica Gruppo o Tipo con il consiglio 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 per correggere l'errore.

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

Aggiorna il valore di metadata.namespace in modo che sia conforme alle seguenti regole:

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

Una risorsa è stata 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 non consentite elencate nel messaggio di errore.

Un repository dello spazio dei nomi può dichiarare le risorse con ambito dello spazio dei nomi solo nello spazio dei nomi in cui si applica.

Assicurati che tutti i repository dello spazio dei nomi dichiarano correttamente le risorse con ambito dello 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 questo spazio dei nomi.

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

Oltre ad assicurarti che le risorse con ambito dello spazio dei nomi siano dichiarate correttamente, assicurati che gli spazi dei nomi siano dichiarati nel repository principale. Questa operazione è necessaria perché gli spazi dei nomi sono basati sul cluster.

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

Rimuovi tutte le risorse Kptfile tranne una.

Quando si gestiscono oggetti in più fonti attendibili, possono verificarsi conflitti quando lo stesso oggetto (gruppo, tipo, nome e spazio dei nomi corrispondente) viene dichiarato in più di un'origine.

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

Risolvi il conflitto aggiornando la configurazione in modo che corrisponda all'altra fonte di riferimento oppure eliminando l'oggetto in conflitto da una delle origini.

Il comando nomos vet verifica la presenza di errori solo 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 possa sincronizzare la configurazione dai repository dello spazio dei nomi.

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

Il file Kptfile non ha un campo inventario valido. Un Kptfile deve avere un campo dell'inventario non vuoto con sia identificatore che spazio dei nomi specificati.

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

Sono stati trovati file kpt nel repository radice. I file kptfile sono supportati solo nei repository con ambito dello spazio dei nomi.

Rimuovi i Kptfile dal repository root.

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

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

In nomos versione 1.16.1 e precedenti, viene visualizzato anche questo errore: KNV1064: unable to find APIGROUP column. Questo errore è causato dalla modifica del nome della colonna da APIGROUP a APIVERSION. Per limitare il problema, sostituisci manualmente APIVERSION in api-resources.txt con APIGROUP.

Il formato di CustomResourceDefinition non è valido.

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 codifica i campi dichiarati in un formato compatibile con l'attributo applicazione lato server. Il problema potrebbe essere dovuto a 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 riscontrato un problema utilizzabile dall'utente.

Se il repository Git contiene configurazioni Kustomize, ma non esiste nessun 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 directory secondarie per saltare il rendering.

Se l'errore è causato da errori relativi a kustomize build, potrebbe essere necessario aggiornare le configurazioni di Kustomize nel repository Git. Puoi visualizzare in anteprima e convalidare le configurazioni aggiornate in locale utilizzando rispettivamente nomos hydrate e nomos vet. Se il rendering delle configurazioni aggiornate viene eseguito correttamente, puoi eseguire il push di un nuovo commit per correggere l'errore KNV1068.

Se si verifica un errore kustomize build durante il pull di 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 possono gestirsi autonomamente.

Rimuovi l'oggetto RootSync o RepoSync dalla fonte attendibile da cui viene sincronizzato l'oggetto.

Una chiamata di sistema a livello di sistema operativo che accede a una risorsa di file system non riesce.

Questo errore è probabilmente causato da una configurazione YAML non valida o dall'utilizzo di caratteri speciali. Se hai una configurazione YAML non valida, vedrai un messaggio di errore simile al seguente: KNV2001: yaml: line 2: did not find expected node content path:.... Per risolvere questo 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 del file o il percorso 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 questo problema, rimuovi i caratteri speciali dai nomi dei file o del percorso.

Una richiesta di accesso al server API ha esito negativo.

È possibile che si sia verificato un errore di rilevamento dell'API. Per scoprire di più, consulta la pagina Errori di rilevamento delle API.

Una chiamata di sistema generica a livello di sistema operativo ha esito negativo.

Config Sync non può leggere dall'origine attendibile.

Esistono diversi problemi che possono causare questo errore. Per suggerimenti su come risolvere i problemi comuni di connessione alla fonte attendibile, consulta la pagina Risolvere i problemi di connessione alla fonte attendibile.

Config Sync sta lottando con un altro controller su una risorsa. Questi combattimenti consumano un'elevata quantità di risorse e possono compromettere le prestazioni. Per suggerimenti su come diagnosticare e risolvere i problemi dei controller, consulta la pagina Risolvere i problemi relativi ai 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 singolo commit.

Se il webhook di ammissione Config Sync è disabilitato, ripristina il commit che elimina tutte le risorse.
Se il webhook di ammissione Config Sync è abilitato, lo spazio dei nomi potrebbe essere bloccato durante l'arresto. Per risolvere il problema, segui questi passaggi:

  1. Disabilita Config Sync e attendi che tutte le risorse vengano pulite o abbiano 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'insieme completo di risorse in gestione, segui questi passaggi:

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

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

Se questo tipo di errore viene visualizzato solo all'avvio o raramente, puoi ignorarli.

Se questi errori non sono temporanei (permangono per diversi minuti), potrebbero indicare un problema grave e nomos status segnala combattimenti tra i 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 più 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 la risorsa non è stata trovata. Ad esempio, l'operatore ConfigManagement ha provato ad aggiornare una risorsa, ma questa è 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'APIAPI in un contesto in cui è consentita una sola risorsa API. Ad esempio, in un cluster deve esistere una sola risorsa Repo.

Rimuovi l'APIResource aggiuntiva.

Uno strumento di riconciliazione dello spazio dei nomi non ha 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 di webhook illegali vengono ignorate.

Rimuovi il webhook modificato illegalmente.

Si è verificato un problema interno durante il processo di rendering. 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 riconciliatore eseguendo i comandi seguenti:


# 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 del rendering non corrisponde alla configurazione di origine, potresti visualizzare questo errore.

L'errore dovrebbe risolversi automaticamente.

Si è verificato un problema con lo strumento a riga di comando nomos.

Invia una segnalazione di bug con il comando esatto che hai eseguito e il messaggio che hai ricevuto.

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

Non abbiamo ancora scritto documentazione specifica sull'errore che hai riscontrato.

Torna all'inizio

Messaggi di errore senza codice KNV

Gli errori segnalati dai riconciliatori di Config Sync presentano il codice KNV, mentre gli errori segnalati da altri componenti sono privi di questo codice. Ad esempio, l'errore di autorizzazione negata proviene dal controller del parco risorse, che è un livello superiore a Config Sync.

Nella tabella seguente sono elencati 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 in Open Telemetry Collector non può accedere all'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 di solito si verifica quando Workload Identity è abilitato in un cluster.

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

Se l'errore persiste dopo la configurazione di IAM, riavvia il pod otel-collector per applicare le modifiche.
Se utilizzi una soluzione di monitoraggio personalizzata, ma hai eseguito il fork del valore predefinito di otel-collector-googlecloud ConfigMap, verifica e basa nuovamente le differenze.

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

Verifica del certificato server non riuscita

Se il container git-sync non riesce a clonare il repository Git, potresti visualizzare questo messaggio di errore.

Questo messaggio indica che il server Git è configurato con certificati di un'autorità di certificazione (CA) personalizzata. Tuttavia, la CA personalizzata non è configurata correttamente e ciò comporta l'impossibilità da parte del container git-sync di clonare il repository Git.

Per risolvere il problema, innanzitutto puoi verificare se il campo spec.git.caCertSecretRef.name è stato specificato nell'oggetto RootSync o RepoSync, nonché se l'oggetto Secret esiste.

Quindi, se il campo è stato configurato ed esiste l'oggetto Secret, assicurati che l'oggetto Secret contenga i certificati completi.
A seconda della modalità di provisioning della CA personalizzata, gli approcci per la verifica dei certificati completi possono variare.

Ecco un esempio di come elencare i certificati server:


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

Puoi richiedere al tuo team di amministrazione di rete di ottenere i certificati CA per tuo conto.

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

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

Se utilizzi un registro privato con GKE su VMware, l'installazione o l'upgrade di Config Sync potrebbe bloccarsi. Verrà visualizzato un errore simile a questo messaggio.

Per risolvere questo problema, segui i passaggi descritti in Aggiornare 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