Ce document explique comment mettre à l'échelle les charges de travail sans état existantes exécutées dans un cluster Kubernetes air-gapped Google Distributed Cloud (GDC). Vous devez mettre à l'échelle les pods exécutés dans vos charges de travail sans état à mesure que les exigences de vos charges de travail de conteneur évoluent.
Ce document s'adresse aux développeurs du groupe des opérateurs d'applications qui sont chargés de gérer les charges de travail des applications pour leur organisation. Pour en savoir plus, consultez Audiences pour la documentation GDC air-gapped.
Avant de commencer
Pour exécuter des commandes sur un cluster Kubernetes, assurez-vous de disposer des ressources suivantes :
Recherchez le nom du cluster Kubernetes ou demandez-le à votre administrateur de plate-forme.
Connectez-vous et générez le fichier kubeconfig pour le cluster Kubernetes si vous n'en avez pas.
Utilisez le chemin d'accès kubeconfig du cluster Kubernetes pour remplacer
KUBERNETES_CLUSTER_KUBECONFIGdans ces instructions.
Pour obtenir les autorisations requises pour mettre à l'échelle des charges de travail sans état, demandez à votre administrateur IAM de l'organisation de vous accorder le rôle d'administrateur de l'espace de noms (namespace-admin) dans l'espace de noms de votre projet.
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 KUBERNETES_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 :
KUBERNETES_CLUSTER_KUBECONFIG: le fichier kubeconfig du cluster.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 nouvellement créé, 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 KUBERNETES_CLUSTER_KUBECONFIG \
-n NAMESPACE \
scale deployment DEPLOYMENT_NAME \
--replicas NUMBER_OF_REPLICAS
Remplacez les éléments suivants :
KUBERNETES_CLUSTER_KUBECONFIG: le fichier kubeconfig du cluster.NAMESPACE: espace de noms du projet.DEPLOYMENT_NAME: nom du déploiement dans lequel effectuer l'autoscaling.DEPLOYMENT_NAME: nombre souhaité d'objetsPodrépliqués dans le déploiement.