Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Mettre à l'échelle manuellement un pool de nœuds

Dernière mise à jour :Aug 28, 2026

Définissez le nombre attendu de nœuds pour un pool de nœuds afin d'augmenter la capacité face à la croissance du trafic ou de réduire les coûts en diminuant cette capacité.

ACK prend en charge la mise à l'échelle automatique des nœuds ou la mise à l'échelle instantanée des nœuds pour ajuster les ressources des nœuds en fonction de la charge de travail.

Fonctionnement

Le champ Expected Nodes définit le nombre cible de nœuds pour un pool de nœuds. Une fois la modification envoyée, ACK aligne le nombre réel de nœuds sur cette cible en créant ou en supprimant des instances ECS selon les besoins.

Scale out : augmentez la valeur Expected Nodes au-delà du nombre actuel. ACK provisionne des instances ECS via Auto Scaling, exécute le script cloud-init sur chacune d'elles, puis les ajoute au pool. En cas d'échec de création, ACK réessaie automatiquement. Les types d'instance et les zones dépendent de la politique de mise à l'échelle du pool de nœuds.

Scale in : diminuez la valeur Expected Nodes en dessous du nombre actuel. Seules les instances ECS en paiement à l'utilisation sont libérées lors d'une réduction de capacité. Le cycle de vie du disque système et des disques de données d'un nœud est lié à celui du nœud. Lorsqu'un nœud est libéré lors d'une réduction, ses disques le sont également et toutes les données qu'ils contiennent sont définitivement perdues et irrécupérables. Pour les données nécessitant une persistance, gérez-les via un PersistentVolume (PV) afin de découpler le stockage du cycle de vie du nœud.

Important

Lorsqu'une réduction de capacité est déclenchée par la modification de la valeur Expected Nodes, ACK supprime les nœuds même si l'évacuation (drain) échoue. Si vous avez une exigence stricte en matière d'évacuation, supprimez manuellement le nœud cible. Consultez la rubrique Supprimer un nœud.

L'ordre de suppression lors d'une réduction de capacité dépend de la politique de mise à l'échelle :

Politique de mise à l'échelle Ordre de suppression
Priority Les instances nouvellement créées sont supprimées en premier.
Distribution balancing Les zones sont filtrées selon la politique ; les instances nouvellement créées sont supprimées en premier pour équilibrer les comptes entre les zones.
Cost optimization Les instances sont supprimées par ordre décroissant du prix par vCPU.

Facturation lors de l'augmentation de capacité

La facturation repose sur les spécifications réelles des instances ECS créées. Par exemple, avec deux types d'instance, une facturation en paiement à l'utilisation et la politique de mise à l'échelle Priority :

  • Deux instances Node A sont créées dans la zone du vSwitch prioritaire.

  • Si l'inventaire de Node A est insuffisant, trois instances Node B sont créées dans la zone du vSwitch secondaire.

Coût pour une heure = (Prix unitaire de Node A × 2 × 1) + (Prix unitaire de Node B × 3 × 1).

Pools de nœuds GPU

Lors de l'ajout d'instances issues des familles d'instances bare metal ECS ebmgn7 ou ebmgn7e, ACK réinitialise toute configuration Multi-Instance GPU (MIG) conservée sur ces instances. Cette réinitialisation prend du temps et peut empêcher les instances de rejoindre le cluster.

Prérequis

Assurez-vous de disposer des éléments suivants :

  • Un cluster ACK avec au moins un pool de nœuds

  • (Facultatif, utilisateurs RAM) Le rôle AliyunOOSLifecycleHook4CSRole est attribué à votre compte Alibaba Cloud, et la stratégie AliyunRAMReadOnlyAccess est attachée à l'utilisateur RAM.

Mettre à l'échelle un pool de nœuds

Important

N'exécutez pas la commande kubectl delete node. Cela supprime les nœuds de Kubernetes sans libérer leurs instances ECS, ce qui entraîne une perte de suivi de la capacité par le pool de nœuds. Utilisez la console ACK pour mettre à l'échelle les pools de nœuds.

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de navigation de gauche, choisissez Nodes > Node Pools.

  3. Localisez le pool de nœuds à mettre à l'échelle et cliquez sur Scale dans la colonne Actions.

  4. (Facultatif) Si CloudOps Orchestration Service (OOS) n'a pas été autorisé, cliquez sur AliyunOOSLifecycleHook4CSRole pour créer le rôle et finaliser l'autorisation.

    Si vous utilisez un utilisateur RAM, assurez-vous que le compte Alibaba Cloud dispose du rôle AliyunOOSLifecycleHook4CSRole avant d'attacher la stratégie AliyunRAMReadOnlyAccess à l'utilisateur RAM.
  5. Définissez la valeur Expected Nodes et confirmez la modification. La colonne Status affiche successivement les états Updating, Scaling Out (ou Removing), puis Active.

    • Lorsque l'état indique Scaling Out, le pool de nœuds est en cours d'augmentation de capacité. Lorsque l'état revient à Active, l'opération est terminée.

    • Lorsque l'état indique Removing, le pool de nœuds est en cours de réduction de capacité. Lorsque l'état revient à Active, l'opération est terminée.

    Important

    Si le groupe de sécurité du cluster bloque l'accès à 100.64.0.0/10, les nouveaux nœuds ne peuvent pas rejoindre le cluster.

Pour afficher les détails de la tâche d'augmentation de capacité, cliquez sur le nom du pool de nœuds, puis ouvrez l'onglet Scaling Activities.

Affichez le journal opérationnel sur un nœud :

grep cloud-init /var/log/messages
Après qu'un nœud a rejoint le pool, /var/log/messages est effacé et ne conserve que les entrées d'échec de jonction. Si un nœud échoue à rejoindre le cluster, le journal est synchronisé avec le résultat de la tâche dans l'onglet Cluster Tasks .

Opérations à éviter

Important

Les opérations suivantes contournent le mécanisme de comptage attendu et peuvent provoquer des boucles de réconciliation ou une perte de données.

Opération Conséquence Action recommandée
Supprimer des nœuds avec kubectl delete node ACK suit le nombre attendu de nœuds par rapport aux instances ECS dans le groupe de mise à l'échelle, et non par rapport à la liste des nœuds Kubernetes. L'instance ECS continue de fonctionner, mais le nœud apparaît comme Unknown. Cliquez sur le nom du pool de nœuds, ouvrez l'onglet Nodes et supprimez les nœuds. Sélectionnez Release ECS Instance si nécessaire. Les nœuds ajoutés manuellement et les nœuds sous abonnement doivent être libérés depuis la console ECS.
Libérer directement des instances ECS depuis la console ECS ou via l'API Le pool de nœuds détecte l'écart et crée de nouvelles instances ECS pour restaurer le nombre attendu. Utilisez la console ACK pour supprimer les nœuds. Consultez la rubrique Supprimer un nœud. Les nœuds ajoutés manuellement et les nœuds sous abonnement nécessitent une libération manuelle depuis la console ECS.
Supprimer des instances ECS du groupe de mise à l'échelle dans la console Auto Scaling (sans modifier le nombre attendu) Le pool de nœuds détecte la modification et crée des instances de remplacement. Ne modifiez pas directement les groupes de mise à l'échelle utilisés par les pools de nœuds dans la console Auto Scaling.
Laisser expirer les instances ECS sous abonnement Le pool de nœuds détecte la libération et crée des instances de remplacement. Supprimez ou renouvelez les instances sous abonnement avant leur expiration. Consultez les rubriques Supprimer un nœud et Renouveler une instance sous abonnement.
Activer les contrôles de santé sur le groupe de mise à l'échelle dans la console Auto Scaling Lorsqu'un contrôle de santé identifie une instance non saine (par exemple, suspendue), Auto Scaling crée une instance ECS de remplacement. Les contrôles de santé sont désactivés par défaut pour les groupes de mise à l'échelle utilisés par ACK. Ne modifiez pas ces paramètres.

Résoudre les échecs de mise à l'échelle

En cas d'échec de la mise à l'échelle, cliquez sur le nom du cluster dans la page Clusters, ouvrez l'onglet Cluster Tasks et cliquez sur View Cause pour afficher les détails de l'erreur.

Code d'erreur Cause Solution
RecommendEmpty.InstanceTypeNoStock Inventaire ECS insuffisant dans la zone actuelle. Modifiez le pool de nœuds pour ajouter des vSwitches dans différentes zones et configurer plusieurs types d'instance. Consultez la rubrique Vérifier l'évolutivité d'un pool de nœuds.
NodepoolScaleFailed.FailedJoinCluster Échec de la jonction des nœuds au cluster ACK. Connectez-vous au nœud et exécutez la commande grep cloud-init /var/log/messages pour vérifier l'erreur.
InvalidAccountStatus.NotEnoughBalance / InsufficientBalance.CreditPay / Account.Arrearage Solde de compte insuffisant. Rechargez votre compte.
InvalidParameter.NotMatch (incompatibilité du mode de démarrage) Le type d'instance ne prend pas en charge le mode de démarrage (BIOS) de l'image du système d'exploitation. Sélectionnez un autre type d'instance. Vérifiez le système d'exploitation et l'ID de l'image dans l'onglet Overview du pool de nœuds. Appelez l'API DescribeImageSupportInstanceTypes pour interroger les types d'instance pris en charge.
QuotaExceed.ElasticQuota Quota ECS dépassé pour le type d'instance spécifié dans la région actuelle. Sélectionnez un autre type d'instance, réduisez le nombre d'instances ECS existantes ou demandez une augmentation de quota via le Quota Center.
InvalidResourceType.NotSupported Le type d'instance n'est pas pris en charge ou est en rupture de stock dans la zone actuelle. Appelez l'API DescribeAvailableResource pour trouver les types d'instance pris en charge dans la zone, puis mettez à jour le pool de nœuds.
InvalidImage.NotSupported L'image du système d'exploitation ne prend pas en charge les instances sécurisées renforcées. Sélectionnez un autre type d'instance. Consultez la rubrique Créer une instance approuvée dans la console ECS pour connaître les images prises en charge.
InvalidParameter.NotMatch (incompatibilité de l'image vTPM) L'image du système d'exploitation nécessite un type d'instance avec vTPM activé. Sélectionnez un autre type d'instance. Vérifiez le système d'exploitation et l'ID de l'image dans l'onglet Overview du pool de nœuds.
QuotaExceeded.PrivateIpAddress Le vSwitch actuel ne dispose plus d'adresses IP privées disponibles. Ajoutez davantage de vSwitches au pool de nœuds et réessayez.
InvalidParameter.KmsNotEnabled La clé Key Management Service (KMS) est désactivée. Connectez-vous à la console KMS et activez la clé.
InvalidInstanceType.NotSupported Le type d'instance ne prend pas en charge l'architecture de l'image du système d'exploitation. Sélectionnez un autre type d'instance. Appelez l'API DescribeImageSupportInstanceTypes pour interroger les types d'instance compatibles. Consultez la rubrique Images du système d'exploitation pour connaître les images prises en charge par ACK.
ApiServer.InternalError / Err.QueryEndpoints Le serveur API du cluster ACK est inaccessible. Vérifiez l'accessibilité du serveur API. Consultez la rubrique Résoudre les problèmes d'accès au cluster dans la console ACK.
RecommendEmpty.InstanceTypeNotAuthorized Absence d'autorisation pour utiliser le type d'instance spécifié. Soumettre un ticket pour demander des autorisations ECS.
RecommendEmpty.DiskTypeNoStock Inventaire de disques cloud insuffisant dans la zone. Ajoutez davantage de vSwitches ou sélectionnez un autre type de disque.
InvalidParameter.KMSKeyId.KMSUnauthorized Absence d'autorisation pour accéder à KMS. Dans la console ECS, attribuez le rôle AliyunECSDiskEncryptDefaultRole à ECS. Consultez la rubrique Autorisations liées au chiffrement.
InvalidParameter.Conflict Le type de disque cloud n'est pas compatible avec le type d'instance. Sélectionnez un autre type d'instance ou de disque.
NotSupportSnapshotEncrypted.DiskCategory Le chiffrement du disque système nécessite un disque ESSD. Sélectionnez un disque ESSD. Pour les types de disques et le chiffrement, consultez la rubrique Types de disques et chiffrement.
ScalingActivityInProgress Le pool de nœuds est déjà en cours de mise à l'échelle. Attendez que l'activité de mise à l'échelle en cours se termine avant de réessayer. Ne mettez pas à l'échelle les pools de nœuds directement dans la console Auto Scaling.
Instance.StartInstanceFailed Échec du démarrage des instances ECS. Réessayez. Si le problème persiste, soumettez un ticket à l'équipe ECS.
OperationDenied.NoStock Le type d'instance est en rupture de stock dans la zone spécifiée. Sélectionnez un autre type d'instance. Consultez la rubrique Vérifier l'évolutivité d'un pool de nœuds.
NodepoolScaleFailed.WaitForDesiredSizeTimeout Expiration du délai de la tâche d'augmentation de capacité. Dans la console ACK, accédez à Clusters > nom du cluster > Nodes > Node Pools, cliquez sur le nom du pool de nœuds et ouvrez l'onglet Scaling Activities pour afficher les détails de la tâche.
ApiServer.TooManyRequests Le serveur API Kubernetes a limité la requête. Réduisez la fréquence des requêtes ou réessayez ultérieurement.
NodepoolScaleFailed.PartialSuccess Échec de la création de certains nœuds en raison d'un inventaire insuffisant. Modifiez les types d'instance configurés pour le pool de nœuds. Consultez la rubrique Vérifier l'évolutivité d'un pool de nœuds. Consultez la rubrique Modifier un pool de nœuds.

Étapes suivantes