Commande Describe de Kubernetes

KubernetesKubernetesBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

La commande describe de Kubernetes est un outil puissant pour afficher des informations détaillées sur les ressources Kubernetes. Avec la commande describe, vous pouvez afficher des informations telles que l'état des ressources, les événements, les étiquettes (labels), les annotations, etc. Cela peut être utile pour résoudre les problèmes dans votre cluster Kubernetes.

Ceci est un Guided Lab, qui fournit des instructions étape par étape pour vous aider à apprendre et à pratiquer. Suivez attentivement les instructions pour compléter chaque étape et acquérir une expérience pratique. Les données historiques montrent que c'est un laboratoire de niveau débutant avec un taux de réussite de 100%. Il a reçu un taux d'avis positifs de 100% de la part des apprenants.

Démarrer Minikube et vérifier le cluster

Avant de travailler avec Kubernetes, vous avez besoin d'un cluster en cours d'exécution. Minikube fournit un cluster Kubernetes local léger.

  1. Accédez à votre répertoire de projet :

    Ouvrez votre terminal et accédez au répertoire de travail par défaut :

    cd /home/labex/project
  2. Démarrez Minikube :

    Démarrez Minikube pour initialiser le cluster :

    minikube start
    • Minikube crée un cluster Kubernetes à un seul nœud. Cette étape peut prendre quelques minutes.
  3. Vérifiez l'état de Minikube :

    Vérifiez si Minikube a démarré avec succès :

    minikube status

    Recherchez des composants tels que apiserver et kubelet listés comme Running (en cours d'exécution).

  4. Confirmez la configuration de Kubernetes :

    Assurez-vous que kubectl est connecté au cluster Minikube :

    kubectl cluster-info

    Cela affiche les détails sur le serveur d'API et les autres composants.

Si Minikube ne parvient pas à démarrer, utilisez minikube delete pour réinitialiser et réessayez.

Explorer la commande kubectl describe

La commande kubectl describe est utilisée pour afficher des informations détaillées sur une ressource spécifique ou un groupe de ressources. Elle fournit des informations sur la configuration de la ressource, son état et les événements associés.

Exécutez la commande suivante pour afficher les options disponibles pour kubectl describe :

kubectl describe -h

Vous verrez la sortie suivante :

Affiche les détails d'une ressource spécifique ou d'un groupe de ressources.

Affiche une description détaillée des ressources sélectionnées, y compris les ressources associées telles que les événements ou les contrôleurs. Vous
pouvez sélectionner un seul objet par son nom, tous les objets de ce type, fournir un préfixe de nom ou un sélecteur d'étiquette (label selector). Par exemple :

  $ kubectl describe TYPE NAME_PREFIX

vérifiera d'abord s'il existe une correspondance exacte pour TYPE et NAME_PREFIX. Si aucune telle ressource n'existe, il affichera les détails de chaque ressource dont le nom commence par NAME_PREFIX.

Utilisez "kubectl api-resources" pour obtenir la liste complète des ressources prises en charge.

Exemples :
  ## Décrit un nœud
  kubectl describe nodes kubernetes-node-emt8.c.myproject.internal

  ## Décrit un pod
  kubectl describe pods/nginx

  ## Décrit un pod identifié par le type et le nom dans "pod.json"
  kubectl describe -f pod.json

  ## Décrit tous les pods
  kubectl describe pods

  ## Décrit les pods par étiquette name=myLabel
  kubectl describe po -l name=myLabel

  ## Décrit tous les pods gérés par le contrôleur de réplication 'frontend'
  ## (les pods créés par le contrôleur de réplication ont le nom du contrôleur de réplication comme préfixe dans le nom du pod)
  kubectl describe pods frontend

Décrire un Pod

Dans cette étape, vous allez apprendre à utiliser la commande describe pour afficher des informations sur un Pod Kubernetes.

  1. Créez un simple pod qui servira de modèle pour les réplicas. Créez un fichier appelé myapp-pod.yaml avec le contenu suivant :

    apiVersion: v1
    kind: Pod
    metadata:
      name: myapp-pod
    spec:
      containers:
        - name: myapp-container
          image: nginx
          ports:
            - containerPort: 80

    Créez le pod en utilisant la commande suivante :

    kubectl apply -f myapp-pod.yaml
  2. Ensuite, décrivez le pod :

    kubectl describe pod myapp-pod

Cette commande récupérera des informations détaillées sur le Pod spécifié, y compris l'état (status), les étiquettes (labels), les annotations, les événements, etc.

Décrire un déploiement (Deployment)

Dans cette étape, vous allez apprendre à utiliser la commande describe pour afficher des informations sur un déploiement (Deployment) Kubernetes.

  1. Créez un fichier appelé myapp-deployment.yaml avec le contenu suivant :

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: myapp-deployment
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: myapp-deployment
      template:
        metadata:
          labels:
            app: myapp-deployment
        spec:
          containers:
            - name: myapp-container
              image: nginx:latest
              ports:
                - containerPort: 80

    Créez le déploiement en utilisant la commande suivante :

    kubectl apply -f myapp-deployment.yaml
  2. Décrivez le déploiement :

    kubectl describe deployment myapp-deployment

Cette commande récupérera des informations détaillées sur le déploiement spécifié, y compris l'état (status), les étiquettes (labels), les annotations, les événements, etc.

Décrire un service (Service)

Dans cette étape, vous allez apprendre à utiliser la commande describe pour afficher des informations sur un service (Service) Kubernetes.

  1. Créez un fichier appelé myapp-service.yaml avec le contenu suivant :

    apiVersion: v1
    kind: Service
    metadata:
      name: myapp-service
    spec:
      selector:
        app: myapp-deployment
      ports:
        - protocol: TCP
          port: 80
          targetPort: 80

    Créez le service en utilisant la commande suivante :

    kubectl apply -f myapp-service.yaml
  2. Utilisez la commande suivante pour décrire le service :

    kubectl describe service myapp-service

Cette commande récupérera des informations détaillées sur le service spécifié, y compris l'état (status), les étiquettes (labels), les annotations, les événements, etc.

Résumé

Dans ce laboratoire, vous avez appris à utiliser la commande describe de Kubernetes pour afficher des informations détaillées sur les ressources Kubernetes. Vous avez appris à décrire un Pod, un déploiement (Deployment) et un service (Service).