Que sont les déploiements à Kubernetes?
Les déploiements sont constitués d'un grand nombre de pods identiques sans vraiment de fonctionnalités de différenciation. Un déploiement crée de nombreuses copies de votre application et remplace automatiquement ceux qui échouent ou ne répondent pas. Le déploiement de votre application garantit qu'au moins une instance est prête à donner une réponse aux requêtes utilisateur. Le contrôleur de déploiement de Kubernetes est en charge de la gestion des déploiements.
L'une des parties essentielles des déploiements est la façon dont il gère les modifications des applications. Lorsque vous mettez à jour le manifeste de déploiement dans Kubernetes, l'application est mise à jour sur une base de roulement par défaut. De cette manière, la version antérieure du déploiement continuera à fonctionner pendant que la nouvelle est configurée.
Dans les déploiements, un modèle de pod est utilisé pour spécifier une exigence pour ses pods. L'apparence de chaque pod est définie par la spécification du pod, qui comprend quels services doivent fonctionner dans ses conteneurs, quel volume les pods doivent monter et d'autres aspects.
Lorsque le modèle de pod d'un déploiement est mis à jour, de nouvelles pods sont produits.
Prérequis:
Pour utiliser Kubectl pour exécuter des commandes, vous devez d'abord configurer un cluster Minikube sur notre système. Ubuntu 20.04 a été utilisé pour implémenter les commandes de ce sujet. Vous pouvez également utiliser notre système d'exploitation préféré car nous avons déjà installé Kubectl. Il doit être installé avant que les commandes puissent être exécutées.
Pour démarrer un terminal, nous pouvons prendre l'une des deux techniques. Une option consiste à utiliser la barre d'application de notre système d'exploitation pour atteindre le terminal. Une autre façon consiste à utiliser le raccourci clavier «Ctrl + Alt + T.«Pour démarrer un terminal, sélectionnez l'une de ces options.
Tout d'abord, nous devons démarrer un cluster minikube précédemment déployé sur Ubuntu 20.04. Nous allons maintenant lancer Minikube en tapant la commande suivante dans le terminal. L'instruction et sa sortie peuvent être comprises dans la capture d'écran apposée.
Création de déploiements
La plupart des applications de style service à Kubernetes utilisent des déploiements pour exploiter leurs applications. Déploiements définissent comment votre conteneur d'application sera déployé et le nombre d'instances à exécuter dans les Kubernetes. Après cela, Kubernetes gérera l'exécution du nombre requis de répliques. Les commandes Kubectl Apply et Kubectl Create peuvent être utilisées pour créer un déploiement.
Une fois sa construction, le déploiement garantit que le nombre de pods que vous avez spécifié fonctionne. Le déploiement remplacera les pods qui échouent ou sont éjectés de leurs nœuds.
Un exemple de fichier manifeste de déploiement au format YAML est le suivant:
Le fichier de configuration entier se trouve ci-dessous. Le champ Metadata: Nom indique qu'un déploiement nommé Nginx est créé. Selon la colonne des répliques, le déploiement génère trois gousses répliquées.
Le modèle de pod, ou le champ «Spec: Modèle», affiche l'étiquette de l'application: Nginx. Le modèle: paramètre de spécification dans le modèle de pod spécifie que les pods ne font qu'un seul conteneur, Nginx, qui utilise l'image Nginx Docker Hub Image 1.14.2. Le déploiement rend le port 80 disponible pour les pods à utiliser.
Avant de procéder et de suivre les étapes supplémentaires, assurez-vous que votre cluster Kubernetes est en place et fonctionne. Pour construire le déploiement susmentionné, suivez les procédures décrites ci-dessous.
Nous avons utilisé la commande «Kubectl s'appliquer» dans ce cas. Le déploiement a été configuré avec succès, comme en témoigne la sortie. L'instruction et sa sortie peuvent être saisies dans la capture d'écran apposée.
Maintenant, exécutez les commandes «Kubectl Get Deployments» afin de voir si le déploiement est créé ou non. Le résultat ressemblera à cela (voir ci-dessous) si le déploiement est toujours en cours. Le nombre de copies prévues, selon le.spécifier.Le champ de répliques est de trois. L'instruction et sa sortie peuvent être saisies dans la capture d'écran apposée.
La commande de déploiement de Kubectl est utile ici! Nous pouvons l'utiliser pour surveiller les progrès de notre déploiement.
La commande attendra par défaut que tous les pods auront commencé correctement. La commande part avec un code de retour nul lorsque le déploiement est terminé avec succès.
Vous pouvez maintenant exécuter le déploiement de statut de déploiement de Kubectl / le déploiement de Nginx afin d'examiner l'état de déploiement du déploiement. L'instruction et sa sortie peuvent être saisies dans la capture d'écran apposée.
Après quelques secondes, exécutez à nouveau 'Kubectl obtenez des déploiements. C'est à quoi ressemble la sortie. Vous pouvez voir que le déploiement a construit les trois répliques et que toutes les répliques sont à jour (elles ont le modèle de pod le plus récent) et prête à l'emploi. L'instruction et sa sortie peuvent être saisies dans la capture d'écran apposée.
Après cela, nous utiliserons la commande «Kubectl Get RS». Cela vous aidera à voir le répliquant (RS) que le déploiement a spécifiquement créé. L'instruction et sa sortie peuvent être saisies dans la capture d'écran apposée.
Les champs suivants sont produits à partir de la commande «Kubectl Get RS». La section ci-dessous montre à quel but ils servent.
Il convient de noter que le nom du réplicaset est toujours [le nom de déploiement] - [cordes aléatoires]. La chaîne aléatoire est créée au hasard en utilisant le robot de pod de graine.
Conclusion:
Nous avons discuté des déploiements de la liste Kubectl dans cet article. Le flux de déploiement normal de Kubernetes pour les applications de modèle de service et comment ils fonctionnent. Nous avons montré comment ajouter des vérifications d'état et une méthode de recul automatisée à la séquence de déploiement.