Outils pour utilisateurs

Outils du site


informatique:kebernetes:kube_scale

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
informatique:kebernetes:kube_scale [2023/12/19 08:07] – [Autoscaling] benoitinformatique:kebernetes:kube_scale [2023/12/19 08:22] (Version actuelle) – [Création d'une règle d'autoscale pour le déploiement] benoit
Ligne 10: Ligne 10:
 Le [[informatique:kebernetes:install#installation_du_metrics_server_optionnel|Metrics Server]] est requis pour le scaling sur la base de la consommation de ressource. Le [[informatique:kebernetes:install#installation_du_metrics_server_optionnel|Metrics Server]] est requis pour le scaling sur la base de la consommation de ressource.
  
-==== 1/ Création d'un déploiement ====+==== Création d'un déploiement pour le test ====
  
 Prenons par exemple le manisfeste de déploiement ci-dessous : Prenons par exemple le manisfeste de déploiement ci-dessous :
Ligne 74: Ligne 74:
   replicaset.apps/php-apache-598b474864   1         1         1       17m   replicaset.apps/php-apache-598b474864   1         1         1       17m
  
-==== 2/ Création d'une règle d'autoscale pour le déploiement ====+==== Création d'une règle d'autoscale pour le déploiement ====
  
 Nous allons définir ci-dessous une règle d'autoscale : Nous allons définir ci-dessous une règle d'autoscale :
Ligne 80: Ligne 80:
  
 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. 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.
 +
 +Ci-dessous l'équivalent en fichier manifeste YAML : 
 +  apiVersion: autoscaling/v2
 +  kind: HorizontalPodAutoscaler
 +  metadata:
 +    name: php-apache
 +  spec:
 +    maxReplicas: 10
 +    metrics:
 +    - resource:
 +        name: cpu
 +        target:
 +          averageUtilization: 50
 +          type: Utilization
 +      type: Resource
 +    minReplicas: 1
 +    scaleTargetRef:
 +      apiVersion: apps/v1
 +      kind: Deployment
 +      name: php-apache
 +
  
 Résultat attendu :  Résultat attendu : 
Ligne 87: Ligne 108:
   kubectl get hpa   kubectl get hpa
  
-Résultat attendu+Résultat attendu :  
 +  NAME         REFERENCE               TARGETS   MINPODS   MAXPODS   REPLICAS   AGE 
 +  php-apache   Deployment/php-apache   0%/50%    1         10        1          3m51s 
 + 
 +==== Test de montée en charge et monitoring ==== 
 + 
 +Pour le test, nous allons augmenter la charge CPU des pods ainsi: 
 +  kubectl run -i --tty load-generator --rm --image=busybox:1.28 --restart=Never -- /bin/sh -c "while sleep 0.01; do wget -q -O- http://php-apache; done" 
 + 
 +Pour voir monitorer :   
 +  kubectl get hpa 
 + 
 +On peut voir la charge CPU monter et que d'autre pods on démarrés : 
 +  NAME         REFERENCE               TARGETS    MINPODS   MAXPODS   REPLICAS   AGE 
 +  php-apache   Deployment/php-apache   101%/50%   1         10        4          7m21s 
informatique/kebernetes/kube_scale.1702973249.txt.gz · Dernière modification : de benoit