Comando Describe de Kubernetes

KubernetesKubernetesBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

El comando describe de Kubernetes es una herramienta poderosa para ver información detallada sobre los recursos de Kubernetes. Con el comando describe, puedes ver información como el estado del recurso, los eventos, las etiquetas, las anotaciones y más. Esto puede ser útil para solucionar problemas en tu clúster de Kubernetes.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL kubernetes(("Kubernetes")) -.-> kubernetes/BasicCommandsGroup(["Basic Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/AdvancedCommandsGroup(["Advanced Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/ClusterInformationGroup(["Cluster Information"]) kubernetes(("Kubernetes")) -.-> kubernetes/TroubleshootingandDebuggingCommandsGroup(["Troubleshooting and Debugging Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/ConfigurationandVersioningGroup(["Configuration and Versioning"]) kubernetes/BasicCommandsGroup -.-> kubernetes/get("Get") kubernetes/AdvancedCommandsGroup -.-> kubernetes/apply("Apply") kubernetes/ClusterInformationGroup -.-> kubernetes/cluster_info("Cluster Info") kubernetes/TroubleshootingandDebuggingCommandsGroup -.-> kubernetes/describe("Describe") kubernetes/TroubleshootingandDebuggingCommandsGroup -.-> kubernetes/exec("Exec") kubernetes/ConfigurationandVersioningGroup -.-> kubernetes/version("Version") subgraph Lab Skills kubernetes/get -.-> lab-8101{{"Comando Describe de Kubernetes"}} kubernetes/apply -.-> lab-8101{{"Comando Describe de Kubernetes"}} kubernetes/cluster_info -.-> lab-8101{{"Comando Describe de Kubernetes"}} kubernetes/describe -.-> lab-8101{{"Comando Describe de Kubernetes"}} kubernetes/exec -.-> lab-8101{{"Comando Describe de Kubernetes"}} kubernetes/version -.-> lab-8101{{"Comando Describe de Kubernetes"}} end

Iniciar Minikube y Verificar el Clúster

Antes de trabajar con Kubernetes, necesitas un clúster en ejecución. Minikube proporciona un clúster de Kubernetes local ligero.

  1. Navegar a tu directorio de proyecto:

    Abre tu terminal y navega al directorio de trabajo predeterminado:

    cd /home/labex/project
  2. Iniciar Minikube:

    Inicia Minikube para inicializar el clúster:

    minikube start
    • Minikube crea un clúster de Kubernetes de un solo nodo. Este paso puede tardar unos minutos.
  3. Verificar el estado de Minikube:

    Comprueba si Minikube se inició correctamente:

    minikube status

    Busca componentes como apiserver y kubelet listados como Running (En ejecución).

  4. Confirmar la configuración de Kubernetes:

    Asegúrate de que kubectl esté conectado al clúster de Minikube:

    kubectl cluster-info

    Esto muestra detalles sobre el servidor API y otros componentes.

Si Minikube no se inicia correctamente, utiliza minikube delete para restablecerlo y vuelve a intentarlo.

Explorar el Comando kubectl describe

El comando kubectl describe se utiliza para mostrar información detallada sobre un recurso específico o un grupo de recursos. Proporciona información sobre la configuración, el estado y los eventos relacionados del recurso.

Ejecuta el siguiente comando para ver las opciones disponibles para kubectl describe:

kubectl describe -h

Verás la siguiente salida:

Show details of a specific resource or group of resources.

Print a detailed description of the selected resources, including related resources such as events or controllers. You
may select a single object by name, all objects of that type, provide a name prefix, or label selector. For example:

  $ kubectl describe TYPE NAME_PREFIX

will first check for an exact match on TYPE and NAME_PREFIX. If no such resource exists, it will output details for
every resource that has a name prefixed with NAME_PREFIX.

Use "kubectl api-resources" for a complete list of supported resources.

Examples:
  ## Describe a node
  kubectl describe nodes kubernetes-node-emt8.c.myproject.internal

  ## Describe a pod
  kubectl describe pods/nginx

  ## Describe a pod identified by type and name in "pod.json"
  kubectl describe -f pod.json

  ## Describe all pods
  kubectl describe pods

  ## Describe pods by label name=myLabel
  kubectl describe po -l name=myLabel

  ## Describe all pods managed by the 'frontend' replication controller
  ## (rc-created pods get the name of the rc as a prefix in the pod name)
  kubectl describe pods frontend

Describir un Pod

En este paso, aprenderás cómo usar el comando describe para ver información sobre un Pod de Kubernetes.

  1. Crea un pod simple que se utilizará como plantilla para las réplicas. Crea un archivo llamado myapp-pod.yaml con el siguiente contenido:

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

    Crea el pod utilizando el siguiente comando:

    kubectl apply -f myapp-pod.yaml
  2. Luego, describe el pod:

    kubectl describe pod myapp-pod

Este comando recuperará información detallada sobre el Pod especificado, incluyendo el estado, las etiquetas, las anotaciones, los eventos y más.

Describir un Despliegue (Deployment)

En este paso, aprenderás cómo usar el comando describe para ver información sobre un Despliegue (Deployment) de Kubernetes.

  1. Crea un archivo llamado myapp-deployment.yaml con el siguiente contenido:

    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

    Crea el despliegue utilizando el siguiente comando:

    kubectl apply -f myapp-deployment.yaml
  2. Describe el despliegue:

    kubectl describe deployment myapp-deployment

Este comando recuperará información detallada sobre el Despliegue (Deployment) especificado, incluyendo el estado, las etiquetas, las anotaciones, los eventos y más.

Describir un Servicio (Service)

En este paso, aprenderás cómo usar el comando describe para ver información sobre un Servicio (Service) de Kubernetes.

  1. Crea un archivo llamado myapp-service.yaml con el siguiente contenido:

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

    Crea el servicio utilizando el siguiente comando:

    kubectl apply -f myapp-service.yaml
  2. Utiliza el siguiente comando para describir el servicio:

    kubectl describe service myapp-service

Este comando recuperará información detallada sobre el Servicio (Service) especificado, incluyendo el estado, las etiquetas, las anotaciones, los eventos y más.

Resumen

En este laboratorio, aprendiste cómo usar el comando describe de Kubernetes para ver información detallada sobre los recursos de Kubernetes. Aprendiste cómo describir un Pod, un Despliegue (Deployment) y un Servicio (Service).