Se hai problemi con l'aggiornamento di Google Distributed Cloud, le sezioni seguenti potrebbe aiutarti a risolvere il problema. Per ulteriori informazioni sulle impostazioni che possono essere aggiornate, consulta Che cosa può e non può essere aggiornato nei cluster.
Se hai bisogno di ulteriore assistenza, contatta l'assistenza clienti Google Cloud.Timeout di 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...
Questo tipo di errore di timeout può essere ignorato, ma puoi riprovare a eseguire l'aggiornamento . Se riprovi a eseguire il comando e il timeout si verifica di nuovo 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 potrebbe verificarsi per vari motivi, tra cui:
- Un errore o una configurazione errata.
- Hai eseguito
gkectl upgrade
in precedenza con la differenza di configurazione e ti aspettavi che le modifiche venissero applicate.gkectl upgrade
non applica alcuna differenza di configurazione, ad eccezione della versione .
- Hai già modificato la configurazione per un altro aggiornamento delle funzionalità, ma hai dimenticato di farlo
esegui il comando
gkectl update
.
Se riscontri questo comportamento, controlla la differenza nel messaggio di errore e aggiorna le impostazioni richieste una alla volta con più comandi gkectl update
. Per aiutarti a 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 mostrano messaggi di errore simili ai seguenti
esempi:
detected unsupported changes: (-current +desired)
...
- AdvancedNetworking: &true,
+ AdvancedNetworking: &false,
...
, which will be ignored
Se riscontri questo comportamento, esamina le differenze nel messaggio di errore e esegui le seguenti azioni:
- Se la modifica non è intenzionale, modifica il file YAML di configurazione e aggiornalo solo con le modifiche corrette e intenzionali.
- Nell'esempio precedente, se non intendevi disabilitare
AdvancedNetworking
, impostaadvancedNetworking: true
nel file YAML di configurazione.
- Nell'esempio precedente, se non intendevi disabilitare
- Se la modifica è intenzionale, l'errore indica che non è supportata. Esegui una delle seguenti azioni:
- Ricrea il cluster, se applicabile.
- Contatta Assistenza Google.
L'immagine del sistema operativo non esiste
I comandi gkectl update cluster
e gkectl update admin
potrebbero non riuscire con
OS Images
errori del controllo preflight 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 del sistema operativo è stata rimossa in modo imprevisto Ambiente vCenter, ad esempio tramite un job di pulizia periodica.
Per importare di nuovo 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 sul datastore insufficiente per i nuovi pool di nodi
Quando aggiungi nuovi pool di nodi, il comando gkectl update cluster
potrebbe non riuscire con errori di controllo preflight VSphere Datastore FreeSpace
simili all'esempio riportato di seguito:
- [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 per eseguire i nuovi pool di nodi. Utilizza una delle seguenti opzioni per creare spazio affinché l'operazione vada a buon fine:
- Libera spazio nel datastore.
- Configura un altro datastore
nodePools[].vsphere.datastore
per il pool di nodi.