Mise à niveau de noeuds virtuels vers une version de Kubernetes plus récente
Découvrez comment mettre à niveau la version de Kubernetes exécutée sur des noeuds virtuels dans une grappe améliorée créée avec Kubernetes Engine.
Lorsque vous mettez à niveau la version de Kubernetes d'une grappe, Kubernetes Engine met à niveau le plan de contrôle et les noeuds virtuels de manière coordonnée. Le moteur Kubernetes met à niveau les noeuds virtuels en place, ce qui garantit que les charges de travail hautement disponibles s'exécutant dans la grappe ne sont pas perturbées pendant la mise à niveau.
Pour réduire le temps d'arrêt des applications, nous recommandons de configurer plusieurs répliques de pods sur les noeuds virtuels répartis dans les domaines de disponibilité et les domaines d'erreur. Vous pouvez contrôler davantage la disponibilité des charges de travail en configurant des budgets d'interruption de pods pour optimiser la disponibilité de la charge de travail (voir Spécification d'un budget d'interruption pour votre application dans la documentation sur Kubernetes).
Chaque pod s'exécutant sur un noeud virtuel comprend un composant kube-proxy, propre à la version de Kubernetes exécutée sur les noeuds de contrôle de la grappe. Lors de la mise à niveau d'un noeud virtuel, le moteur Kubernetes évite chaque pod avant de le replanifier dans le groupe de noeuds virtuels avec le composant kube-proxy approprié pour la version de Kubernetes exécutée sur les noeuds de plan de contrôle mis à niveau.
Pour mettre à niveau des noeuds virtuels vers une version de Kubernetes plus récente :
- Suivez les instructions pour mettre à niveau la version de Kubernetes exécutée sur les noeuds de plan de contrôle de la grappe (voir Mise à niveau de la version de Kubernetes sur les noeuds de plan de contrôle d'une grappe).
La version de Kubernetes exécutée sur les noeuds virtuels de chaque groupe de noeuds virtuels de la grappe est automatiquement mise à niveau.
- (Facultatif) Utilisez l'opération d'API GetVirtualNodePool pour voir le statut d'une mise à niveau du groupe de noeuds virtuels comme valeur de la propriété
lifecycleState
.Le statut de la mise à niveau du groupe de noeuds virtuels est retourné comme suit :- Mise à jour : Indique que la grappe, les noeuds virtuels et les pods du groupe de noeuds virtuels sont en cours de mise à niveau.
- Actif : Indique que la grappe, les noeuds virtuels et tous les pods du groupe de noeuds virtuels ont été mis à niveau.
- (Facultatif) Utilisez l'annotation de pod
oci.oraclecloud.com/pod.info.kubernetes_version
pour voir la version de kube-proxy actuellement en cours d'exécution sur chaque pod de la grappe. Par exemple, en entrant :kubectl get pods --all-namespaces -o jsonpath='{range .items[*]}{.metadata.namespace}{"/"}{.metadata.name}{", "}{.metadata.annotations.oci\.oraclecloud\.com\/pod\.info\.kubernetes_version}{"\n"}'