Tutoriel : Redimensionner vos node pools avec l’autoscaling (bêta)
Vous pouvez désormais activer l’autoscaler d’un cluster OKS pour gérer et redimensionner automatiquement vos node pools en fonction de votre consommation de ressources. La mise à l’échelle automatique (ou autoscaling) garantit que votre cluster s’adapte de manière dynamique et économique.
Ce tutoriel est divisé en deux parties :
-
Mise à jour des clusters existants pour prendre en charge l’autoscaling.
-
Création de node pools pouvant être gérés par l’autoscaler.
|
Cette fonctionnalité est actuellement en bêta. Pour en savoir plus sur les services bêta, voir le Glossaire et nos Conditions générales de ventes et d’utilisation. |
Mettre à jour des clusters existants pour utiliser l’autoscaling avec OKS CLI
-
Exécutez la commande cluster update pour activer manuellement la prise en charge de l’autoscaling :
$ oks-cli cluster update \ --profile NAME_OF_PROFILE \ --project-name NAME_OF_PROJECT \ --cluster-name NAME_OF_CLUSTER
Cette commande contient les options suivantes que vous devez spécifier :
-
profile
: Le profil nommé que vous avez utilisé pour créer le cluster que vous souhaitez mettre à jour. -
project-name
: Le nom du projet contenant le cluster que vous souhaitez mettre à jour. -
cluster-name
: Le nom du cluster que vous souhaitez mettre à jour.
-
-
Exécutez la commande cluster upgrade pour déployer les composants de l’autoscaler sur votre cluster :
$ oks-cli cluster upgrade \ --profile NAME_OF_PROFILE \ --project-name NAME_OF_PROJECT \ --cluster-name NAME_OF_CLUSTER
Cette commande contient les options suivantes que vous devez spécifier :
-
profile
: Le profil nommé que vous avez utilisé pour créer le cluster que vous souhaitez mettre à niveau. -
project-name
: Le nom du projet contenant le cluster que vous souhaitez mettre à niveau. -
cluster-name
: Le nom du cluster que vous souhaitez mettre à niveau.
-
Vous devez ensuite confirmer la mise à niveau du cluster. Entrez |
Créer des node pools gérés par l’autoscaler
Une fois que votre cluster prend en charge l’autoscaler, vous pouvez configurer vos node pools pour qu’ils soient automatiquement mis à l’échelle en fonction de la charge de travail.
Mettre à jour votre manifeste de node pool
Pour créer un node pool pouvant être géré par l’autoscaler, vous devez ajouter les annotations requises à votre manifeste de node pool, notamment en :
-
Définissant un nombre minimum et maximum de nœuds.
-
Définissant le paramètre d’autoscaling sur
true
.
L’exemple de manifeste suivant définit un node pool nommé autoscaling-pool
avec un autoscaling activé entre 2 et 10 nœuds. Il utilise le type de nœuds tinav6.c2r4p3
dans la Région eu-west-2a
, démarre avec 2 nœuds, prend en charge la mise à niveau automatique et la réparation automatique, et limite les mises à niveau à 1 nœud indisponible à la fois sans surcharge :
apiVersion: oks.dev/v1beta2
kind: NodePool
metadata:
name: autoscaling-pool
spec:
minNodes: 2
maxNodes: 10
desiredNodes: 2
nodeType: tinav6.c2r4p3
autoscaling: true
zones:
- eu-west-2a
upgradeStrategy:
maxUnavailable: 1
maxSurge: 0
autoUpgradeEnabled: true
autoHealing: true
Pour en savoir plus sur comment rédiger un manifeste, voir Référence des manifestes de node pool.
Appliquer le node pool avec kubectl
Une fois votre manifeste prêt à l’emploi, vous pouvez l’appliquer à votre cluster avec la commande suivante :
$ kubectl apply -f NAME_OF_MANIFEST.yaml
L’autoscaler gère à présent le nombre de nœuds en fonction des exigences de la charge de travail, en augmentant ou en diminuant le nombre de nœuds dans les limites définies par les paramètres minNodes
et maxNodes
de votre manifeste.
La valeur |
Une fois le node pool actif, l’autoscaler surveille en permanence le cluster :
-
Si un pod reste en statut
Pending
(en attente) en raison d’un manque de ressources disponibles : l’autoscaler ajoute des nœuds pour y remédier. -
Si un nœud est sous-exploité : l’autoscaler le marque pour suppression. Après un délai de 10 minutes, le nœud est supprimé afin de réduire la capacité inutilisée.
Pages connexes