Depura problemas de nodos

En esta página, se explica cómo depurar problemas de nodos en clústeres de Anthos alojados en VMware (GKE On-Prem) con un conjunto de herramientas de depuración preinstaladas.

Descripción general

Cada clúster de clústeres de Anthos alojados en VMware (GKE On-Prem) que crees se compone de varios nodos. Cada nodo incluye una distribución de toolbox de CoreOS, una secuencia de comandos de shell que descomprime y ejecuta un contenedor de depuración, debug-toolbox. debug-toolbox es una imagen de contenedor que incluye varias herramientas de depuración útiles.

Si tienes problemas con un nodo específico, puedes intentar realizar una depuración; para ello, conéctate al nodo afectado, ejecuta la secuencia de comandos de toolbox a fin de descomprimir y ejecutar el contenedor debug-toolbox, y ejecuta las herramientas incluidas en el contenedor.

Herramientas incluidas en el contenedor de debug-toolbox

El contenedor de debug-toolbox ejecuta una imagen base de Debian que incluye los siguientes paquetes:

  • Bash
  • curl
  • dnsutils
  • hping3
  • iperf3
  • lsof
  • netcat
  • mtr
  • procps
  • strace
  • tcpdump
  • traceroute
  • util-linux

Debido a que estas herramientas se incluyen en el contenedor, no requieren una conexión a Internet. Si deseas instalar herramientas de depuración adicionales, usa apt-get, que requiere una conexión a Internet.

Usa toolbox

  1. Establece una conexión SSH al nodo del clúster.

  2. Ejecuta el comando toolbox:

    sudo toolbox

    Este comando inicia un contenedor de debug-toolbox.

  3. Mientras te encuentres dentro del contenedor, ejecuta una de las herramientas. Por ejemplo, tcpdump.

  4. Cuando termines, sal del contenedor y cierra la conexión SSH con el nodo.

Detector de problemas del nodo

A partir de la versión 1.4 de los clústeres de Anthos alojados en VMware, el detector de problemas del nodo, que está habilitado para todos los nodos de un clúster, ayuda a detectar con rapidez algunos problemas comunes de los nodos. El detector de problemas del nodo continúa realizando verificaciones en busca de posibles problemas e informa lo mismo que los eventos y las condiciones en el nodo. Si un nodo no se comporta de forma adecuada, ejecuta kubectl describe en el nodo y busca los eventos y las condiciones correspondientes con el fin de verificar si el detector de problemas del nodo detectó el problema.

Mediante las supervisiones del detector de problemas del nodo, se generan varias condiciones en el nodo. Si la condición informada es KubeletUnhealthy o ContainerRuntimeUnhealthy, reiniciar el servicio systemd correspondiente (kubelet o Docker) podría ayudar a que el nodo vuelva a estar en buen estado.

A partir de la versión 1.5 de los clústeres de Anthos alojados en VMware, la reparación automática del servicio systemd de Docker y kubelet está habilitada en el detector de problemas de nodos. Si el detector de problemas de nodos detecta una condición KubeletUnhealthy o ContainerRuntimeUnhealthy en el nodo, intenta reiniciar kubelet o el servicio de Docker de forma automática si la duración desde el último reinicio es superior a un umbral determinado.