Créer un déploiement à l'aide de « Kubectl Create Deployment »

Creer Un Deploiement A L Aide De Kubectl Create Deployment



Kubernetes est une distribution gratuite et open source également connue sous le nom de k8s. Il est utilisé pour automatiser le déploiement, la gestion et la mise à l’échelle des logiciels et applications conteneurisés. Il fournit différents composants pour la gestion des conteneurs tels que les nœuds, le plan de contrôle, les pods et le déploiement de Kubernetes. Avec l'aide de Kubernetes, les développeurs peuvent facilement automatiser la tâche opérationnelle, annuler les modifications, ainsi que surveiller et faire évoluer les applications et logiciels conteneurisés.

Dans ce blog, nous expliquerons :







Qu’est-ce que le déploiement de Kubernetes ?

Le déploiement Kubernetes est appelé objet ressource qui fournit des instructions déclaratives et des mises à jour de ses principaux éléments tels que les pods, ReplicaSet et les applications conteneurisées. Le déploiement Kubernetes permet au développeur de décrire l'application conteneurisée telle que l'image, le nombre de pods, le port, les répliques, etc. La principale raison pour laquelle Kubernetes est meilleur que Docker est qu'il nous offre des propriétés d'auto-réparation et de mise à l'échelle automatique et ces états sont réalisables grâce au déploiement de Kubernetes.



Le mécanisme de « réparation automatique » est une technique d'automatisation des tests qui teste son objet en cours d'exécution et, en cas d'erreur, implémente la meilleure correspondance pour la correction et applique le correctif pour faire correspondre l'état réel avec l'état souhaité. Dans le service « mise à l’échelle automatique », la charge de travail de l’application évolue automatiquement.



Pourquoi créer un déploiement est-il préférable à la création de pods ?

Le déploiement de Kubernetes permet au développeur de faire fonctionner facilement un groupe des mêmes pods avec une configuration commune. En revanche, lors de la création d'un pod, les utilisateurs doivent créer et exécuter le pod séparément. Lors du déploiement, si un pod est supprimé ou résilié, il sera automatiquement recréé et démarré grâce à un mécanisme de réparation automatique. Mais si les pods s'exécutent directement sans déploiement, en cas d'erreur, les utilisateurs doivent recréer et exécuter le pod manuellement.





Qu’est-ce qu’un ReplicaSet en déploiement ?

Lorsque le développeur a créé le déploiement, trois composants principaux ont été générés et ReplicaSet en fait partie. Le ReplicaSet est un contrôleur de déploiement et est responsable de l'exécution du nombre spécifié de pods dans un déploiement. Dans le cas où un pod est supprimé, le ReplicaSet demande rapidement de régénérer le nouveau pod pour faire correspondre l'état réel des pods à l'état souhaité. Il est principalement responsable de la fourniture de mises à jour déclaratives aux pods.

Qu'est-ce que la commande « kubectl create déployer » ?

Le ' kubectl créer un déploiement » est une commande de l'outil Kubectl utilisée pour créer et démarrer le déploiement Kubernetes. Le déploiement indique ensuite à Kubernetes comment créer et mettre à jour les instances de votre application.



Syntaxe

kubectl créer un déploiement < nom de déploiement > --image = < nom de l'image > -- < option =valeur >


Option

La commande « kubectl create déployer » prend en charge différentes options pour fournir une couche supplémentaire de fonctionnalités et donner des instructions supplémentaires pour déployer des instances d'une application. Les options prises en charge par le « kubectl créer un déploiement ' La commande est donnée ci-dessous sous forme de tableau :

Option Description
« – – autoriser les clés de modèle manquantes Si sa valeur est définie sur true, il ignorera toutes les erreurs dans les modèles lorsqu'une clé de mappage ou un champ est manquant dans le modèle.
« – –essai à sec Sa valeur peut être « aucun », « serveur » ou « client ». Si la valeur est client, elle affichera ou imprimera uniquement l'objet qui serait envoyé sans l'envoyer.

Si la valeur est serveur, il soumettra uniquement des requêtes côté serveur.

« – –chef de terrain Affiche ou définit le nom du responsable utilisé pour suivre la propriété du champ.
'- -image Spécifiez le nom de l'image pour spécifier le modèle de conteneur.
-o, « – –sortie Spécifiez le format de sortie.
'- -port Il définit le port pour exposer le conteneur.
-r, « – –répliques Il est utilisé pour définir un certain nombre de répliques de pods.
« – –save-config Il permet de sauvegarder la configuration d'un objet dans son annotation. Si sa valeur est fausse, l'annotation sera inchangée.
« – –afficher les champs gérés Par défaut, sa valeur est fausse. Mais s'il est défini sur true, il conservera ou enregistrera les ManagedFields lors de l'impression d'objets au format JSON ou YAML.
« – –validate='strict' Sa valeur peut être « strict », « avertir » ou « ignorer ». S'il est « strict », il validera l'entrée et échouera la demande si elle n'est pas valide.

Si sa valeur est « avertir », il avertira des champs en double et inconnus.

Si sa valeur est « ignorer », il n’effectuera aucune validation de schéma.

Prérequis : installer kubectl et minikube

Pour démarrer le déploiement de Kubernetes dans le cluster Kubernetes, installez d'abord les outils ci-dessous sur le système :

    • Outil Kubectl : Kubectl est un outil de ligne de commande Kubernetes utilisé pour contrôler, gérer et exploiter un cluster Kubernetes et ses composants tels que le déploiement Kubernetes.
    • Outil Minikube : Minikube est un système d'implémentation pour Kubernetes qui fournit ou crée une machine virtuelle sur le système pour démarrer le cluster Kubernetes. Il peut exécuter des clusters à nœud unique et est principalement utilisé par les débutants ou à des fins de test.

Pour démarrer avec Kubernetes et installer des composants essentiels comme « Kubectl ' et ' minikube », parcourez notre lien « ' article.

Comment créer un déploiement Kubernetes à l'aide de la commande « kubectl create » ?

Le déploiement Kubernetes peut être créé en appliquant le manifeste Yaml ou par le «  kubectl créer un déploiement ' commande. Pour créer le déploiement Kubernetes à l'aide de la commande « kubectl create déployer », suivez la démonstration ci-dessous.

Étape 1 : Exécutez PowerShell

Tout d’abord, lancez Windows PowerShell avec des privilèges administratifs à partir du menu Démarrer. Les privilèges administratifs sont requis car minikube démarre le cluster Kubernetes sur la machine virtuelle à l'aide d'HyperV :


Étape 2 : Démarrez le cluster Kubernetes

Pour démarrer le cluster Kubernetes, utilisez le «  démarrage du minikube ' commande:

démarrage du minikube



Étape 3 : Obtenez des nœuds Kubernetes

Ensuite, accédez aux nœuds Kubernetes pour vérifier si le cluster est démarré ou non à l'aide du « kubectl récupère les nœuds ' commande:

kubectl récupère les nœuds



Étape 4 : Créer un déploiement Kubernetes

Créez un nouveau déploiement Kubernetes dans le cluster via le « k » ubectl crée un déploiement « – –image= ' commande. Pour démonstration, nous avons créé « nginx-deployment » qui exécutera l'application Nginx dans un pod en utilisant l'image « nginx:stable-perl » :

kubectl créer un déploiement nginx-deployment --image =nginx:stable-perl



Étape 5 : Obtenez le déploiement Kubernetes, ReplicaSet et Pod

La commande « kubectl create déployer » créera trois composants Deployment, ReplicaSet et Pod. Pour accéder aux déploiements Kubernetes, exécutez le ' Kubectl est déployé ' commande:

Kubectl est déployé


Içi vous pouvez voir ' déploiement nginx » est disponible dans le cluster Kubernetes :


Le ReplicaSet est le contrôleur de déploiement qui garantit que l'application dans les pods s'exécute sans erreur et répare les points d'arrêt. Pour accéder au ReplicaSet, utilisez le «  Kubectl obtient RS ' commande:

Kubectl obtient RS


Ici, le ReplicaSet affiche le nombre souhaité de pods et les pods en cours d'exécution :


Le pod est une unité plus petite du cluster Kubernetes qui exécute l'application conteneurisée. Pour accéder aux pods Kubernetes, utilisez le «  Kubectl récupère des pods ' commande. Ici le ' -O 'L'option est utilisée pour spécifier le format de sortie. Pour afficher l’adresse IP du Pod, nous avons utilisé le «  large 'Format :

Kubectl récupère des pods -O large



Étape 6 : Connectez-vous au cluster Kubernetes

Pour accéder à l'application exécutée dans un conteneur, accédez d'abord au cluster Kubernetes à l'aide du ' minikube ssh ' commande:

minikube chut



Étape 7 : accéder à l'application exécutée dans le déploiement Kubernetes

Après cela, utilisez le « boucle ' avec l'adresse IP du Pod pour accéder à l'application conteneurisée :

boucle 10.244.0.7


Comment exécuter des réplicas dans le déploiement de Kubernetes à l'aide de la commande « kubectl create déployer » ?

Il est préférable de créer un déploiement Kubernetes que d'exécuter un pod, car il peut exécuter et gérer un groupe de pods en même temps en créant des répliques de pods. Pour exécuter des réplicas dans le déploiement Kubernetes à l'aide de la commande « kubectl create déployer », suivez les instructions ci-dessous.

Étape 1 : Créer un déploiement Kubernetes

Tout d’abord, créez un déploiement à l’aide du «  kubectl créer un déploiement » commande avec le « '- -les répliques ' option. La valeur de l'option « replicas » spécifiera le nombre souhaité de pods qui doivent être gérés et exécutés par ReplicaSet :

kubectl créer un déploiement nginx-deployment --image =nginx:stable-perl --les répliques = 2



Étape 2 : Obtenez le déploiement Kubernetes, ReplicaSet et les pods

Maintenant, accédez au déploiement Kubernetes à l'aide de la commande « kubectl get déployer » :

Kubectl est déployé


Ici, vous pouvez voir que le déploiement affiche le nombre de pods prêts, à jour et disponibles :


Utilisez la commande ci-dessous pour accéder aux informations de ReplicaSet. Vous pouvez voir que ReplicaSet affiche l'état du nombre souhaité de pods et des pods en cours d'exécution :

Kubectl obtient RS



De même, pour accéder aux pods en cours d'exécution, utilisez la commande ci-dessous :

Kubectl récupère des pods


Le résultat indique que le déploiement Kubernetes exécute avec succès le nombre souhaité de réplicas de pods dans le cluster Kubernetes :

Comment ReplicaSet fonctionne-t-il pour contrôler le déploiement de Kubernetes ?

Le ReplicaSet est responsable de l'exécution du nombre souhaité de pods dans un déploiement. Si un pod est en panne ou supprimé, il recréera automatiquement le pod pour faire correspondre l'état actuel des pods avec l'état souhaité. Ce mécanisme met en œuvre en fait la technique d’auto-guérison. Pour une démonstration, suivez les instructions ci-dessous.

Étape 1 : Afficher les pods Kubernetes en direct

Tout d’abord, affichez l’état des Pods en direct à l’aide du bouton « kubectl récupère les pods -w ' commande. Notez également le nom du pod qui sera cassé ou supprimé :

Kubectl récupère des pods -Dans



Étape 2 : Supprimer un pod

Ensuite, ouvrez un autre terminal PowerShell et essayez de supprimer le deuxième pod à l'aide du bouton ' kubectl supprime les pods ' commande:

kubectl supprime les pods nginx-deployment-7584b4674d-hbx4f


Le résultat montre que nous avons réussi à supprimer le pod :


Maintenant, ouvrez la fenêtre PowerShell où l'état du pod est affiché. Ici, vous pouvez voir que lorsque nous avons supprimé le pod, le ReplicaSet a automatiquement créé et exécuté le nouveau pod pour faire correspondre l'état actuel des pods à l'état souhaité :


Nous avons couvert la méthode de création d'un déploiement Kubernetes à l'aide de la commande « kubectl create déployer ».

Conclusion

Pour créer le déploiement Kubernetes à l’aide du «  kubectl créer un déploiement ', commencez par installer les outils essentiels comme minikube et kubectl. Après cela, exécutez le nouveau cluster Kubernetes à l'aide de minikube. Maintenant, créez un nouveau déploiement en utilisant le «  kubectl crée un déploiement « – –image= ' commande. Après cela, affichez le déploiement Kubernetes, ReplicaSet et les pods à l'aide de l'option « Kubectl obtient tout ' commande. Cet article a illustré comment créer le déploiement Kubernetes à l'aide du «  kubectl créer un déploiement ' commande.