Problemi noti di Config Sync

Questa pagina elenca i problemi noti per le versioni supportate di Config Sync.

Molti dei problemi elencati qui sono stati risolti. La colonna Versione corretta indica la versione in cui è stata introdotta la correzione. Per ricevere questa correzione, esegui l'upgrade alla versione elencata o a una successiva.

Se fai parte del Google Developer Program, salva questa pagina per ricevere notifiche quando viene pubblicata una nota di rilascio relativa a questa pagina. Per saperne di più, consulta Pagine salvate.

Per filtrare i problemi noti in base a una versione del prodotto o a una categoria di problemi, seleziona i filtri dai seguenti menu a discesa.

Seleziona la versione di Config Sync:

Seleziona la categoria del problema:

In alternativa, filtra i problemi noti:

Categoria Versione identificata Versione corretta Problema e soluzione alternativa
Metriche 1.5.0 1.21.0

Corretto: metriche segnalate per i pacchetti eliminati

Se elimini un oggetto RootSync o RepoSync, ma non elimini l'oggetto ResourceGroup con lo stesso nome, Config Sync continua a segnalare le seguenti metriche per l'oggetto ResourceGroup:

  • rg_reconcile_duration_seconds
  • resource_group_total
  • resource_count
  • ready_resource_count
  • resource_ns_count
  • cluster_scoped_resource_count
  • crd_count
  • kcc_resource_count
  • pipeline_error_observed
L'oggetto ResourceGroup viene eliminato automaticamente solo se la propagazione dell'eliminazione è stata abilitata prima dell'eliminazione dell'oggetto RootSync o RepoSync.

Soluzione temporanea:

Elimina l'oggetto ResourceGroup:

kubectl delete resourcegroup RESOURCE_GROUP_NAME -n config-management-system

Sostituisci RESOURCE_GROUP_NAME con il nome dell' ResourceGroup oggetto da eliminare. Per saperne di più sulla denominazioneResourceGroup, consulta Controller ResourceGroup e oggetti ResourceGroup.

Integrità componente 1.15.0

Reconciler non pianificabile

I reconciler di Config Sync richiedono quantità variabili di risorse, a seconda della configurazione di RootSync o RepoSync. Alcune configurazioni richiedono più risorse di altre.

Se un reconciler non è pianificabile, potrebbe essere dovuto alla richiesta di più risorse di quelle disponibili sui nodi.

Se utilizzi cluster GKE in modalità standard, le richieste di risorse del reconciler sono impostate su un valore molto basso. Questa impostazione è stata scelta nel tentativo di consentire la pianificazione, anche se ciò avrebbe comportato limitazioni e prestazioni lente, in modo che Config Sync funzioni su cluster e nodi di piccole dimensioni. Tuttavia, sui cluster GKE Autopilot, le richieste del reconciler sono impostate su un valore più alto, per rappresentare in modo più realistico l'utilizzo durante la sincronizzazione.

Soluzione temporanea:

GKE Autopilot o Standard con provisioning automatico dei nodi abilitato dovrebbe essere in grado di vedere quante risorse vengono richieste e creare nodi di dimensioni appropriate per consentire la pianificazione. Tuttavia, se configuri manualmente le dimensioni dei nodi o delle istanze dei nodi, potresti dover modificare queste impostazioni per soddisfare i requisiti delle risorse dei pod del reconciler.

Metriche 1.15.0

Esportazione non riuscita. Autorizzazione negata

Per impostazione predefinita, quando il gestore del reconciler rileva le Credenziali predefinite dell'applicazione, otel-collector viene configurato per esportare le metriche in Prometheus, Cloud Monitoring e Monarch.

Soluzione temporanea:

otel-collector registra errori se non hai configurato Cloud Monitoring o personalizzato i filtri delle metriche e Cloud Monarch.

Metriche 1.15.0

Arresto anomalo di otel-collector con configurazione personalizzata

Se provi a modificare o eliminare uno dei ConfigMap predefiniti, otel-collector o otel-collector-google-cloud, otel-collector potrebbe generare un errore o arrestarsi in modo anomalo perché non è in grado di caricare il ConfigMap richiesto.

Soluzione temporanea:

Per personalizzare la configurazione di esportazione delle metriche, crea un ConfigMap denominato otel-collector-custom nello spazio dei nomi config-management-monitoring.

Correzione

Config Sync in conflitto con se stesso

Config Sync potrebbe sembrare in conflitto con un controller. se stesso. Questo problema si verifica se imposti il valore predefinito per un campo facoltativo di una risorsa nel repository Git. Ad esempio, l'impostazione di apiGroup: "" per l'oggetto di un RoleBinding attiva questo problema perché il campo apiGroup è facoltativo e una stringa vuota è il valore predefinito. I valori predefiniti dei campi stringa, booleani, e interi sono "", false, e 0 (rispettivamente).

Soluzione temporanea:

Rimuovi il campo dalla dichiarazione della risorsa.

Correzione

Config Sync in conflitto con le risorse di Config Connector

Config Sync potrebbe sembrare in conflitto con Config Connector per una risorsa, ad esempio unStorageBucket. Questo problema si verifica se non imposti il valore di un campo facoltativo di una risorsa spec.lifecycleRule.condition.withState nella fonte attendibile.

Soluzione temporanea:

Puoi evitare questo problema aggiungendo il campo withState=ANY sulla dichiarazione della risorsa. In alternativa, puoi abbandonare e poi riacquisire la risorsa con l' cnrm.cloud.google.com/state-into-spec: absent annotazione.

Fonte attendibile 1.20.0 1.21.3

Cicli di arresto anomalo del container git-sync dopo che un file di blocco Git è orfano

Se vedi il git-sync container in un ciclo di arresto anomalo con errori simili ai seguenti nel log del container git-sync, è possibile che una precedente chiamata git non sia riuscita e abbia lasciato un file di blocco orfano nel container:

    {"logger":""..."msg":"repo contains lock file","error":null,"path":"/repo/source/.git/shallow.lock"}
    ...runtime error: invalid memory address or nil pointer dereference
    

Soluzione temporanea:

Per risolvere questo problema, riavvia il pod del reconciler interessato per assegnargli un nuovo volume temporaneo:

    kubectl delete pod -n config-management-system RECONCILER_NAME
    
Sostituisci RECONCILER_NAME con il nome del reconciler dell'oggetto RootSync o RepoSync.
Sincronizzazione 1.7.0 1.21.0

Corretto: l'annotazione di ignoranza della mutazione non viene rispettata

Un bug nel reconciler di Config Sync fa sì che applichi le modifiche dalle configurazioni dichiarate anche quando è presente l'annotazione client.lifecycle.config.k8s.io/mutation. Ciò potrebbe causare la sovrascrittura dello stato dell'oggetto nel cluster.

Soluzione temporanea:

Puoi interrompere la gestione dell'oggetto gestito aggiungendo l'annotazione configmanagement.gke.io/managed: disabled. Tuttavia, la disattivazione della gestione impedisce a Config Sync di ricreare l'oggetto se viene eliminato dal cluster. Impedisce inoltre l'applicazione di ulteriori aggiornamenti nella fonte attendibile.

Sincronizzazione 1.15.0

Numero elevato di richieste PATCH inefficaci nei log di audit

Il correttore di Config Sync utilizza l'esecuzione di prova per rilevare la deriva. Ciò può causare la visualizzazione delle richieste PATCH nel log di audit, anche quando la PATCH non viene mantenuta, perché il log di audit non distingue tra le esecuzioni di prova e le richieste normali.

Soluzione temporanea:

Poiché il log di audit non può distinguere tra le richieste di esecuzione di prova e non di esecuzione di prova puoi ignorare le richieste PATCH.
Sincronizzazione 1.7.0 1.21.0

Corretto: impossibile scrivere l'inventario aggiornato nel cluster

Se Config Sync non riesce ad aggiornare lo stato di un oggetto ResourceGroup, potresti riscontrare un errore intermittente nei log del reconciler simile al seguente:

    KNV2009: task failed (action: "Inventory", name: "inventory-set-0"): failed to write updated inventory to cluster: Operation cannot be fulfilled on resourcegroups.kpt.dev "root-sync": the object has been modified; please apply your changes to the latest version and try again
    

Questo errore è dovuto a una race condition tra il reconciler e il controller ResourceGroup. Il controller ResourceGroup potrebbe aggiornare lo stato di ResourceGroup prima che il reconciler possa aggiornare la specifica di ResourceGroup, causando l'errore KNV2009.

Soluzione temporanea:

Non esiste una soluzione temporanea per questo problema. L'errore dovrebbe risolversi da solo.

Terraform Versione Terraform 5.41.0

Impossibile installare o eseguire l'upgrade di Config Sync utilizzando Terraform

La versione 5.41.0 di Terraform ha introdotto un nuovo campo nella risorsa google_gke_hub_feature_membership: config_sync.enabled. Poiché il valore predefinito di questo campo è false, se questo campo non è impostato esplicitamente su true, le installazioni o gli upgrade di Config Sync non riescono quando si utilizza Terraform versione 5.41.0 o successive. Se si verifica questo problema, potresti anche visualizzare un messaggio di errore che indica git spec not included in configmanagement spec.

Soluzione temporanea:

  • Se utilizzi la risorsa google_gke_hub_feature_membership, imposta manualmente config_sync.enabled su true.
  • Se utilizzi il acm sottomodulo, ti consigliamo di passare a un modo alternativo per installare Config Sync. Se non riesci a passare, esegui l'upgrade alla versione v33.0.0.

Google Cloud console

Errori di dati mancanti nella dashboard di Config Sync nella Google Cloud console

Potresti visualizzare errori come "dati mancanti" o "credenziali del cluster non valide" per i cluster Config Sync nelle dashboard della Google Cloud console. Questo problema può verificarsi quando non hai eseguito l'accesso ai cluster GDC (VMware) o GDC (bare metal).

Soluzione temporanea:

Se visualizzi questi tipi di errori nella Google Cloud console sui cluster GDC (VMware) o GDC (bare metal), assicurati di aver eseguito l'accesso ai cluster con GKE Identity Service o connect gateway.

Sincronizzazione 1.21.0

Corretto: Config Sync impedisce gli aggiornamenti delle risorse abbandonate

Prima della versione 1.21.0, un oggetto RootSync o RepoSync eliminato può lasciare dietro di sé diverse etichette e annotazioni che Config Sync utilizza per tenere traccia di questi oggetti risorsa.

Queste etichette e annotazioni possono causare i seguenti effetti collaterali dopo l'eliminazione di un oggetto RootSync o RepoSync:

  • Altri oggetti RepoSync non possono acquisire la proprietà degli oggetti gestiti in precedenza.
  • Se la prevenzione della deriva è abilitata, Config Sync potrebbe rifiutare le modifiche alle risorse abbandonate.

Strumento a riga di comando nomos 1.17.0

L'interfaccia a riga di comando nomos non supporta il plug-in di autenticazione oidc

Potresti visualizzare errori come no Auth Provider found for name "oidc" quando utilizzi lo strumento a riga di comando nomos. Questo problema potrebbe verificarsi quando utilizzi il plug-in di autenticazione oidc.

Soluzione temporanea:

Non esiste una soluzione temporanea. Il plug-in di autenticazione oidc verrà aggiunto in una release successiva.

Torna all'inizio

Passaggi successivi

  • Se non riesci a trovare una soluzione al tuo problema nella documentazione, consulta Richiedere assistenza per ulteriori informazioni, inclusi consigli sui seguenti argomenti: