Qu'est-ce que Kubectl décrire la pod?
Kubectl décrire le pod est une commande qui décrit toute ressource dans Kubernetes. Il est utilisé pour afficher des données sur une seule ou même une collection de ressources. Cette commande combine un certain nombre d'appels API pour créer une description approfondie d'une ressource ou d'un ensemble de ressources.
La commande décrivale POD recherche une correspondance exacte sur le préfixe de type et de nom avant de continuer. Si aucune ressource de ce type n'existe, elle imprimera des informations pour toutes les ressources avec le préfixe du préfixe. Pods (PO), nœuds (NO), services (SVC), événements (EV), réplication Contrôleurs (RC), limites (limites), persistantVolumeClaims (PVC), espaces de noms (NS), persistante Les points de terminaison (EP), les services de service, lespodautoscaleurs horizontaux (HPA) ou les secrets sont quelques-uns des types de ressources qui peuvent être utilisés.
Maintenant, regardons comment vous pouvez utiliser le kubectl décrire le pod, et les quelques conditions préalables à rencontrer.
Prérequis
Le cluster Minikube doit d'abord être installé avant d'utiliser le pod Kubectl décrire. Nous avons utilisé Ubuntu 20.04 pour exécuter certaines commandes.
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 à appuyer sur le raccourci du clavier «Ctrl + Alt + T». Pour démarrer un terminal, sélectionnez l'une de ces possibilités. Tout d'abord, nous devons démarrer un cluster minikube qui avait été déployé auparavant sur Ubuntu 20.04. Maintenant, nous allons lancer Minikube en tapant la commande suivante dans le terminal:
$ minikube start
Comment utiliser Kubectl décrire POD pour obtenir des informations sur les pods
Voici une instance de la façon dont vous pouvez utiliser la commande kubectl décrire POD pour obtenir des informations pertinentes sur les pods. Nous allons construire deux pods dans cet exemple. Reportez-vous ci-dessous pour des instructions détaillées.
$ nano deplo.yaml
L'ensemble du fichier de configuration peut être vu ci-dessous. Vous pouvez le modifier si nécessaire.
Exécutez la «commande Créer» suivante dans le but de créer un déploiement.
$ kubectl Créer un déploiement nginx-déploiement
Vous trouverez ci-dessous la capture d'écran de sortie de la commande exécutée ci-dessus.
En exécutant la commande get pods, vous pouvez vérifier l'état du pod. La représentation peut être vue ci-dessous.
$ kubectl obtenir des pods
Nous pouvons en savoir beaucoup plus sur ces pods en utilisant Kubectl décrire la pod. Regardez l'instance suivante afin de mieux comprendre le concept. Le nom de pod peut être modifié selon le choix de l'utilisateur. Cependant, la commande restante serait la même.
$ kubectl décrire le pod busybox
Ici, vous pouvez voir les informations de configuration des conteneurs et de la pod (étiquettes, besoins en ressources, etc.), ainsi que le ou les conteneurs et les informations d'état de POD (état, préparation, décompte de redémarrage, événements, etc.).
Discutons en détail de certaines des options de la sortie ci-dessus:
Attendre, courir et terminer
Ce sont les états du conteneur. Selon l'État, vous pouvez obtenir plus d'informations - par exemple, si le conteneur est maintenant à l'état de course, le système vous dira quand il a commencé.
Prêt
Il indique si le conteneur a passé sa plus récente sonde de préparation. Le conteneur n'a même pas de configuration de sonde de préparation dans cette situation; S'il n'y a pas de sonde de préparation définie, le conteneur est considéré comme prêt.
Le décompte de redémarrage
Cette option montre combien de fois le conteneur a déjà été redémarré. Ces informations spécifiques sont très utiles pour localiser les boucles de collision dans des conteneurs avec une politique de redémarrage «toujours».
L'état de l'emploi binaire
C'est la seule option liée à un pod. Il montre que le pod est assez bon pour servir les demandes et peut facilement être ajouté aux pools d'équilibrage de chargement similaires.
Enfin, vous verrez une histoire d'événements récents impliquant votre pod. En notant la première ou la dernière fois qu'il serait vu, ainsi que le nombre de fois où il serait vu, le système comprime de nombreux événements similaires. «From» montre quel composant ou composant enregistre l'événement. L'option «subobjectpath» spécifie à quel objet ou conteneur est référencé. Enfin, les options «raison» et «message» montrent ce qui s'est réellement passé.
Comment déboguer les gousses en attente
Vous pouvez utiliser des événements pour détecter une pod qui ne tiendra pas sur aucun des nœuds. Par exemple, le pod pourrait éventuellement demander plusieurs ressources que n'importe lequel des nœuds. D'un autre côté, il pourrait donner un sélecteur d'étiquette qui ne correspond pas nécessairement aux nœuds. Vous pouvez utiliser Kubectl décrire le nœud pour obtenir des informations détaillées sur les nœuds, tout comme vous le faites avec les pods.
$ kubectl obtenir des pods
Pour comprendre pourquoi le pod ne démarre pas, nous pouvons exécuter Kubectl décrire le pod sur le pod en attente et examiner ses événements.
$ kubectl décrire les pods
Le planificateur génère un événement indiquant que le pod n'est pas en mesure de planifier en raison de l'échec dudiduling (et peut en être d'autres). Le message nous avertit qu'aucun nœud ne dispose de ressources suffisantes pour soutenir le pod.
Vous pouvez résoudre ce problème en mettant à jour votre déploiement à l'aide de l'échelle Kubectl et en spécifiant moins de répliques. (Alternativement, vous pouvez laisser une pod en attente, qui est sûr.)
Conclusion
La commande kubectl décrire les pods vous donne des informations complètes sur chacune des gousses d'infrastructure de Kubernetes. Exécutez la commande kubectl décrire le pod si vous souhaitez voir la sortie d'un pod spécifique. Pour votre commodité, nous avons parcouru la commande kubectl décrire les pods en profondeur dans cet article.