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