informatique:kebernetes:kube_scale
Ceci est une ancienne révision du document !
Table des matières
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.
Création d'un déploiement pour le test
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
Création d'une règle d'autoscale pour le déploiement
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.
Résultat attendu :
horizontalpodautoscaler.autoscaling/php-apache autoscaled
Pour lister les règles d'autoscale :
kubectl get hpa
Résultat attendu :
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE php-apache Deployment/php-apache 0%/50% 1 10 1 3m51s
informatique/kebernetes/kube_scale.1702973348.txt.gz · Dernière modification : de benoit
