Si vous n’avez plus besoin d’un nœud de calcul, supprimez-le d’un pool de nœuds ou d’un cluster depuis la console ACK. Consultez les notes d’utilisation et les détails des fonctionnalités décrits dans cette rubrique, et effectuez l’opération en dehors des heures de pointe.
Cas d’utilisation
Mettre hors service un nœud de calcul non géré dans un ancien cluster créé avant la disponibilité de la fonctionnalité de pool de nœuds. Supprimez ce nœud, puis ajoutez-le à un pool de nœuds existant afin de faciliter les opérations par lots.
Remplacer une ancienne instance ECS au sein d’un pool de nœuds. Ajoutez une nouvelle instance ECS au pool pour exécuter les charges de travail, puis supprimez l’ancienne instance.
Réduire la taille d’un pool de nœuds dont la mise à l’échelle manuelle ou automatique est activée. Supprimez une instance ECS spécifique afin de réduire les coûts.
Migrer un nœud d’un pool de nœuds vers un autre. Supprimez le nœud du pool source, puis ajoutez-le au pool de destination.
Mettre à niveau ou rétrograder une instance ECS. Supprimez le nœud, modifiez sa configuration dans la console ECS, puis rajoutez-le au pool de nœuds.
Modifier le mode de facturation d’une instance ECS, par exemple en passant du paiement à l’utilisation à l’abonnement. Supprimez le nœud, changez son mode de facturation dans la console ECS, puis rajoutez-le au pool de nœuds.
-
Réinitialiser un nœud défaillant en le supprimant du cluster, puis en le rajoutant.
Sauvegardez les données importantes stockées sur le disque système avant de poursuivre.
Notes d’utilisation
Supprimez toujours les nœuds depuis la console ACK. Ne supprimez pas manuellement un nœud à l’aide de la commande
kubectl delete node.-
Ne libérez ni ne supprimez directement une instance depuis les consoles ECS ou Auto Scaling (ESS), ni via leurs API. Veillez également à ce que les instances sous abonnement ne soient pas automatiquement libérées à l’expiration de celui-ci. Dans ces scénarios, le nœud s’arrête immédiatement et est automatiquement supprimé de la console ACK.
Si le pool de nœuds est configuré avec un nombre de nœuds attendu (Expected Nodes), il effectue automatiquement un scale-out pour créer une instance de remplacement et maintenir le nombre souhaité de nœuds.
La suppression d’un nœud implique la migration des pods, ce qui peut impacter vos services. Effectuez cette opération en dehors des heures de pointe et sauvegardez vos données au préalable afin d’éviter tout risque imprévu.
Lorsque vous supprimez un nœud, ACK le draine. Assurez-vous que les autres nœuds du cluster disposent de ressources suffisantes pour exécuter les pods expulsés et éviter toute interruption de service.
Avant de supprimer un nœud, vérifiez les règles d’affinité et les politiques de planification de ses pods afin de garantir qu’ils peuvent être planifiés sur d’autres nœuds.
Le cycle de vie des disques système et de données est lié à celui du nœud. Lorsqu’un nœud est supprimé et que l’instance ECS sous-jacente est libérée, les disques cloud associés sont également libérés. Toutes les données présentes sur ces disques sont définitivement supprimées et ne peuvent pas être récupérées. Pour protéger vos données, utilisez un PersistentVolume (PV) afin de découpler le stockage des données du cycle de vie du nœud.
Fonctionnement
La suppression d’un nœud permet de retirer un ou plusieurs nœuds de calcul d’un pool de nœuds ou d’un cluster. Si le pool de nœuds est configuré avec un compte Expected Nodes (nombre total de nœuds que le pool doit maintenir), ce compteur est automatiquement ajusté.
Si vous devez rajouter l’instance au cluster après sa suppression, consultez la section Procédure .
Lors de la suppression d’un nœud, vous pouvez choisir de le drainer automatiquement, ce qui expulse ses pods vers d’autres nœuds en toute sécurité. Vous pouvez également choisir de libérer l’instance ECS sous-jacente ainsi que ses disques de données.
Drain Node
Le drainage d’un nœud expulse ses pods vers d’autres nœuds en toute sécurité, ce qui évite les interruptions de service. Avant d’effectuer cette opération, assurez-vous que les autres nœuds du cluster disposent de ressources suffisantes. Sinon, la planification des pods pourrait échouer. Tenez compte des points suivants :
-
Délai d’arrêt gracieux : le délai d’arrêt gracieux par défaut pour un pod est de 30 minutes. Le système applique ce délai de 30 minutes même si le pod est configuré avec une période d’arrêt gracieux plus longue, par exemple 40 minutes dans le champ
terminationGracePeriodSeconds. Si un pod ne parvient pas à s’arrêter gracieusement dans un délai de 30 minutes, le système le termine de force. Cela entraîne l’échec de l’opération de drainage et arrête le processus de suppression du nœud. Vous devez relancer l’opération manuellement.Si vos charges de travail nécessitent un délai d’arrêt gracieux plus long, commencez par drainer manuellement le nœud en exécutant la commande
kubectl drain <nodeName> [options]. Une fois tous les pods expulsés, décochez la case Drain Node lors de la suppression du nœud. Configuration PodDisruptionBudget (PDB) : l’opération de drainage respecte les règles PDB. Pour éviter les échecs de drainage, vérifiez et ajustez ou supprimez ces règles si nécessaire.
Release ECS Instance
Cette option permet de libérer l’instance ECS et ses disques de données après la suppression du nœud. Sauvegardez vos données avant de sélectionner cette option. Si vous ne sélectionnez pas cette option, vous restez responsable du cycle de vie de l’instance ECS et continuerez à être facturé pour celle-ci.
Seules les instances ECS en paiement à l’utilisation et leurs disques de données peuvent être libérés.
Les instances ECS sous abonnement sont automatiquement libérées à l’expiration de leur période d’abonnement. Vous pouvez demander un remboursement pour libérer une instance avant son expiration, ou convertir le mode de facturation d’abonnement en paiement à l’utilisation avant de libérer l’instance.
Pour les pools de nœuds en mode d’hébergement intelligent, le système gère automatiquement le cycle de vie des nœuds. Il ajoute ou supprime des nœuds en fonction des besoins des charges de travail et libère complètement les ressources ECS sous-jacentes lorsqu’un nœud est supprimé.
Procédure
Supprimer un nœud d’un pool de nœuds
Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.
Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur .
-
Cliquez sur le nom du pool de nœuds cible. Sous l’onglet Nodes, supprimez un ou plusieurs nœuds.
Pour supprimer un seul nœud : repérez le nœud cible. Dans la colonne Actions, choisissez .
Pour supprimer plusieurs nœuds : sélectionnez les nœuds cibles et cliquez sur Batch Remove en bas de la page.
-
Dans la boîte de dialogue qui s’affiche, cochez ou décochez les options Drain Node et Release ECS Instance selon vos besoins. Lisez les notes et suivez les instructions affichées à l’écran pour terminer l’opération.
Pour plus d’informations sur les options Drain Node et Release ECS Instance, consultez la section Fonctionnement de cette rubrique.
Supprimer un nœud d’un cluster
Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.
Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur .
-
Sur la page Nodes, supprimez un ou plusieurs nœuds.
Pour supprimer un seul nœud : repérez le nœud cible. Dans la colonne Actions, choisissez .
Pour supprimer plusieurs nœuds : sélectionnez les nœuds cibles et cliquez sur Batch Remove en bas de la page.
-
Dans la boîte de dialogue qui s’affiche, cochez ou décochez les options Drain Node et Release ECS Instance selon vos besoins. Lisez les notes et suivez les instructions affichées à l’écran pour terminer l’opération.
Pour plus d’informations sur les options Drain Node et Release ECS Instance, consultez la section Fonctionnement de cette rubrique.
FAQ
Échec de la suppression d’un nœud
La suppression d’un nœud peut échouer en raison de problèmes tels qu’un délai d’arrêt gracieux insuffisant ou des règles PDB restrictives. Pour plus d’informations, consultez la section Fonctionnement. En cas d’échec de la suppression, drainez manuellement le nœud en exécutant la commande kubectl drain <nodeName> [options]. Une fois tous les pods expulsés, essayez à nouveau de supprimer le nœud.
<nodeName>: nom du nœud. Par exemple,cn-hangzhou.10.126.XX.XX.[options]: paramètres facultatifs. Par exemple, vous pouvez définir cette valeur sur--force --ignore-daemonsets --delete-local-data. Pour afficher davantage d’options, exécutez la commandekubectl drain --help.
Rubriques connexes
Vous pouvez également supprimer des nœuds en appelant les opérations API RemoveNodePoolNodes et DeleteClusterNodes.
Pour migrer un nœud non géré vers un pool de nœuds, consultez la rubrique Migration de nœuds non gérés vers un pool de nœuds.
Vous pouvez effectuer une mise à l’échelle manuelle d’un pool de nœuds en ajustant le compte Expected Nodes afin de maintenir le nombre souhaité de nœuds. Pour plus d’informations, consultez la rubrique Mise à l’échelle manuelle d’un pool de nœuds.
Pour ajouter une instance ECS en tant que nœud de calcul ou pour rajouter un nœud supprimé à un pool de nœuds, consultez la rubrique Ajout de nœuds existants.
Si vous devez réinitialiser une instance ECS ou effacer les données de son disque système, consultez la rubrique Réinitialisation d’un disque système (réinstallation du système d’exploitation).