Se riscontri problemi con l'aggiornamento di Google Distributed Cloud, le seguenti sezioni potrebbero aiutarti a risolvere il problema. Per ulteriori informazioni sulle impostazioni che possono essere aggiornate, consulta Cosa può e non può essere aggiornato nei cluster.
Timeout di aggiornamento
Il timeout di aggiornamento viene calcolato dinamicamente in base alle risorse da aggiornare. Tuttavia, il calcolo non è sempre preciso. Quando l'aggiornamento va in timeout, vengono visualizzati errori simili ai seguenti:
Nel cluster utente:
Failed to update the cluster:...timed out waiting for the condition...Nel cluster di amministrazione:
Failed to update the admin cluster:...timed out waiting for the condition...
Questo tipo di errore di timeout può essere ignorato in sicurezza e puoi riprovare a eseguire il comando di aggiornamento. Se riprovi a eseguire il comando e va di nuovo in timeout con lo stesso messaggio di errore, contatta l'assistenza clienti Google Cloud .
L'aggiornamento contiene più modifiche
I comandi gkectl update admin e gkectl update cluster non consentono di aggiornare più impostazioni in un unico comando. Quando la configurazione contiene una differenza con più impostazioni modificate e viene restituito un errore simile all'esempio seguente:
Update summary for cluster X:
antiAffinityGroups: enabled to be set to true from false &config.AAGSpec{
- Enabled: false,
+ Enabled: true,
}
user master cpu to be set to 5 from 4 config.NodePoolProps{
Role: "master",
MachineType: "standard-master",
- CPUs: 4,
+ CPUs: 5,
MemoryMB: 8192,
Replicas: 3,
... // 2 identical fields
Labels: nil,
NodeTaints: nil,
- Vsphere: nil,
&config.NodePoolVsphereSpec{Datastore: "lifecycle-workloads1-datastore1"},
+ Vsphere: nil,
BootDiskSizeGB: nil,
OSImageType: "",
... // 5 identical fields
}
Exit with error:
Failed to update the cluster: the update contains multiple changes. Please
update only one feature at a time
Questo errore può verificarsi per vari motivi, tra cui:
- Un errore o una configurazione errata.
- Hai eseguito
gkectl upgradein precedenza con la differenza di configurazione e ti aspettavi che le modifiche venissero applicate.gkectl upgradenon applica differenze di configurazione, ad eccezione dell'aumento della versione.
- In precedenza hai modificato la configurazione per un altro aggiornamento delle funzionalità, ma hai dimenticato di eseguire il comando
gkectl update.
Se riscontri questo comportamento, esamina la differenza nel messaggio di errore e aggiorna le impostazioni richieste una alla volta con più comandi gkectl update. Per identificare le modifiche, puoi utilizzare gkectl get-config per generare file di configurazione da un cluster e visualizzare lo stato e la configurazione esistenti.
Modifiche non supportate
I comandi gkectl update cluster e gkectl update admin ignorano le modifiche non supportate e visualizzano messaggi di errore simili agli esempi seguenti:
detected unsupported changes: (-current +desired)
...
- AdvancedNetworking: &true,
+ AdvancedNetworking: &false,
...
, which will be ignored
Se riscontri questo comportamento, esamina la differenza nel messaggio di errore ed esegui le seguenti azioni:
- Se la modifica non è intenzionale, modifica il file YAML di configurazione e aggiornalo solo con le modifiche corrette e previste.
- Nell'esempio precedente, se non intendevi disattivare
AdvancedNetworking, impostaadvancedNetworking: truenel file YAML di configurazione.
- Nell'esempio precedente, se non intendevi disattivare
- Se la modifica è intenzionale, l'errore indica che la modifica non è supportata. Esegui una delle seguenti azioni:
- Se applicabile, ricrea il cluster.
- Contatta l'assistenza Google.
L'immagine del sistema operativo non esiste
I comandi gkectl update cluster e gkectl update admin potrebbero non riuscire a causa di errori di controllo preliminare di OS Images simili agli esempi seguenti:
Nel cluster utente:
- Validation Category: OS Images - [FAILURE] User cluster OS images exist: os images [xxxx] don't exist, please run `gkectl prepare` to upload os images.Nel cluster di amministrazione:
- Validation Category: OS Images - [FAILURE] Admin cluster OS images exist: os images [xxxx] don't exist, please run `gkectl prepare` to upload os images.
Questi errori possono verificarsi se l'immagine del sistema operativo è stata rimossa in modo imprevisto nell'ambiente vCenter, ad esempio da un job di pulizia periodica.
Per reimportare le immagini del sistema operativo, esegui il comando gkectl prepare come segue:
gkectl prepare \
--bundle-path /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz \
--kubeconfig ADMIN_CLUSTER_KUBECONFIG \
--skip-upload-container-images
Spazio libero del datastore insufficiente per i nuovi node pool
Quando aggiungi nuovi node pool, il comando gkectl update cluster potrebbe non riuscire a causa di errori di controllo preliminare di VSphere Datastore FreeSpace simili all'esempio seguente:
- [FAILURE] VSphere Datastore FreeSpace: vCenter datastore: xxxx insufficient
FreeSpace, requires at least xxx GB
Questo errore indica che il datastore non ha spazio libero sufficiente per eseguire i nuovi node pool. Utilizza una delle seguenti opzioni per fornire spazio per il completamento dell'operazione:
- Libera spazio dal datastore.
- Configura un datastore
nodePools[].vsphere.datastorediverso per il node pool.
Passaggi successivi
Se hai bisogno di ulteriore assistenza, contatta l'assistenza clienti Google Cloud.
Puoi anche consultare Richiedere assistenza per ulteriori informazioni sulle risorse di assistenza, tra cui:
- Requisiti per l'apertura di una richiesta di assistenza.
- Strumenti per la risoluzione dei problemi, come log e metriche.
- Componenti , , and supportati, versioni e funzionalità di Google Distributed Cloud per VMware (solo software).