Puoi diagnosticare e risolvere i problemi che si verificano durante gli aggiornamenti dei cluster in Google Distributed Cloud, ad esempio timeout delle operazioni, modifiche alla configurazione rifiutate o ignorate ed errori dei controlli preflight. Per ulteriori informazioni sulle impostazioni che puoi aggiornare, consulta Cosa è possibile aggiornare e cosa no nei cluster.
Timeout aggiornamento
Il timeout dell'aggiornamento viene calcolato dinamicamente in base alle risorse da aggiornare. Tuttavia, il calcolo non è sempre preciso. Quando l'aggiornamento scade, 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...
Puoi ignorare questo tipo di errore di timeout e riprovare il comando di aggiornamento. Se riprovi a eseguire il comando e si verifica di nuovo un 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. Se il file di configurazione modifica più di un'impostazione, il comando restituisce un errore simile al seguente esempio:
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 potrebbe 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 alcuna differenza di configurazione, ad eccezione dell'incremento 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 errore, 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 ai seguenti esempi:
detected unsupported changes: (-current +desired)
...
- AdvancedNetworking: &true,
+ AdvancedNetworking: &false,
...
, which will be ignored
Se si verifica questo errore, 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 volevi disattivare
AdvancedNetworking, impostaadvancedNetworking: truenel file YAML di configurazione.
- Nell'esempio precedente, se non volevi disattivare
- Se la modifica è intenzionale, l'errore indica che non è supportata. Esegui una delle seguenti azioni:
- Se applicabile, ricrea il cluster.
- Contatta l'assistenza clienti Google Cloud.
L'immagine sistema operativo non esiste
I comandi gkectl update cluster e gkectl update admin potrebbero non riuscire con errori dei controlli preflight OS Images simili ai seguenti esempi:
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 sistema operativo è stata rimossa in modo imprevisto nel tuo ambiente vCenter, ad esempio da un job di pulizia periodico.
Per reimportare le immagini sistema operativo, esegui il seguente comando gkectl prepare:
gkectl prepare \
--bundle-path /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz \
--kubeconfig ADMIN_CLUSTER_KUBECONFIG \
--skip-upload-container-images
Spazio libero nel datastore insufficiente per i nuovi pool di nodi
Quando aggiungi nuovi node pool, il comando gkectl update cluster potrebbe non riuscire con errori dei controlli preflight VSphere Datastore FreeSpace simili al seguente esempio:
- [FAILURE] VSphere Datastore FreeSpace: vCenter datastore: xxxx insufficient
FreeSpace, requires at least xxx GB
Questo errore indica che il datastore non dispone di spazio libero sufficiente per i nuovi node pool. Per fornire spazio sufficiente per l'aggiornamento, esegui una delle seguenti operazioni:
- Liberare 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 Assistenza per ulteriori informazioni sulle risorse di assistenza, tra cui:
- Requisiti per l'apertura di una richiesta di assistenza.
- Strumenti per aiutarti a risolvere i problemi, come log e metriche.
- Componenti, versioni e funzionalità supportati di Google Distributed Cloud per VMware (solo software).