Configuration et Lancement du Déploiement Kubernetes
Maintenant que votre application fonctionne parfaitement dans des conteneurs, le prochain défi consiste à orchestrer et gérer ces conteneurs à grande échelle. C'est ici qu'intervient Kubernetes.
Pour commencer, vous allez définir l'état souhaité de votre application à l'aide de fichiers YAML. Un fichier décrira un Deployment, qui gère les mises à jour et la montée en charge, tandis qu'un autre définira un Service, qui expose votre application au réseau et la rend accessible aux utilisateurs.
YAML (YAML Ain't Markup Language) est un format lisible par l'humain pour les fichiers de configuration. Il est souvent utilisé pour décrire l'infrastructure, automatiser des processus et stocker les paramètres d'application.
Un Deployment garantit que le nombre souhaité d'instances de l'application (Pods) est toujours en cours d'exécution et facilite le déploiement de mises à jour ou le retour à des versions précédentes. Un Service expose ces conteneurs au réseau et répartit le trafic entrant entre eux.
Exécution de Minikube
Minikube est un outil léger permettant d’exécuter un cluster Kubernetes localement sur votre ordinateur. Il crée un environnement virtuel pour tester et explorer Kubernetes sans recourir à des services cloud.
Après avoir installé Minikube et l’avoir ajouté au PATH de votre système, ouvrez PowerShell (ou le terminal de votre choix) et exécutez :
Cette commande vérifie si Minikube est disponible et affiche la version installée.
Une fois que vous avez confirmé que Minikube est installé, démarrez votre cluster Kubernetes local avec :
Cette commande crée et lance un cluster Kubernetes local sur votre machine. Elle télécharge les composants nécessaires et démarre le plan de contrôle ainsi que les nœuds de travail.
Déploiement : Mise en production de l’application
Commencez par créer le fichier deployment.yaml
. Un Deployment dans Kubernetes garantit qu’un nombre spécifique de Pods (instances de l’application) sont toujours en cours d’exécution et peuvent être mis à jour ou restaurés sans interruption de service.
deployment.yaml
Dans ce manifeste, le paramètre replicas spécifie combien d’instances de Pod doivent fonctionner simultanément — dans ce cas, deux. Pour savoir quels Pods gérer, le Deployment utilise une combinaison de selector et de labels : le selector agit comme un filtre pour trouver les Pods avec un label spécifique, et le modèle de Pod définit ce label. Lorsque les labels correspondent, le Deployment considère ces Pods comme les siens et s’occupe de maintenir leur nombre, de les mettre à jour et de les redémarrer si nécessaire.
Tous les Pods fonctionnent sur le port 3000. Ils peuvent tous utiliser le même port car chaque Pod opère dans son propre espace réseau isolé, il n’y a donc aucun conflit entre eux.
Service : Accès réseau à l’application
Une fois le Deployment en place, un Service est nécessaire pour fournir un accès réseau et l’équilibrage de charge entre les Pods. Créer le fichier service.yaml
:
service.yaml
Ce manifeste définit un Service nommé my-app-service
qui dirige le trafic vers les Pods portant le label app: my-app
. Il écoute sur le port 80 en externe et redirige les requêtes vers le port 3000 à l'intérieur des Pods.
Le type LoadBalancer
est important car il expose l'application à l'extérieur et répartit le trafic entre les Pods.
Déploiement de l'application sur Kubernetes
Une fois les fichiers YAML prêts, ils peuvent être appliqués au cluster :
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml
La commande kubectl apply -f
crée ou met à jour les ressources dans le cluster en fonction du contenu du fichier YAML.
Vérification de l'état
Après avoir appliqué les fichiers de configuration, il est important de s'assurer que tout a été déployé comme prévu. Étant donné que les Pods et les Services mettent un certain temps à démarrer, commencez par lister les Pods en cours d'exécution :
Si le fichier deployment.yaml
spécifie replicas: 2
, deux Pods devraient apparaître dans le résultat.
Pour vérifier que le Service fonctionne et est accessible :
Cela affichera l'adresse IP du Service ainsi que les ports par lesquels l'application est accessible.
Obtenir l’URL du service
Pour accéder à votre application, exécuter la commande suivante dans PowerShell ou votre terminal :
Cette commande demande à Minikube de retourner l’URL où votre application est exposée. Minikube vérifie le Service que vous avez créé (my-app-service
) et fournit un lien que vous pouvez ouvrir dans votre navigateur.
Mise à l’échelle de l’application
Kubernetes facilite l’ajustement du nombre de Pods en cours d’exécution sans arrêter l’application.
Par exemple, pour passer de 2 à 4 réplicas :
L'exécution de kubectl get pods
affichera désormais quatre Pods actifs.
Kubernetes offre des outils puissants pour gérer les applications conteneurisées à n'importe quelle échelle.
Un Deployment garantit que le nombre correct de Pods est en cours d'exécution et peut être mis à jour ou restauré facilement.
Un Service expose l'application au réseau et équilibre le trafic entrant.
Les fichiers de configuration YAML rendent la configuration claire et lisible, tandis que les commandes kubectl
permettent d'appliquer et de gérer ces configurations en temps réel.
1. Quel est le principal objectif d'un Deployment dans Kubernetes ?
2. Pourquoi plusieurs Pods peuvent-ils utiliser le même numéro de port (par exemple, 3000
) sans conflits ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 3.7
Configuration et Lancement du Déploiement Kubernetes
Glissez pour afficher le menu
Maintenant que votre application fonctionne parfaitement dans des conteneurs, le prochain défi consiste à orchestrer et gérer ces conteneurs à grande échelle. C'est ici qu'intervient Kubernetes.
Pour commencer, vous allez définir l'état souhaité de votre application à l'aide de fichiers YAML. Un fichier décrira un Deployment, qui gère les mises à jour et la montée en charge, tandis qu'un autre définira un Service, qui expose votre application au réseau et la rend accessible aux utilisateurs.
YAML (YAML Ain't Markup Language) est un format lisible par l'humain pour les fichiers de configuration. Il est souvent utilisé pour décrire l'infrastructure, automatiser des processus et stocker les paramètres d'application.
Un Deployment garantit que le nombre souhaité d'instances de l'application (Pods) est toujours en cours d'exécution et facilite le déploiement de mises à jour ou le retour à des versions précédentes. Un Service expose ces conteneurs au réseau et répartit le trafic entrant entre eux.
Exécution de Minikube
Minikube est un outil léger permettant d’exécuter un cluster Kubernetes localement sur votre ordinateur. Il crée un environnement virtuel pour tester et explorer Kubernetes sans recourir à des services cloud.
Après avoir installé Minikube et l’avoir ajouté au PATH de votre système, ouvrez PowerShell (ou le terminal de votre choix) et exécutez :
Cette commande vérifie si Minikube est disponible et affiche la version installée.
Une fois que vous avez confirmé que Minikube est installé, démarrez votre cluster Kubernetes local avec :
Cette commande crée et lance un cluster Kubernetes local sur votre machine. Elle télécharge les composants nécessaires et démarre le plan de contrôle ainsi que les nœuds de travail.
Déploiement : Mise en production de l’application
Commencez par créer le fichier deployment.yaml
. Un Deployment dans Kubernetes garantit qu’un nombre spécifique de Pods (instances de l’application) sont toujours en cours d’exécution et peuvent être mis à jour ou restaurés sans interruption de service.
deployment.yaml
Dans ce manifeste, le paramètre replicas spécifie combien d’instances de Pod doivent fonctionner simultanément — dans ce cas, deux. Pour savoir quels Pods gérer, le Deployment utilise une combinaison de selector et de labels : le selector agit comme un filtre pour trouver les Pods avec un label spécifique, et le modèle de Pod définit ce label. Lorsque les labels correspondent, le Deployment considère ces Pods comme les siens et s’occupe de maintenir leur nombre, de les mettre à jour et de les redémarrer si nécessaire.
Tous les Pods fonctionnent sur le port 3000. Ils peuvent tous utiliser le même port car chaque Pod opère dans son propre espace réseau isolé, il n’y a donc aucun conflit entre eux.
Service : Accès réseau à l’application
Une fois le Deployment en place, un Service est nécessaire pour fournir un accès réseau et l’équilibrage de charge entre les Pods. Créer le fichier service.yaml
:
service.yaml
Ce manifeste définit un Service nommé my-app-service
qui dirige le trafic vers les Pods portant le label app: my-app
. Il écoute sur le port 80 en externe et redirige les requêtes vers le port 3000 à l'intérieur des Pods.
Le type LoadBalancer
est important car il expose l'application à l'extérieur et répartit le trafic entre les Pods.
Déploiement de l'application sur Kubernetes
Une fois les fichiers YAML prêts, ils peuvent être appliqués au cluster :
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml
La commande kubectl apply -f
crée ou met à jour les ressources dans le cluster en fonction du contenu du fichier YAML.
Vérification de l'état
Après avoir appliqué les fichiers de configuration, il est important de s'assurer que tout a été déployé comme prévu. Étant donné que les Pods et les Services mettent un certain temps à démarrer, commencez par lister les Pods en cours d'exécution :
Si le fichier deployment.yaml
spécifie replicas: 2
, deux Pods devraient apparaître dans le résultat.
Pour vérifier que le Service fonctionne et est accessible :
Cela affichera l'adresse IP du Service ainsi que les ports par lesquels l'application est accessible.
Obtenir l’URL du service
Pour accéder à votre application, exécuter la commande suivante dans PowerShell ou votre terminal :
Cette commande demande à Minikube de retourner l’URL où votre application est exposée. Minikube vérifie le Service que vous avez créé (my-app-service
) et fournit un lien que vous pouvez ouvrir dans votre navigateur.
Mise à l’échelle de l’application
Kubernetes facilite l’ajustement du nombre de Pods en cours d’exécution sans arrêter l’application.
Par exemple, pour passer de 2 à 4 réplicas :
L'exécution de kubectl get pods
affichera désormais quatre Pods actifs.
Kubernetes offre des outils puissants pour gérer les applications conteneurisées à n'importe quelle échelle.
Un Deployment garantit que le nombre correct de Pods est en cours d'exécution et peut être mis à jour ou restauré facilement.
Un Service expose l'application au réseau et équilibre le trafic entrant.
Les fichiers de configuration YAML rendent la configuration claire et lisible, tandis que les commandes kubectl
permettent d'appliquer et de gérer ces configurations en temps réel.
1. Quel est le principal objectif d'un Deployment dans Kubernetes ?
2. Pourquoi plusieurs Pods peuvent-ils utiliser le même numéro de port (par exemple, 3000
) sans conflits ?
Merci pour vos commentaires !