Pourquoi un message Cannot complete cluster master upgrade s'affiche-t-il?

Dépannage des erreurs survenant lors de la mise à jour ou de la mise à niveau du maître de votre cluster.

Cloud privé virtuel Infrastructure classique Satellite

Lors de la mise à niveau d'un maître cluster, vous recevez un message d'erreur Cannot complete cluster master upgrade similaire à l'exemple suivant.

Cannot complete cluster master upgrade because the Upgradeable status condition is set to False.

Il existe une variété de raisons pour lesquelles l'opérateur de version de cluster signale un statut Upgradeable False. Par exemple, si vous effectuez une mise à niveau depuis Red Hat OpenShift 4.15 vers 4.16 et que vous recevez ce message d’erreur, cela signifie probablement que vos administrateurs de cluster n’ont pas encore confirmé avoir évalué et supprimé les API obsolètes dans la version correspondante d’ Kubernetes. Pour plus d'informations, consultez la page Préparation à la mise à jour vers l' OpenShift Container Platform » 4.16.

Exécutez la commande suivante pour vérifier la ou les raisons pour lesquelles votre cluster n'est pas à l'état de mise à niveau.

oc get clusterversion version -o json | jq '.status.conditions[] | select(.type == "Upgradeable")'
  1. Passez en revue les informations de version et actions de mise à jour de la version vers laquelle vous souhaitez effectuer la mise à jour. Evaluez votre cluster pour les API qui ont été supprimées dans la nouvelle version.

  2. Consultez les zones reason et message de l'objet JSON pour connaître le statut False pouvant être mis à niveau. Si vous tentez une mise à niveau de Red Hat OpenShift 4.15 vers Red Hat OpenShift 4.16 et qu'il n'y a pas eu d'accusé de réception de l'administrateur, le message inclut * Kubernetes 1.29 and therefore OpenShift 4.16 remove several APIs which require admin consideration. Please see https://access.redhat.com/articles/6958395 for details and instructions.. Si vous n'avez pas accès à un compte Red Hat pour afficher la solution, vous pouvez effectuer les étapes suivantes pour résoudre le problème en tant qu'administrateur de cluster.

  3. Migrez tous les composants affectés pour utiliser la nouvelle version d'API appropriée, y compris les outils, les charges de travail ou tout autre composant qui s'exécute ou qui interagit avec le cluster. Par exemple, Red Hat OpenShift 4.16 clusters utilisent Kubernetes 1.29 et font face aux mêmes deprecations.

  4. Après avoir migré avec succès les API supprimées, vous pouvez confirmer que votre cluster est prêt à passer à la version suivante de Red Hat OpenShift.

    Les administrateurs de cluster sont chargés de s'assurer que les API supprimées ne sont plus utilisées et que la migration vers les API prises en charge est terminée avant de fournir cet accusé de réception d'administrateur. IBM Cloud peut faciliter l'évaluation, mais ne permet pas d'identifier tous les cas possibles d'utilisation des API supprimées, notamment dans les outils externes et les charges de travail inactives.

  5. Suivez les étapes pour fournir l'accusé de réception de l'administrateur indiquant que vous avez migré à partir des API supprimées.

  6. Une fois que vous avez terminé les étapes de migration précédentes, exécutez à nouveau la commande suivante. Notez que la mise à jour du statut Upgradeable peut prendre plusieurs minutes. Si aucune donnée n'est renvoyée, le statut Upgradeable a été supprimé et vous pouvez relancer la mise à niveau du cluster.

    oc get clusterversion version -o json | jq '.status.conditions[] | select(.type == "Upgradeable")'