Depurar problemas de nodos

En esta página, se explica cómo depurar problemas de nodos en Google Distributed Cloud con un conjunto de herramientas de depuración preinstaladas.

Si necesitas asistencia adicional, comunícate con Atención al cliente de Cloud.

Descripción general

Cada clúster de GKE alojado en VMware que creas está compuesto por 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 tools 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 tools. 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 GKE en VMware, el detector de problemas de nodos, que está habilitado para todos los nodos en 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 Google Distributed Cloud, la reparación automática del servicio systemd de kubelet y Docker 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.

¿Qué sigue?

Si necesitas asistencia adicional, comunícate con Atención al cliente de Cloud.