7.2. Prévention des mises à jour de la charge de travail lors d'une mise à jour EUS-to-EUS
Lorsque vous passez d'une version Extended Update Support (EUS) à la suivante, vous devez désactiver manuellement les mises à jour automatiques des charges de travail pour empêcher OpenShift Virtualization de migrer ou d'expulser des charges de travail pendant le processus de mise à jour.
Conditions préalables
- Vous utilisez une version EUS d'OpenShift Container Platform et souhaitez passer à la version EUS suivante. Vous n'avez pas encore mis à jour la version impaire entre les deux.
- Vous avez lu "Preparing to perform an EUS-to-EUS update" (Préparation à la mise à jour EUS-to-EUS) et vous avez pris connaissance des mises en garde et des exigences relatives à votre cluster OpenShift Container Platform.
- Vous avez pausé les pools de configuration des machines des nœuds de travail comme indiqué dans la documentation d'OpenShift Container Platform.
- Il est recommandé d'utiliser la stratégie d'approbation par défaut Automatic. Si vous utilisez la stratégie d'approbation Manual, vous devez approuver toutes les mises à jour en attente dans la console web. Pour plus de détails, reportez-vous à la section "Approbation manuelle d'une mise à jour de l'opérateur en attente".
Procédure
Sauvegardez la configuration actuelle de
workloadUpdateMethods
en exécutant la commande suivante :WORKLOAD_UPDATE_METHODS=$(oc get kv kubevirt-kubevirt-hyperconverged -n openshift-cnv -o jsonpath='{.spec.workloadUpdateStrategy.workloadUpdateMethods}')
$ WORKLOAD_UPDATE_METHODS=$(oc get kv kubevirt-kubevirt-hyperconverged -n openshift-cnv -o jsonpath='{.spec.workloadUpdateStrategy.workloadUpdateMethods}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Désactivez toutes les méthodes de mise à jour de la charge de travail en exécutant la commande suivante :
oc patch hco kubevirt-hyperconverged -n openshift-cnv --type json -p '[{"op":"replace","path":"/spec/workloadUpdateStrategy/workloadUpdateMethods", "value":[]}]'
$ oc patch hco kubevirt-hyperconverged -n openshift-cnv --type json -p '[{"op":"replace","path":"/spec/workloadUpdateStrategy/workloadUpdateMethods", "value":[]}]'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
hyperconverged.hco.kubevirt.io/kubevirt-hyperconverged patched
hyperconverged.hco.kubevirt.io/kubevirt-hyperconverged patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Assurez-vous que l'opérateur
HyperConverged
est bienUpgradeable
avant de continuer. Entrez la commande suivante et surveillez la sortie :oc get hco kubevirt-hyperconverged -n openshift-cnv -o json | jq ".status.conditions"
$ oc get hco kubevirt-hyperconverged -n openshift-cnv -o json | jq ".status.conditions"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple 7.1. Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- L'opérateur de virtualisation OpenShift a le statut
Upgradeable
.
Mettez manuellement à jour votre cluster à partir de la version EUS source vers la version mineure suivante d'OpenShift Container Platform :
oc adm upgrade
$ oc adm upgrade
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérification
Vérifiez la version actuelle en exécutant la commande suivante :
oc get clusterversion
$ oc get clusterversion
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteLa mise à jour d'OpenShift Container Platform vers la version suivante est une condition préalable à la mise à jour d'OpenShift Virtualization. Pour plus de détails, reportez-vous à la section " Mise à jour des clusters " de la documentation d'OpenShift Container Platform.
Mettre à jour OpenShift Virtualization.
- Avec la stratégie d'approbation par défaut Automatic, OpenShift Virtualization se met automatiquement à jour vers la version correspondante après la mise à jour d'OpenShift Container Platform.
- Si vous utilisez la stratégie d'approbation Manual, approuvez les mises à jour en attente en utilisant la console web.
Surveillez la mise à jour d'OpenShift Virtualization en exécutant la commande suivante :
oc get csv -n openshift-cnv
$ oc get csv -n openshift-cnv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Mettez à jour OpenShift Virtualization à chaque version de z-stream disponible pour la version mineure non-EUS, en surveillant chaque mise à jour en exécutant la commande montrée dans l'étape précédente.
Confirmez qu'OpenShift Virtualization a bien été mis à jour vers la dernière version z-stream de la version non-EUS en exécutant la commande suivante :
oc get hco kubevirt-hyperconverged -n openshift-cnv -o json | jq ".status.versions"
$ oc get hco kubevirt-hyperconverged -n openshift-cnv -o json | jq ".status.versions"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Attendez que l'opérateur
HyperConverged
ait l'étatUpgradeable
avant de procéder à la mise à jour suivante. Entrez la commande suivante et surveillez la sortie :oc get hco kubevirt-hyperconverged -n openshift-cnv -o json | jq ".status.conditions"
$ oc get hco kubevirt-hyperconverged -n openshift-cnv -o json | jq ".status.conditions"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Mettre à jour OpenShift Container Platform à la version EUS cible.
Confirmez que la mise à jour a réussi en vérifiant la version du cluster :
oc get clusterversion
$ oc get clusterversion
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Mettre à jour OpenShift Virtualization vers la version EUS cible.
- Avec la stratégie d'approbation par défaut Automatic, OpenShift Virtualization se met automatiquement à jour vers la version correspondante après la mise à jour d'OpenShift Container Platform.
- Si vous utilisez la stratégie d'approbation Manual, approuvez les mises à jour en attente en utilisant la console web.
Surveillez la mise à jour d'OpenShift Virtualization en exécutant la commande suivante :
oc get csv -n openshift-cnv
$ oc get csv -n openshift-cnv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow La mise à jour est terminée lorsque le champ
VERSION
correspond à la version EUS cible et que le champPHASE
indiqueSucceeded
.Rétablissez la configuration des méthodes de mise à jour de la charge de travail que vous avez sauvegardée :
oc patch hco kubevirt-hyperconverged -n openshift-cnv --type json -p "[{\"op\":\"add\",\"path\":\"/spec/workloadUpdateStrategy/workloadUpdateMethods\", \"value\":$WORKLOAD_UPDATE_METHODS}]"
$ oc patch hco kubevirt-hyperconverged -n openshift-cnv --type json -p "[{\"op\":\"add\",\"path\":\"/spec/workloadUpdateStrategy/workloadUpdateMethods\", \"value\":$WORKLOAD_UPDATE_METHODS}]"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
hyperconverged.hco.kubevirt.io/kubevirt-hyperconverged patched
hyperconverged.hco.kubevirt.io/kubevirt-hyperconverged patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérification
Vérifiez l'état de la migration de la VM en exécutant la commande suivante :
oc get vmim -A
$ oc get vmim -A
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Prochaines étapes
- Vous pouvez maintenant débloquer les pools de configuration des machines des nœuds de travail.