Aggiornamento dei nodi virtuali a una versione più recente di Kubernetes
Scopri come eseguire l'upgrade della versione di Kubernetes in esecuzione su nodi virtuali in un cluster avanzato creato con Kubernetes Engine.
Quando esegui l'upgrade della versione Kubernetes di un cluster, Kubernetes Engine aggiorna il piano di controllo e i nodi virtuali in modo coordinato. Il motore Kubernetes aggiorna i nodi virtuali in posizione, garantendo che i carichi di lavoro ad alta disponibilità in esecuzione nel cluster non vengano interrotti durante l'upgrade.
Per ridurre i tempi di inattività delle applicazioni, si consiglia di configurare più repliche pod su nodi virtuali distribuiti tra domini di disponibilità e domini di errore. Puoi controllare ulteriormente la disponibilità dei carichi di lavoro configurando i budget di interruzione dei pod per massimizzare la disponibilità dei carichi di lavoro (vedere Specifica di un budget per l'interruzione dell'applicazione nella documentazione di Kubernetes).
Ogni pod in esecuzione su un nodo virtuale include un componente kube-proxy, specifico della versione Kubernetes in esecuzione sui nodi di controllo del cluster. Quando si aggiorna un nodo virtuale, Kubernetes Engine evita ogni pod prima di riprogrammarlo nel pool di nodi virtuali con il componente kube-proxy corretto per la versione di Kubernetes in esecuzione sui nodi del piano di controllo aggiornati.
Per eseguire l'upgrade dei nodi virtuali a una versione più recente di Kubernetes:
- Seguire le istruzioni per eseguire l'upgrade della versione di Kubernetes in esecuzione sui nodi del piano di controllo del cluster (vedere Aggiornamento della versione Kubernetes sui nodi del piano di controllo in un cluster).
La versione di Kubernetes in esecuzione sui nodi virtuali in ogni pool di nodi virtuali nel cluster viene aggiornata automaticamente.
- (Facoltativo) Utilizzare l'operazione API GetVirtualNodePool per visualizzare lo stato dell'aggiornamento di un pool di nodi virtuali come valore della proprietà
lifecycleState
.Lo stato dell'aggiornamento del pool di nodi virtuali viene restituito come uno dei seguenti:- Aggiornamento: indica che il cluster, i nodi virtuali e i pod nel pool di nodi virtuali vengono aggiornati.
- Attivo: indica che il cluster, i nodi virtuali e tutti i pod nel pool di nodi virtuali sono stati aggiornati.
- (Facoltativo) Utilizzare l'annotazione pod
oci.oraclecloud.com/pod.info.kubernetes_version
per visualizzare la versione di kube-proxy attualmente in esecuzione in ogni pod del cluster. Ad esempio, immettendo:kubectl get pods --all-namespaces -o jsonpath='{range .items[*]}{.metadata.namespace}{"/"}{.metadata.name}{", "}{.metadata.annotations.oci\.oraclecloud\.com\/pod\.info\.kubernetes_version}{"\n"}'