Déploiements pour applications sans état
Utilisez les Deployments pour gérer les applications sans état, avec des mises à jour progressives et des retours en arrière.
Déploiements pour applications sans état est une leçon Docker & DevOps Fundamentals gratuite sur CoddyKit. Ceci est la leçon 1 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 Docker & DevOps Fundamentals, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Docker & DevOps Fundamentals comprend 4 leçons au total.
Découvrez les déploiements Kubernetes
Bienvenue dans un concept fondamental de Kubernetes : les déploiements ! Il s’agit de la ressource de référence pour gérer les applications sans état.
Imaginez un déploiement comme un plan directeur pour votre application. Il indique à Kubernetes combien de copies (réplicas) de votre application vous souhaitez maintenir en fonctionnement et comment les mettre à jour sans interruption de service.

Au-delà des pods et des ReplicaSets
Vous avez découvert les pods (la plus petite unité) et les ReplicaSets (qui garantissent un certain nombre de pods).
Un déploiement s’appuie sur un ReplicaSet. Il fournit une abstraction de niveau supérieur pour :
- créer et mettre à jour des ReplicaSets ;
- déployer progressivement de nouvelles versions de votre application ;
- revenir aux versions précédentes en cas de problème.
Cela rend la gestion de vos applications beaucoup plus simple et plus sûre.
À l’intérieur d’un YAML de déploiement
Comme les autres ressources Kubernetes, les déploiements sont définis à l’aide de YAML. Examinons la structure de base :
apiVersion: indique la version de l’API Kubernetes (par exemple,apps/v1).kind: vaut toujoursDeploymentpour une ressource de déploiement.metadata: contient des informations telles que lenamedu déploiement et ses éventuelslabels.
Ces champs aident Kubernetes à identifier et à organiser vos déploiements.
Définir les réplicas et le modèle
Le cœur d’un déploiement est sa section spec. Vous y définissez :
replicas: le nombre souhaité de pods identiques pour votre application.selector: la manière dont le déploiement trouve les pods qu’il gère (à l’aide d’étiquettes).template: il s’agit essentiellement d’une définition de pod décrivant les conteneurs, les volumes, etc., de chaque pod.
Le template est utilisé par le déploiement pour créer de nouveaux pods.
Notre déploiement Nginx
Voici un manifeste de déploiement simple pour un serveur web Nginx. Il indique à Kubernetes de maintenir 3 pods Nginx en fonctionnement.
Essayez de comprendre chaque partie !
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80Créer votre déploiement
Une fois votre fichier YAML de déploiement créé (par exemple, nginx-deployment.yaml), vous pouvez créer le déploiement dans votre cluster Kubernetes à l’aide de la commande kubectl apply.
Kubernetes veillera ensuite à ce que le nombre souhaité de pods soit créé et maintenu.
kubectl apply -f nginx-deployment.yamlVous pouvez vérifier son état avec :
kubectl get deploymentsAugmenter et réduire l’échelle
Vous avez besoin de plus ou de moins d’instances de votre application ? Les déploiements facilitent la mise à l’échelle ! Vous pouvez modifier le champ replicas dans votre YAML et l’appliquer de nouveau, ou utiliser une commande directe :
kubectl scale deployment nginx-deployment --replicas=5Cette commande indiquera immédiatement à votre déploiement de créer 2 pods Nginx supplémentaires, pour atteindre un total de 5.
Mises à jour sans interruption de service
L’un des principaux avantages des déploiements est leur capacité à effectuer des mises à jour progressives. Lorsque vous mettez à jour le modèle de pod (par exemple, en modifiant la version de l’image), Kubernetes n’arrête pas tous les anciens pods en même temps.
À la place, il remplace progressivement les anciens pods par de nouveaux, afin que votre application reste disponible pendant toute la durée de la mise à jour.
kubectl set image deployment/nginx-deployment nginx=nginx:1.16.1Effectuer facilement une restauration
Vous avez fait une erreur lors d'une mise à jour ? Pas d'inquiétude ! Les déploiements conservent un historique de vos révisions, ce qui vous permet de revenir facilement à une version précédente et stable.
Cette opération s'appelle une restauration et constitue un filet de sécurité essentiel pour les déploiements.
kubectl rollout undo deployment/nginx-deploymentVous pouvez également consulter l'historique avec kubectl rollout history deployment/nginx-deployment.
C'est l'heure du quiz sur les déploiements
Un développeur met à jour un déploiement Nginx, en remplaçant l'image nginx:1.14.2 par nginx:1.16.1. Quel est le principal avantage de l'utilisation d'un déploiement Kubernetes pour cette mise à jour ?
Déploiements : points essentiels
Excellent travail ! Vous avez découvert les déploiements Kubernetes, une ressource puissante pour gérer vos applications sans état.
- Les déploiements gèrent les ReplicaSets, qui gèrent à leur tour les pods.
- Ils définissent l'état souhaité, notamment le nombre de
replicas. - Parmi leurs fonctionnalités essentielles figurent la mise à l'échelle facile, les mises à jour progressives sans interruption de service et les restaurations simples vers des versions précédentes.
Ensuite, nous découvrirons les services, qui permettent d'exposer vos applications !
Questions Fréquemment Posées
La leçon « Déploiements pour applications sans état » est-elle gratuite ?
Oui — le texte complet de « Déploiements pour applications sans état » 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 Docker & DevOps Fundamentals, passe à CoddyKit PRO. Le cours Docker & DevOps Fundamentals comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Déploiements pour applications sans état » ?
Utilisez les Deployments pour gérer les applications sans état, avec des mises à jour progressives et des retours en arrière. Tu pratiques Docker & DevOps Fundamentals 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 Docker & DevOps Fundamentals ?
Aucune expérience préalable n'est requise. Docker & DevOps Fundamentals 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 1 sur 4.
Combien de temps prend la leçon « Déploiements pour applications sans état » ?
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 Docker & DevOps Fundamentals ?
Oui. Chaque leçon Docker & DevOps Fundamentals 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
- Déploiements pour applications sans état
- Services pour l’accès réseau
- ConfigMaps et Secrets
- Ingress et routage externe