Outils pour utilisateurs

Outils du site


informatique:kebernetes:kube_scale

Ceci est une ancienne révision du document !


Scaling sous Kubernetes

Manuel

Pour définir par exemple à 4 le nombre de Pods pour le déploiement nommé mydeploy01 :

kubectl scale deployment mydeploy01 --replicas=4

Autoscaling

Le Metrics Server est requis pour le scaling sur la base de la consommation de ressource.

Prenons par exemple le manisfeste de déploiement ci-dessous :

vim hpa-apache-deployment.yml

Contenu :

apiVersion: apps/v1
kind: Deployment
metadata:
  name: php-apache
spec:
  selector:
    matchLabels:
      run: php-apache
  template:
    metadata:
      labels:
        run: php-apache
    spec:
      containers:
      - name: php-apache
        image: registry.k8s.io/hpa-example
        ports:
        - containerPort: 80
        resources:
          limits:
            cpu: 500m
          requests:
            cpu: 200m
---
apiVersion: v1
kind: Service
metadata:
  name: php-apache
  labels:
    run: php-apache
spec:
  ports:
  - port: 80
  selector:
    run: php-apache

Appliquer le manifeste :

kubectl apply -f hpa-apache-deployment.yml

Vérification du déploiement :

kubectl get all

Résultat :

NAME                              READY   STATUS    RESTARTS   AGE
pod/php-apache-598b474864-jqpbz   1/1     Running   0          17m

NAME                 TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   10.96.0.1        <none>        443/TCP   11d
service/php-apache   ClusterIP   10.101.210.196   <none>        80/TCP    17m

NAME                         READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/php-apache   1/1     1            1           17m

NAME                                    DESIRED   CURRENT   READY   AGE
replicaset.apps/php-apache-598b474864   1         1         1       17m

Nous allons définir ci-dessous une règle d'autoscale :

kubectl autoscale deployment php-apache --cpu-percent=50 --min=1 --max=10

Explication :!: : Pour le déploiement php-apache, si la CPU montent à 50% on augmente le nombre de pods. Il faut minimum 1 pod et maximum 10 pourront être déployés.

informatique/kebernetes/kube_scale.1702972936.txt.gz · Dernière modification: 2023/12/19 09:02 par benoit