Introduction
Dans ce laboratoire (lab), vous apprendrez à mettre à l'échelle et à gérer les Pods avec les déploiements (Deployments) dans Kubernetes. Les déploiements sont une abstraction de niveau supérieur qui vous permettent de gérer et de mettre à l'échelle de manière déclarative les ensembles de réplicas (replica sets) de Pods. En utilisant les déploiements, vous pouvez facilement mettre à jour votre application vers une nouvelle version, revenir à une version précédente et augmenter ou diminuer l'échelle de votre application pour répondre aux demandes changeantes.
Démarrer le cluster Minikube
Avant de créer des ressources, vous avez besoin d'un cluster Kubernetes en cours d'exécution. Minikube est un environnement Kubernetes léger qui s'exécute sur votre machine locale.
Accédez à votre répertoire de travail :
Ouvrez le terminal et accédez au dossier de projet par défaut :
cd /home/labex/projectDémarrez Minikube :
Démarrez Minikube pour initialiser un cluster Kubernetes :
minikube start- Cette commande configure un cluster Kubernetes mono - noeud sur votre machine locale.
- Minikube peut prendre quelques minutes à démarrer en fonction des performances de votre système.
Vérifiez que Minikube est en cours d'exécution :
Vérifiez l'état du cluster Minikube :
minikube status- Recherchez des composants tels que
kubeletetapiserverlistés commeRunning(En cours d'exécution). - Si le cluster n'est pas en cours d'exécution, relancez la commande
minikube start.
- Recherchez des composants tels que
Si vous rencontrez des problèmes lors du démarrage de Minikube, utilisez minikube delete pour réinitialiser l'environnement si nécessaire.
Créer un déploiement (Deployment)
- Créez un fichier nommé
my-deployment.yamldans/home/labex/project/avec le contenu suivant :
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: nginx:latest
ports:
- containerPort: 80
Ce fichier YAML définit un déploiement (Deployment) avec 3 réplicas (replicas), exécutant un conteneur Nginx. Le champ selector sélectionne les Pods contrôlés par le déploiement en fonction de l'étiquette (label) app.
- Déployez le déploiement
my-deployment:
kubectl apply -f my-deployment.yaml
Cela créera le déploiement my-deployment ainsi que ses ensembles de réplicas (ReplicaSets) et Pods associés.
- Vérifiez que le déploiement a été créé :
kubectl get deployments
Cela vous montrera les déploiements dans votre cluster, y compris le déploiement my-deployment.
Mettre à l'échelle le déploiement (Deployment)
- Augmentez l'échelle du déploiement
my-deploymentà 5 réplicas (replicas) :
kubectl scale deployment my-deployment --replicas=5
Cela augmentera le nombre de réplicas dans le déploiement my-deployment à 5.
- Vérifiez que le déploiement a été mis à l'échelle :
kubectl get deployments
Cela vous montrera les déploiements dans votre cluster, y compris le déploiement my-deployment avec 5 réplicas.
Mettre à jour le déploiement (Deployment)
- Modifiez le déploiement
my-deploymentpour utiliser l'imagenginx:1.19:
kubectl edit deployment my-deployment
Cela ouvrira le déploiement dans votre éditeur de texte par défaut. Modifiez le champ image pour qu'il soit égal à nginx:1.19 et enregistrez le fichier.
- Vérifiez que le déploiement a été mis à jour :
kubectl rollout status deployment/my-deployment
Cela vous montrera l'état du dernier déploiement (rollout) du déploiement my-deployment.
Effectuer un rollback du déploiement (Deployment)
- Effectuez un rollback du déploiement
my-deploymentà la version précédente :
kubectl rollout undo deployment/my-deployment
Cela fera revenir le déploiement my-deployment à la version précédente.
- Vérifiez que le déploiement a été ramené à la version précédente :
kubectl rollout status deployment/my-deployment
Cela vous montrera l'état du dernier déploiement (rollout) du déploiement my-deployment.
Nettoyage
- Supprimez le déploiement (Deployment)
my-deployment:
kubectl delete deployment my-deployment
Cela supprimera le déploiement my-deployment ainsi que ses ensembles de réplicas (ReplicaSets) et Pods associés.
Résumé
Dans ce laboratoire (lab), vous avez appris à créer et gérer des déploiements (Deployments) dans Kubernetes. Vous avez créé un déploiement avec 3 réplicas (replicas), mis à l'échelle le déploiement à 5 réplicas, mis à jour le déploiement pour utiliser une image différente, effectué un rollback (retour en arrière) du déploiement à la version précédente.


