Mostrar el uso de recursos en 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 uso de recursos es un aspecto importante de cualquier aplicación que se ejecute en un clúster de Kubernetes. Al monitorear el uso de recursos, puedes identificar problemas de rendimiento, optimizar tus recursos y mejorar la eficiencia general de tus aplicaciones. En este laboratorio (lab), exploraremos cómo mostrar el uso de recursos en un clúster de Kubernetes utilizando el metrics-server. Cubriremos el uso de CPU y memoria.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL kubernetes(("Kubernetes")) -.-> kubernetes/ClusterManagementCommandsGroup(["Cluster Management Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/TroubleshootingandDebuggingCommandsGroup(["Troubleshooting and Debugging Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/BasicsGroup(["Basics"]) kubernetes(("Kubernetes")) -.-> kubernetes/BasicCommandsGroup(["Basic Commands"]) kubernetes/BasicsGroup -.-> kubernetes/initialization("Initialization") kubernetes/BasicCommandsGroup -.-> kubernetes/get("Get") kubernetes/ClusterManagementCommandsGroup -.-> kubernetes/top("Top") kubernetes/TroubleshootingandDebuggingCommandsGroup -.-> kubernetes/describe("Describe") kubernetes/TroubleshootingandDebuggingCommandsGroup -.-> kubernetes/logs("Logs") subgraph Lab Skills kubernetes/initialization -.-> lab-11358{{"Mostrar el uso de recursos en Kubernetes"}} kubernetes/get -.-> lab-11358{{"Mostrar el uso de recursos en Kubernetes"}} kubernetes/top -.-> lab-11358{{"Mostrar el uso de recursos en Kubernetes"}} kubernetes/describe -.-> lab-11358{{"Mostrar el uso de recursos en Kubernetes"}} kubernetes/logs -.-> lab-11358{{"Mostrar el uso de recursos en Kubernetes"}} end

Iniciar el clúster de Minikube

Antes de crear recursos, necesitas un clúster de Kubernetes en ejecución. Minikube es un entorno ligero de Kubernetes que se ejecuta en tu máquina local.

  1. Navegar a tu directorio de trabajo:

    Abre la terminal y navega hasta la carpeta de proyecto predeterminada:

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

    Inicia Minikube para inicializar un clúster de Kubernetes:

    minikube start
    • Este comando configura un clúster de Kubernetes de un solo nodo en tu máquina local.
    • Minikube puede tardar unos minutos en iniciar, dependiendo del rendimiento de tu sistema.
  3. Verificar que Minikube esté en ejecución:

    Comprueba el estado del clúster de Minikube:

    minikube status
    • Busca componentes como kubelet y apiserver listados como Running (En ejecución).
    • Si el clúster no está en ejecución, vuelve a ejecutar minikube start.

Si encuentras problemas al iniciar Minikube, utiliza minikube delete para restablecer el entorno si es necesario.

Habilitar el metrics-server

El metrics-server es un componente de Kubernetes que recopila métricas de varios objetos de Kubernetes y las proporciona en un formato utilizable para otros componentes de Kubernetes. Antes de poder mostrar el uso de recursos en nuestro clúster de Kubernetes, necesitamos habilitar el metrics-server.

minikube addons enable metrics-server

Este comando habilitará el metrics-server en tu clúster de Kubernetes.

Ejecuta el siguiente comando para comprobar si el metrics-server está en ejecución:

kubectl get pods --namespace=kube-system | grep metrics-server

Mostrar el uso de CPU y memoria

Para mostrar el uso de CPU y memoria en un clúster de Kubernetes, utilizaremos el comando kubectl top. Este comando te permite ver el uso de recursos de los objetos de Kubernetes en tiempo real.

## Display CPU and Memory usage for all pods in a specific namespace
kubectl top pods --namespace=kube-system

## Display CPU and Memory usage for all nodes in the cluster
kubectl top nodes

Este comando mostrará las estadísticas actuales de uso de CPU y memoria para todos los pods en el espacio de nombres especificado o para todos los nodos en el clúster.

Mostrar el uso de CPU y memoria de los contenedores

Para mostrar el uso de CPU y memoria de los contenedores que se ejecutan dentro de los pods, utilizaremos nuevamente el comando kubectl top.

Crea un pod simple que se utilizará como plantilla para las réplicas. Crea un archivo llamado myapp-pod.yaml en /home/labex/project/ 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

Luego, utiliza el siguiente comando para mostrar el uso de CPU y memoria de un contenedor específico dentro de un pod:

kubectl top pod myapp-pod --namespace=default --containers=true

Este comando mostrará las estadísticas actuales de uso de CPU y memoria para el contenedor especificado dentro del pod especificado.

Resumen

¡Felicidades! Has completado con éxito el laboratorio de visualización de uso de recursos de Kubernetes. En este laboratorio, has aprendido cómo mostrar las estadísticas de uso de recursos de CPU y memoria en un clúster de Kubernetes. Al utilizar el metrics-server, ahora puedes monitorear el uso de recursos en tus aplicaciones, optimizar tus recursos y mejorar la eficiencia general de tus aplicaciones que se ejecutan en un clúster de Kubernetes.