0Pricing
Kubernetes Basics · Leçon

Mettre les applications à l’échelle avec les ReplicaSets

Utilisez les ReplicaSets pour garantir qu’un nombre défini de Pods identiques fonctionne en permanence.

Mettre les applications à l’échelle avec les ReplicaSets est une leçon Kubernetes Basics gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Kubernetes Basics, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Kubernetes Basics comprend 4 leçons au total.

Pourquoi la mise à l’échelle est importante

Dans le monde des applications cloud natives, la mise à l’échelle est essentielle. Elle garantit que vos applications peuvent gérer des charges de travail variables et rester disponibles même si certains composants tombent en panne.

La mise à l’échelle consiste à ajuster le nombre d’instances d’application en cours d’exécution pour répondre à la demande. S’il y en a trop peu, votre application devient lente ou ne répond plus. S’il y en a trop, vous gaspillez des ressources.

Découvrez le ReplicaSet

Un ReplicaSet est un objet Kubernetes essentiel dont la fonction principale est de maintenir un ensemble stable de pods en cours d’exécution à tout moment.

Considérez-le comme le gardien de vos pods. Il veille à ce que le nombre de pods identiques que vous souhaitez soit toujours égal au nombre de pods réellement en cours d’exécution.

Mission principale du ReplicaSet

Le principal objectif du ReplicaSet est de garantir la disponibilité d’un nombre défini de pods identiques.

  • Si un pod s’arrête, par exemple à cause d’une défaillance de nœud, le ReplicaSet en crée automatiquement un nouveau.
  • Si un processus externe crée trop de pods, le ReplicaSet supprime ceux qui sont en surnombre.
  • Cette capacité d’autoréparation est essentielle à la fiabilité de l’application.

Structure YAML d’un ReplicaSet

Comme les autres objets Kubernetes, un ReplicaSet est défini à l’aide d’un fichier YAML. Voici un aperçu de sa structure de base :

  • apiVersion : définit la version de l’API Kubernetes, par exemple apps/v1.
  • kind : indique le type d’objet, qui est ReplicaSet.
  • metadata : contient les informations d’identification, comme le name.
  • spec : décrit l’état souhaité du ReplicaSet.

État souhaité : réplicas et sélecteur

Dans la section spec, deux champs sont essentiels : replicas et selector :

  • replicas : ce nombre indique combien de pods identiques vous souhaitez maintenir en cours d’exécution.
  • selector : définit la manière dont le ReplicaSet trouve et gère les pods. Il utilise des étiquettes pour sélectionner les pods. Seuls les pods correspondant à ces étiquettes seront considérés comme faisant partie de ce ReplicaSet.

Le modèle de pod

Le champ spec.template fournit le modèle des pods que le ReplicaSet va créer. Il s’agit essentiellement d’une définition standard de pod.

Ce modèle comprend les métadonnées du pod, comme les étiquettes, ainsi que sa spécification, comme les images de conteneurs, les ports, etc. Les étiquettes du modèle doivent correspondre à spec.selector !

Définir un ReplicaSet simple

Définissons un ReplicaSet qui garantit que 2 pods de serveur web Nginx sont toujours en cours d’exécution. Remarquez que les étiquettes du modèle de pod (app: nginx) correspondent au sélecteur.

apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: nginx-replicaset
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
        ports:
        - containerPort: 80

Création et vérification de l’état

Pour créer ce ReplicaSet, enregistrez le YAML sous le nom nginx-rs.yaml, puis appliquez-le. Vérifiez ensuite son état ainsi que les pods qu’il gère :

kubectl apply -f nginx-rs.yaml
kubectl get rs
kubectl get pods -l app=nginx

Augmenter et réduire le nombre de réplicas

Vous pouvez modifier dynamiquement le nombre de pods souhaité pour un ReplicaSet à l’aide de la commande kubectl scale. Faisons passer notre ReplicaSet Nginx à 4 pods :

kubectl scale --replicas=4 rs/nginx-replicaset
kubectl get rs
kubectl get pods -l app=nginx

Observer la mise à l’échelle

Lorsque vous mettez un ReplicaSet à l’échelle, Kubernetes crée ou supprime automatiquement des pods pour correspondre à votre nouvelle valeur de replicas. Vous pouvez observer ce processus en temps réel :

kubectl scale --replicas=1 rs/nginx-replicaset
kubectl get pods -l app=nginx -w

Défi de mise à l’échelle

Vous avez un ReplicaSet nommé my-app-rs qui exécute actuellement 3 pods. Vous souhaitez augmenter ce nombre à 5 pods. Quelle commande kubectl utiliseriez-vous ?

Récapitulatif et prochaines étapes

Vous avez appris que les ReplicaSets sont essentiels pour maintenir un nombre souhaité de pods identiques, en assurant l’autoréparation et la haute disponibilité de vos applications. Vous pouvez les définir en YAML et les mettre à l’échelle à l’aide de kubectl scale.

Bien que les ReplicaSets soient puissants, en pratique, vous utiliserez souvent des Deployments, qui gèrent les ReplicaSets pour vous et offrent des fonctionnalités plus avancées, comme les mises à jour progressives. Nous allons découvrir les Deployments ensuite !

Questions Fréquemment Posées

La leçon « Mettre les applications à l’échelle avec les ReplicaSets » est-elle gratuite ?

Oui — le texte complet de « Mettre les applications à l’échelle avec les ReplicaSets » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Kubernetes Basics, passe à CoddyKit PRO. Le cours Kubernetes Basics comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Mettre les applications à l’échelle avec les ReplicaSets » ?

Utilisez les ReplicaSets pour garantir qu’un nombre défini de Pods identiques fonctionne en permanence. Tu pratiques Kubernetes Basics avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Kubernetes Basics ?

Aucune expérience préalable n'est requise. Kubernetes Basics sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Mettre les applications à l’échelle avec les ReplicaSets » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Kubernetes Basics ?

Oui. Chaque leçon Kubernetes Basics inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Comprendre les Deployments
  2. Mettre les applications à l’échelle avec les ReplicaSets
  3. Mises à jour progressives et retours en arrière
  4. Stratégies de déploiement : blue-green et canary
← Retour à Kubernetes Basics