Restauration de noeuds gérés vers une version antérieure de Kubernetes

Découvrez comment annuler la version de Kubernetes exécutée sur les noeuds gérés d'un pool de noeuds existant à l'aide de OKE (Kubernetes Engine).

Remarque

Cette section s'applique uniquement aux noeuds gérés. Vous pouvez annuler des noeuds gérés dans des clusters améliorés et des clusters de base.

Vous ne pouvez pas utiliser cette procédure pour annuler la version de Kubernetes exécutée sur des noeuds de plan de contrôle ou des noeuds virtuels.

Vous pouvez annuler la version de Kubernetes exécutée sur les noeuds gérés d'un pool de noeuds en indiquant une version de Kubernetes disponible antérieure pour le pool de noeuds existant, puis en remplaçant les noeuds gérés existants.

La version de Kubernetes que vous indiquez doit être disponible pour le pool de noeuds gérés et compatible avec celle exécutée sur les noeuds du plan de contrôle. Les versions de Kubernetes disponibles pour un pool de noeuds gérés peuvent varier selon la location. Pour afficher les versions disponibles, affichez la liste Version lors de la modification du pool de noeuds dans la console, utilisez la commande oci ce node-pool-options get ou utilisez l'opération GetNodePoolOptions.

Important

La modification de la version de Kubernetes configurée pour un pool de noeuds gérés ne modifie pas la version de Kubernetes exécutée sur les noeuds gérés existants. Pour terminer l'annulation, remplacez les noeuds gérés existants.

Si vous utilisez le cyclage de noeud, cyclez l'ensemble du pool de noeuds gérés. Le cyclage d'un noeud géré individuel ne modifie pas la version de Kubernetes exécutée sur le noeud.

Pour plus d'informations sur la sélection et la compatibilité des versions de Kubernetes, reportez-vous à Versions de Kubernetes et à Kubernetes Engine (OKE).

Utilisation de la console

Pour annuler (rollback) des noeuds gérés dans un cluster amélioré

Dans un cluster amélioré, vous pouvez annuler des noeuds gérés en indiquant une version de Kubernetes disponible antérieure pour le pool de noeuds existant, puis cycler tous les noeuds du pool de noeuds. Vous pouvez cycler les noeuds en remplaçant leurs volumes d'initialisation ou en terminant et en remplaçant les noeuds.

  1. Sur la page de liste Clusters, sélectionnez le nom du cluster dans lequel annuler la version de Kubernetes exécutée sur les noeuds gérés. Si vous avez besoin d'aide pour trouver la page de liste ou le cluster, reportez-vous à Liste des clusters.
  2. Sélectionnez l'onglet Pools de noeuds et sélectionnez le nom du pool de noeuds dans lequel annuler la version de Kubernetes exécutée sur les noeuds gérés.

  3. Sur la page de détails du pool de noeuds, sélectionnez Modifier dans le menu Actions.

  4. Dans le champ Version de la boîte de dialogue Modifier le pool de noeuds, sélectionnez la version antérieure de Kubernetes requise pour les noeuds gérés.

    La version de Kubernetes que vous indiquez doit être compatible avec celle exécutée sur les noeuds de plan de contrôle.

    La liste des versions de Kubernetes inclut les versions d'aperçu fournies à des fins de test et de validation d'accès anticipé uniquement. Ces versions d'aperçu ont "0" comme numéro de version du patch (par exemple, 1.34.0). Les versions d'aperçu ne sont pas destinées aux charges globales de production et peuvent contenir des problèmes sans solutions de contournement connues. Nous vous déconseillons d'utiliser des versions d'aperçu pour les charges globales de production.

  5. Sélectionnez Mettre à jour pour sauvegarder la modification.

    Vous cyclez maintenant tous les noeuds du pool de noeuds pour appliquer la version de Kubernetes indiquée.

  6. Dans le menu Actions, sélectionnez Noeuds de cycle.

    Recommandation : utilisez les budgets alloués en cas d'interruption de pod pour votre application afin d'assurer qu'un nombre suffisant d'unités de réplique est exécuté pendant toute l'opération. Pour plus d'informations, reportez-vous à Spécification d'un budget d'interruption pour votre application dans la documentation Kubernetes.

  7. Dans la boîte de dialogue Noeuds de cycle, sélectionnez l'une des options suivantes dans la liste Options de recyclage :

    • Remplacer le volume d'initialisation : indiquez le nombre maximal ou le pourcentage de noeuds qui peuvent être indisponibles pendant l'opération, puis sélectionnez Noeuds de cycle.

    • Remplacer les noeuds : indiquez le nombre ou le pourcentage maximal de noeuds supplémentaires et de noeuds non disponibles à autoriser pendant l'opération, puis sélectionnez Noeuds de cycle.

    Remarque

    Ne cyclez pas un noeud géré individuel pour appliquer l'annulation. Le cyclage d'un noeud géré individuel ne modifie pas la version de Kubernetes exécutée sur le noeud.
  8. Surveillez la progression de l'opération en affichant le statut de la demande de travail associée dans l'onglet Demandes de travail (reportez-vous à Obtention des détails d'une demande de travail).

Pour restaurer des noeuds gérés dans un cluster de base

Le cyclage de noeud n'est pas disponible dans les clusters de base. Pour annuler des noeuds gérés dans un cluster de base, indiquez la version antérieure de Kubernetes pour le pool de noeuds existant, puis supprimez et remplacez manuellement chaque noeud géré existant.

  1. Sur la page de liste Clusters, sélectionnez le nom du cluster dans lequel annuler la version de Kubernetes exécutée sur les noeuds gérés. Si vous avez besoin d'aide pour trouver la page de liste ou le cluster, reportez-vous à Liste des clusters.
  2. Sélectionnez l'onglet Pools de noeuds et sélectionnez le nom du pool de noeuds dans lequel annuler la version de Kubernetes exécutée sur les noeuds gérés.

  3. Sur la page de détails du pool de noeuds, sélectionnez Modifier dans le menu Actions.

  4. Dans le champ Version de la boîte de dialogue Modifier le pool de noeuds, sélectionnez la version antérieure de Kubernetes requise pour les noeuds gérés.

    La version de Kubernetes que vous indiquez doit être compatible avec celle exécutée sur les noeuds de plan de contrôle.

    La liste des versions de Kubernetes inclut les versions d'aperçu fournies à des fins de test et de validation d'accès anticipé uniquement. Ces versions d'aperçu ont "0" comme numéro de version du patch (par exemple, 1.34.0). Les versions d'aperçu ne sont pas destinées aux charges globales de production et peuvent contenir des problèmes sans solutions de contournement connues. Nous vous déconseillons d'utiliser des versions d'aperçu pour les charges globales de production.

  5. Sélectionnez Mettre à jour pour sauvegarder la modification.

    Vous devez maintenant supprimer les noeuds gérés existants afin de démarrer les nouveaux noeuds gérés, en exécutant la version de Kubernetes indiquée.

  6. Pour le premier noeud géré du pool de noeuds :

    1. Sur la page de détails du pool de noeuds, sélectionnez l'onglet Noeuds, puis sélectionnez Supprimer le noeud dans le menu Actions en regard du noeud à supprimer.
    2. Indiquez quand et comment raccorder et vider le noeud géré avant de l'arrêter. Ne sélectionnez pas Réduire la taille du pool de noeuds, de sorte qu'un nouveau noeud géré soit démarré plutôt que le pool de noeuds réduit.
    3. Sélectionnez Supprimer pour supprimer le noeud géré.

    Le noeud géré est supprimé et un nouveau noeud géré est démarré, exécutant la version de Kubernetes indiquée.

  7. Répétez l'étape précédente pour chaque noeud géré restant dans le pool de nœuds, jusqu'à ce que tous les noeuds gérés du pool de nœuds exécutent la version de Kubernetes indiquée.

Utilisation de l'interface de ligne de commande

Pour obtenir des informations sur l'utilisation de l'interface de ligne de commande, reportez-vous à Interface de ligne de commande (CLI). Afin d'obtenir la liste complète des indicateurs et des options disponibles pour les commandes de l'interface de ligne de commande, reportez-vous à Référence de ligne de commande.

Procédure d'obtention des versions de Kubernetes disponibles pour un pool de noeuds gérés

Utilisez la commande oci ce node-pool-options get --node-pool-option-id all pour obtenir les versions de Kubernetes disponibles pour le pool de noeuds gérés.

Pour restaurer des noeuds gérés dans un cluster amélioré en remplaçant des volumes d'initialisation

Utilisez la commande oci ce node-pool update pour indiquer une version antérieure de Kubernetes pour le pool de noeuds et cycler tous les noeuds pour remplacer leurs volumes d'initialisation.

oci ce node-pool update --node-pool-id <node-pool-ocid> --node-pool-cycling-details "{\"isNodeCyclingEnabled\":true,\"cycleModes\":[\"BOOT_VOLUME_REPLACE\"],\"maximumUnavailable\":<value>}" --kubernetes-version <k8s-version>

Surveillez la progression de l'opération en affichant le statut de la demande de travail associée :

oci ce work-request list --compartment-id <compartment-ocid> --resource-id <node-pool-ocid>
oci ce work-request get --work-request-id <work-request-ocid>

Pour annuler des noeuds gérés dans un cluster amélioré en mettant fin à des noeuds et en les remplaçant

Utilisez la commande oci ce node-pool update pour indiquer une version antérieure de Kubernetes pour le pool de noeuds, et pour cycler tous les noeuds afin de les arrêter et de les remplacer. Indiquez l'OCID d'une image qui correspond à la version de Kubernetes.

oci ce node-pool update --node-pool-id <node-pool-ocid> --node-pool-cycling-details "{\"isNodeCyclingEnabled\":true,\"cycleModes\":[\"INSTANCE_REPLACE\"],\"maximumUnavailable\":<value>,\"maximumSurge\":<value>}" --kubernetes-version <k8s-version> --node-source-details "{\"imageId\":\"<image-ocid>\",\"sourceType\":\"IMAGE\"}"

Surveillez la progression de l'opération en affichant le statut de la demande de travail associée :

oci ce work-request list --compartment-id <compartment-ocid> --resource-id <node-pool-ocid>
oci ce work-request get --work-request-id <work-request-ocid>

Pour annuler des noeuds gérés dans un cluster de base en les supprimant et en les remplaçant manuellement

Tout d'abord, utilisez la commande oci ce node-pool update pour indiquer la version antérieure de Kubernetes du pool de noeuds et l'OCID de l'image correspondante :

oci ce node-pool update --node-pool-id <node-pool-ocid> --kubernetes-version <k8s-version> --node-image-id <image-ocid>

Ensuite, supprimez chaque noeud géré du pool de noeuds, en indiquant que vous souhaitez démarrer un nouveau noeud géré pour remplacer le noeud géré que vous avez supprimé :

oci ce node-pool delete-node --node-pool-id <node-pool-ocid> --node-id <node-ocid> --is-decrement-size false

Utilisation de l'API

Pour plus d'informations sur l'utilisation de l'API et la signature des demandes, reportez-vous à la documentation relative à l'API REST et à Informations d'identification de sécurité. Pour plus d'informations sur les kits SDK, reportez-vous à Kits SDK et interface de ligne de commande.

Utilisez l'opération GetNodePoolOptions pour obtenir les versions de Kubernetes disponibles pour un pool de noeuds gérés.

Utilisez l'opération UpdateNodePool pour indiquer une version antérieure de Kubernetes pour le pool de noeuds existant. Pour un cluster amélioré, vous pouvez également spécifier les détails de cyclage de noeud dans la même opération pour remplacer les volumes d'initialisation ou pour arrêter et remplacer les noeuds.