Partager via


Créer des ReplicaSets

S’applique à : AKS sur Azure Stack HCI 22H2, AKS sur Windows Server

Cet article explique comment créer, mettre à l’échelle et supprimer des replicaSets dans AKS activés par Azure Arc. Les replicaSets sont utilisés pour s’assurer qu’un ensemble stable de pods de réplicas s’exécute à tout moment.

Vue d’ensemble des replicaSets

Un ReplicaSet est un processus qui exécute plusieurs instances d’un pod et conserve le nombre spécifié de pod constant. Cela permet de s’assurer qu’un ensemble stable de pods de réplicas s’exécute à un moment donné, ce qui garantit la disponibilité d’un nombre spécifié de pods identiques.

En cas de défaillance d’un pod, un ReplicaSet instaure une nouvelle instance du pod et effectue un scale-up quand les instances en cours atteignent un nombre spécifié. À l’inverse, il effectue un scale-down ou supprime des pods quand une instance avec la même étiquette est créée.

Créer un ReplicaSet

Utilisez les commandes kubectl create et kubectl apply pour créer des ReplicaSets. L’exemple suivant crée un ReplicaSet à l’aide d’un fichier YAML :

kubectl apply –f nginx_replicaset.yaml

Les fonctionnalités d’un fichier de configuration de ReplicaSet sont affichées au format YAML :

apiVersion: apps/v1  
kind: ReplicaSet  
metadata: 
      name: web
      labels: 
         env: dev
         role: web
spec:  
   replicas: 4
   selector: 
       matchlabels: 
       role: web
        template:
           metadata:
       labels:
           role: web
spec:  
      containers:  
           -name: nginx  
           image: nginx

Après avoir créé un ReplicaSet, vous pouvez afficher l’état en exécutant la commande suivante :

kubectl get rs

Vous pouvez enlever, mais pas supprimer, un pod géré par un ReplicaSet en changeant son étiquette avec la commande kubectl edit. Par exemple, si vous exécutez kubectl edit pods 7677-69h5b, vous pouvez changer l’étiquette du pod une fois que le fichier de configuration s’ouvre.

Mettre à l’échelle un ReplicaSet

Il existe deux façons de changer le nombre de pods gérés par un ReplicaSet.

  • Modifiez la configuration du contrôleur à l’aide de la commande suivante :

    kubectl edit rs <ReplicaSet_NAME>
    
  • Augmentez ou diminuez directement le nombre à l’aide de la commande suivante :

kubectl scale –replicas=2 rs <ReplicaSet_NAME>

Quand vous modifiez un fichier manifeste, vous pouvez remplacer votre configuration existante par celle mise à jour :

kubectl replace –f nginx_replicaset.yaml

Ensuite, pour afficher l’état de votre ReplicaSet, exécutez kubectl get rs <ReplicaSet_NAME>.

La mise à l’échelle automatique est également une option avec les ReplicaSets au moyen de kubectl autoscale rs web –max=5. Vous pouvez utiliser la mise à l’échelle automatique pour adapter le nombre de pods en fonction de la charge de processeur d’un nœud.

Supprimer un ReplicaSet

Comme avec d’autres objets Kubernetes, tels que DaemonSets, vous pouvez supprimer des ReplicaSets à l’aide de la kubectl delete commande. Par exemple, vous pouvez utiliser les commandes suivantes :

  • Pour supprimer un ReplicaSet à l’aide du nom ReplicaSet, exécutez la commande suivante :

    kubectl delete rs <ReplicaSet_NAME>
    
  • Pour supprimer un ReplicaSet à l’aide de son nom de fichier, exécutez la commande suivante :

    kubectl delete –f nginx_replicaset.yaml
    
  • Les commandes précédentes suppriment le ReplicaSet et tous les pods qu’il gère. Si vous souhaitez supprimer uniquement la ressource ReplicaSet et conserver les pods sans propriétaire, vous devez les supprimer manuellement. Pour supprimer manuellement un ReplicaSet, exécutez la commande suivante :

    kubectl delete rs <ReplicaSet_NAME> --cascade=false
    

Étapes suivantes