Pourquoi OpenShift afficher la version du cluster n'est pas à jour ?

Cloud privé virtuel Infrastructure classique Satellite

Vous pouvez voir un ou plusieurs des éléments suivants pour une période prolongée.

  • La console Web OpenShift affiche une bannière indiquant que le cluster est en cours de mise à jour et la page Paramètres du cluster indique que la version en cours a le statut Partial.

  • Lorsque vous exécutez la commande ibmcloud oc cluster get --cluster <cluster_name>, vous voyez un état warning et un statut indiquant que les opérateurs de cluster ne sont pas à la dernière version.

    State:                          warning
    Status:                         Some Cluster Operators are down-level and need to be updated, see 'https://ibm.biz/rhos_clusterversion_ts'
    
  • Lorsque vous exécutez la commande oc get clusterversion, vous voyez une version antérieure.

    NAME      VERSION   AVAILABLE   PROGRESSING   SINCE   STATUS
    version   4.11.27   True        True          27h     Unable to apply 4.12.3: an unknown error has occurred: MultipleErrors
    
  • Vous voyez qu'une mise à niveau de cluster master a été annulée avec un statut similaire à celui-ci.

    Version update canceled. CAE012: Cannot complete cluster master operations because the current OpenShift clusterversion rollout is not complete. For more information, see the troubleshooting docs: 'https://ibm.biz/rhos_clusterversion_ts'
    

Une mise à jour du maître cluster vers une nouvelle version de correctif ou une mise à niveau vers une nouvelle version secondaire n'a pas abouti.

Une mise à jour du maître cluster se termine peu après la mise à jour de l'opérateur de version de cluster. L'opérateur de version de cluster gère les mises à jour des différents opérateurs de cluster, qui se poursuivent après la fin de la mise à jour du maître de cluster.

$ oc get clusterversion
NAME      VERSION   AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.13.11   True        False         33h     Cluster version is 4.13.11

$ oc get co
NAME                                       VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
console                                    4.13.11   True        False         False      2d3h    
csi-snapshot-controller                    4.13.11   True        False         False      2d4h    
dns                                        4.13.11   True        False         False      2d4h    
image-registry                             4.13.11   True        False         False      2d4h    
ingress                                    4.13.11   True        False         False      2d4h    
insights                                   4.13.11   True        False         False      2d4h    
kube-apiserver                             4.13.11   True        False         False      2d4h    
kube-controller-manager                    4.13.11   True        False         False      2d4h    
kube-scheduler                             4.13.11   True        False         False      2d4h    
kube-storage-version-migrator              4.13.11   True        False         False      2d4h    
marketplace                                4.13.11   True        False         False      2d4h    
monitoring                                 4.13.11   True        False         False      2d4h    
network                                    4.13.11   True        False         False      2d4h    
node-tuning                                4.13.11   True        False         False      32h     
openshift-apiserver                        4.13.11   True        False         False      2d4h    
openshift-controller-manager               4.13.11   True        False         False      2d4h    
openshift-samples                          4.13.11   True        False         False      33h     
operator-lifecycle-manager                 4.13.11   True        False         False      2d4h    
operator-lifecycle-manager-catalog         4.13.11   True        False         False      2d4h    
operator-lifecycle-manager-packageserver   4.13.11   True        False         False      2d4h    
service-ca                                 4.13.11   True        False         False      2d4h    
storage                                    4.13.11   True        False         False      2d4h    

Si le cluster vient d'être mis à niveau, la mise à niveau des opérateurs de cluster peut prendre plusieurs minutes. Il est normal de voir un statut tel que le suivant avec le nombre d'étapes terminées augmentant dans le temps.

Working towards 4.13.11: 511 of 616 done (82% complete), waiting on network

Si le cluster continue à afficher une mise à jour partielle pendant une période prolongée, il y a un problème dans le cluster qui empêche les opérateurs de cluster d'effectuer une mise à jour vers la version en cours. Cela peut être dû à de nombreuses choses, telles que les exemples suivants.

  • Les composants de cluster défaillants, tels que les noeuds worker, bloquent le déploiement des mises à jour de l'opérateur.
  • Modification incorrecte de la configuration d'un opérateur de cluster.
  • Modifications conflictuelles apportées aux configurations de cluster, telles que les modifications du contrôle d'accès à base de rôles qui affectent les composants OpenShift.

Commencez par obtenir des informations plus détaillées sur la progression de la mise à jour de l'opérateur de cluster et sur les problèmes.

  1. Exécutez les commandes suivantes pour obtenir plus d'informations.

    oc get clusterversion
    
    oc get clusteroperators
    
    oc describe clusteroperator NAME
    
  2. Examinez la colonne MESSAGE dans le résultat de la commande pour identifier les opérateurs de cluster qui bloquent actuellement la progression et indiquez le problème. La manière dont OpenShift met à jour les opérateurs peut entraîner des dépendances inattendues ; par exemple, certaines mises à jour d'opérateur de cluster peuvent attendre que d'autres opérateurs terminent l'étape qu'ils exécutent maintenant.

  3. Vérifiez le statut du noeud worker à l'aide de la commande oc get nodes. Parfois, les noeuds ne sont pas Ready, ce qui peut être dû à un manque de ressources sur un noeud ou à un problème avec kube-proxy ou kubelet. Cela peut entraîner des problèmes lors d'une mise à jour.

    • Si vous avez récemment modifié la configuration de l'un des opérateurs incomplets, décrivez l'opérateur pour plus de détails en exécutant oc describe clusteroperator NAME.Par exemple, oc describe cluster-operator image-registry peut afficher une erreur qui permet d'identifier le problème.

    • Continuez à vérifier le statut et les journaux des pods d'opérateur pour un débogage plus poussé du problème. Parfois, les opérateurs sont dégradés, mais cela ne signifie pas que les mises à jour ont échoué ou ne fonctionnent pas.

  4. Si vous ne parvenez pas à identifier ou à résoudre les problèmes ou si le problème persiste, contactez le support. Ouverture d'un cas de support. Dans les détails du cas, veillez à inclure les fichiers journaux, les messages d'erreur ou les sorties de commande appropriés.