Comment utiliser kubectl cordon

Comment utiliser kubectl cordon

Kubectl Cordon contient le nœud comme «non planifiable». Cela affecte le contrôleur des installations éliminant le nœud de toutes les listes de nœuds de chargement de chargement précédemment appropriées et éliminant efficacement le trafic de l'équilibrage de la charge intérieure à partir de ceux bloqués. Les nœuds pertinents seront supprimés.

Kubernetes exécute la charge de travail en attribuant le conteneur dans le pod pour fonctionner sur le nœud. Les nœuds peuvent être des machines virtuelles ou des machines physiques, en fonction du cluster. Chaque nœud est atteint par le plan de contrôle et se compose des services nécessaires pour exécuter le pod.

Pour exécuter les commandes à Kubernetes, nous devons installer Ubuntu 20.04. Ici, nous utilisons le système d'exploitation Linux pour exécuter les commandes kubectl. Maintenant, nous installons le cluster Minikube pour exécuter Kubernetes dans Linux. Minikube offre une compréhension extrêmement fluide car elle fournit un mode efficace pour tester les commandes et les applications.

Voyons comment utiliser Kubectl Cordon:

Démarrer Minikube

Après avoir installé le cluster Minikube, nous devons ouvrir un terminal pour exécuter les commandes. À cette fin, nous appuyons complètement sur 'Ctrl + Alt + T' du clavier.

Dans le terminal, nous écrivons la commande «Start Minikube», et après cela, nous attendons un peu jusqu'à ce qu'il commence efficacement. La sortie de cette commande est donnée en dessous.

Vérifiez la version Kubectl

Nous devons vérifier la version, nous exécutons donc la commande 'Kubectl version'. En exécutant cette commande, nous obtenons également les informations de la version client et de la version du serveur en sortie. Lorsque nous entrons dans la commande «Kubectl Version», il affichera les résultats suivants.

Créer un pod à Kubernetes

Si nous avons une collection de plusieurs nœuds et gousses qui servent l'application. Et si un seul nœud baisse. Vous ne pouvez pas accéder aux gousses au-dessus. Si les pods étaient un morceau d'un ensemble de répliques, ils seraient restructurés sur d'autres nœuds. Le temps que nous attendons qu'un pod devienne en ligne est appelé le délai d'expiration propre et est défini sur la valeur par défaut de 5 minutes dans Controller Manager. Par conséquent, lorsqu'un nœud est hors ligne, le nœud maître attend jusqu'à 5 minutes plus tôt, en supposant que le nœud est en panne.

Nous obtenons la sortie suivante après avoir exécuté la commande 'Kubectl Get Nœuds'. La sortie renvoie le nom du nœud, du statut, des rôles, de l'âge et de la version Kubernetes.

Drainage d'un nœud

Kubernetes propose une méthode pour vider un nœud et utiliser la commande de drain de nœud Kubectl pour arrêter toutes les gousses disposées sur le nœud et reprogrammer sur d'autres nœuds. Si nous voulons corriger ou mettre à niveau un nœud avec Kubernetes, nous devons arrêter de planifier ce nœud et de vider les pods en cours d'exécution sur ce nœud. Nous pouvons drainer les nœuds afin que les charges de travail soient enthousiastes à l'idée d'autres nœuds.
Lorsque vous videz les nœuds, les pods quitteront correctement le nœud où ils se trouvent et seront reconstruits sur un autre nœud. Les nœuds sont également marqués comme imprévables. Cela signifie que vous ne pourrez pas planifier des pods sur le nœud jusqu'à ce que vous éliminez les limites.

Kubernetes peut identifier les erreurs de nœud et réorganiser les nœuds de nouveaux nœuds. Lorsque le nœud est bouclé. Cela signifie que nous ne pouvons pas placer un nouveau pod sur ce nœud.

Le drainage du nœud est un processus Kubernetes qui supprime en toute sécurité les pods d'un nœud. Nous utilisons la commande «Kubectl Drain Minikube» pour supprimer tous les pods du nœud en toute sécurité. Lorsque nous exécutons la commande, deux choses se produisent. Le nœud est bouclé et marqué comme imprévu pour le pod d'origine. Ensuite, la méthode de suppression commence, mais nous recevons un message comme dans le terminal après un certain temps. Après un certain temps, selon la situation, comment il faut beaucoup de temps pour déployer et échanger l'ancien pod avec le nouveau pod), la commande kubectl drain minikube est terminée, et nous pouvons vérifier si le nœud est vide.

La commande de drain sépare le nœud et déclare Kubernetes pour mettre fin à la disposition des gousses d'origine sur le nœud. Les pods successivement sur le nœud objectif seront supprimés du nœud vide. C'est-à-dire que le pod s'arrête. Nous pouvons évacuer un ensemble de nœuds ou un seul nœud de travailleur.

La commande 'Kubectl Drain Minikube' vise le nœud avec l'étiquette spécifiée et ne peut pas le reprogrammer sur un autre nœud, donc il ignore tous les ensembles de démon disposés sur le nœud. La commande de drain effectue deux opérations.

Cordon le nœud; Cela signifie marquer le nœud lui-même comme implanable afin que les nouvelles pods ne soient pas disposées sur le nœud. Kubectl contient une commande nommée cordon qui nous permet de créer un nœud inspelle

Supprime toutes les gousses disposées sur le nœud afin que le planificateur puisse les énumérer sur de nouveaux nœuds. L'action de suppression ne peut pas être récupérée.

  • Ignore-daemonssets: Nous ne pouvons pas supprimer les gousses en cours d'exécution sous l'ensemble de démon. Ce drapeau surplombe ces gousses.
  • delete-emptydir-data: Vérifiez que les données sont supprimées du stockage temporaire videdir dès que le pod est supprimé

Décordant un nœud

Nous ne pouvons pas planifier un nouveau pod une fois que le nœud est bouclé. Si nous énumérons un nouveau pod sur le nœud, nous devons le déverrouiller manuellement.
Nous pouvons planifier un nouveau pod une fois que le nœud n'est pas ordonné. Par là, nous pouvons reprogrammer le pod.

Lorsque nous exécutons le script pour créer un nœud, nous pouvons désordonner le nœud en ajoutant une commande uncordon au script. Ici, la commande «Kubectl Unordon Minikube» montre que le nœud «minikube» sera non.

Conclusion

Un pod est un objet Kubernetes de base qui est une unité vitale pour comprendre le modèle d'objet Kubernetes. Dans cet article, nous avons discuté du mode d'utilisation de Kubectl Cordon. À cette fin, nous créons d'abord un pod, puis nous égoutons un nœud, et à la fin, débrouillonnons le nœud.