Effectuer le scaling des charges de travail sans état

Adaptez vos charges de travail sans état à l'évolution de vos besoins en matière de charges de travail de conteneurs.

Avant de commencer

Pour effectuer les tâches décrites dans ce document, vous devez demander les autorisations nécessaires et préparer votre environnement.

Demander des rôles IAM

Pour créer, supprimer, modifier ou afficher des charges de travail sans état dans un cluster Kubernetes, demandez à votre administrateur IAM de l'organisation de vous attribuer le rôle Administrateur de l'espace de noms (namespace-admin). Ce rôle est lié à l'espace de noms de votre projet.

Préparer votre environnement

Pour exécuter des commandes sur le cluster Kubernetes Bare Metal préconfiguré, assurez-vous de disposer des ressources suivantes :

  1. Recherchez le nom du cluster Kubernetes ou demandez-le à votre administrateur de plate-forme.

  2. Connectez-vous et générez le fichier kubeconfig pour le cluster Kubernetes si vous n'en avez pas.

  3. Utilisez le chemin d'accès kubeconfig du cluster Kubernetes pour remplacer CLUSTER_KUBECONFIG dans ces instructions.

Effectuer le scaling d'un déploiement

Exploitez la fonctionnalité de scaling de Kubernetes pour adapter de manière appropriée le nombre de pods exécutés dans votre déploiement.

Autoscaler les pods d'un déploiement

Kubernetes propose l'autoscaling pour éviter de devoir mettre à jour manuellement votre déploiement lorsque la demande évolue. Définissez l'autoscaler horizontal des pods dans votre déploiement pour activer cette fonctionnalité :

kubectl --kubeconfig CLUSTER_KUBECONFIG \
    -n NAMESPACE \
    autoscale deployment DEPLOYMENT_NAME \
    --cpu-percent=CPU_PERCENT \
    --min=MIN_NUMBER_REPLICAS \
    --max=MAX_NUMBER_REPLICAS

Remplacez les éléments suivants :

  • CLUSTER_KUBECONFIG : fichier kubeconfig pour le cluster Kubernetes.

  • NAMESPACE : espace de noms du projet.

  • DEPLOYMENT_NAME : nom du déploiement dans lequel effectuer l'autoscaling.

  • CPU_PERCENT : utilisation moyenne cible du processeur à demander, exprimée en pourcentage, pour l'ensemble des pods.

  • MIN_NUMBER_REPLICAS : limite inférieure du nombre de pods que l'autoscaler peut provisionner.

  • MAX_NUMBER_REPLICAS : limite supérieure du nombre de pods que l'autoscaler peut provisionner.

Pour vérifier l'état actuel de l'autoscaler horizontal de pods que vous venez de créer, exécutez la commande suivante :

kubectl get hpa

Le résultat ressemble à ce qui suit :

NAME              REFERENCE                          TARGET    MINPODS   MAXPODS   REPLICAS   AGE
DEPLOYMENT_NAME   Deployment/DEPLOYMENT_NAME/scale   0% / 50%  1         10        1          18s

Effectuer manuellement le scaling des pods d'un déploiement

Si vous préférez effectuer le scaling d'un déploiement manuellement, exécutez la commande suivante :

kubectl --kubeconfig CLUSTER_KUBECONFIG \
    -n NAMESPACE \
    scale deployment DEPLOYMENT_NAME \
    --replicas NUMBER_OF_REPLICAS

Remplacez les éléments suivants :

  • CLUSTER_KUBECONFIG : fichier kubeconfig pour le cluster Kubernetes.

  • NAMESPACE : espace de noms du projet.

  • DEPLOYMENT_NAME : nom du déploiement dans lequel effectuer l'autoscaling.

  • DEPLOYMENT_NAME : nombre choisi d'objets Pod répliqués dans le déploiement.