Qu'est-ce qu'un pod expulsé?
Lorsque le disque ou la limite de mémoire d'un nœud est atteint, un indicateur sur le nœud Kubernetes est défini pour signaler qu'il est sous charge. Ce drapeau empêche également de nouvelles allocations sur ce nœud, déclenchant une procédure d'expulsion pour libérer certaines ressources.
Ceci est le kubelet pour le nœud sous-pression, qui gérera le processus d'expulsion. Celui-ci gérera les pods défaillants jusqu'à ce que les ressources dépensées du nœud tombent en dessous du seuil d'expulsion, à quel point le kubelet résiliera tous.
Si un déploiement est en charge du pod expulsé, le déploiement crée un nouveau pod pour Kubernetes à planifier.
Quand les gousses seront-elles expulsées?
Cette distinction concerne la façon dont Kubernetes gère la pression des ressources. Si les ressources de nœud deviennent rares, Kubernetes doit expulser les gousses, un processus est connu sous le nom d'expulsion de la pression de nœud. Le planificateur de nœuds peut accueillir un processeur entièrement occupé; Par conséquent, l'expulsion n'est pas nécessaire.
Il doit expulser les gousses du nœud et essayer de les placer dans un autre nœud si la mémoire est insuffisante. Ceci est connu sous le nom d'expulsion en raison des restrictions de mémoire. L'expulsion de la pression des nœuds peut également être causée par un manque d'espace disque.
Quels facteurs Kubernetes considèrent-ils lorsqu'ils décident des gousses à expulser?
La pression du nœud est causée par des pods expulsés en fonction des contraintes de ressources, comme la mémoire ou l'espace disque comme nous l'avons mentionné ci-dessus. Les gousses dans un état défaillées sont les premières à être expulsées, car elles ne fonctionnent pas mais peuvent encore consommer des ressources. Kubernetes examine ensuite les pods en cours d'exécution.
Expulser le pod qui utilise le plus de mémoire ne fonctionnera pas car il s'agit probablement d'un pod actif qui sera difficile à déployer. Au lieu de cela, Kubernetes fait cette sélection basée sur deux classes différentes: la QoS (qualité de service) et la priorité.
Ce qui suit lorsqu'un pod est expulsé?
Lorsqu'une condition critique est détectée, Kubernetes effectue un peu de ménage (oui, l'entretien ménager est le terme officiel pour l'intervalle de surveillance d'expulsion) et explique les gousses. Cette procédure «expulse» (se termine) une pod et les conteneurs qui l'ont construit, mais pas le pod lui-même. Par défaut, Kubernetes ne fait pas de distinction entre les nappes très critiques et pas du tout importantes; il n'a qu'un devoir, qui est de récupérer les ressources.
Les charges de travail gérées par une ressource ou un déploiement de la charge de travail produiront automatiquement de nouvelles gousses et supprimeront les gousses expulsées.
Malgré le fait que les gousses expulsées ont été résiliées et ne devraient plus consommer de ressources du nœud, ils restent - et Kubernetes continue de les gérer. Avec un nombre croissant de gousses expulsées, cela pourrait entraîner une augmentation du nombre de ressources requises à l'intérieur de l'administration Kubernetes.
Nous allons maintenant essayer de comprendre comment trouver un pod expulsé et le supprimer avec succès. Il y a quelques exigences qui doivent être satisfaites initialement.
Prérequis
Pour exécuter des commandes pour la suppression des gousses expulsées, nous devrons d'abord configurer un cluster Minikube sur notre PC. Ubuntu 20.04 a été utilisé pour implémenter les commandes de supprimer les gousses expulsées dans ce sujet. Nous pouvons é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.
Maintenant, il est temps de démarrer un terminal. 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 qui avait été déployé auparavant sur Ubuntu 20.04. Maintenant, nous lancerons Minikube en tapant la commande suivante dans le terminal. La sortie pertinente pour les instructions indiquées ci-dessous est jointe ici.
Comment détecter un gousse expulsé?
Afin de découvrir le nombre exact de pods qui ont été expulsés, exécutez la commande suivante. Cette commande affiche une liste des pods qui ont été expulsés de votre système. La sortie pertinente pour les instructions indiquées ci-dessous est jointe ici.
Maintenant, essayons une forme différente de la même commande. Nous avons ajouté -c à la fin de la commande, comme vous pouvez le voir. Le reste de l'instruction est indiscernable de celui ci-dessus. Il vous dira combien de gousses ont été expulsées au total. Il n'y a pas de gousses expulsées dans notre scénario. En conséquence, comme vous pouvez le voir dans la ligne finale de la capture d'écran ci-jointe, la commande renvoie 0. La sortie pertinente pour les instructions indiquées ci-dessous est jointe ici.
Si votre système a des pods expulsés, la commande ci-dessus sortira le nombre, comme 10, 3, 9, etc.
Comment les gousses expulsées peuvent-elles être nettoyées manuellement?
Si vous ne voulez pas attendre que le seuil de collecte des ordures soit atteint, vous pouvez détruire les pods manuellement avec Kubectl. Dans une boucle dans un temps, chaque pod expulsé identifié peut être éliminé en utilisant la commande donnée ci-dessus.
Cette commande peut vous aider à nettoyer manuellement les gousses expulsées. La sortie pertinente pour les instructions indiquées ci-dessous est jointe ici.
Conclusion
L'expulsion est la procédure d'échec délibérément un ou même plus d'une pods sur l'un des nœuds affamés de ressources. Nous avons communiqué sur les gousses expulsées dans ce tutoriel. Nous avons également discuté de la façon de supprimer un pod expulsé en étapes simples. Maintenant, vous pouvez implémenter le même guide dans votre système à l'aide de Kubectl et voir combien de gousses expulsées existent dans votre système. Vous pouvez maintenant les énumérer et supprimer les sélectionnés.