La función de depuración de Kubectl

La función de depuración de Kubectl
Un problema común con las nuevas instalaciones de Kubernetes es cuando un servicio no funciona correctamente. Ha creado un servicio y ejecuta sus vainas a través de una implementación u otro controlador de tareas. Sin embargo, no pasa nada cuando intentas acceder a él. En esta publicación, explicaremos los antecedentes de la depuración, una nueva característica en Kubectl. Cada cápsula en Kubernetes se ejecuta como un contenedor Docker, que se separa utilizando la función de aislamiento del espacio de nombres de Linux. Para los procesos, cada contenedor tiene su sistema de archivos. La capacidad de depuración automatiza el archivo adjunto del contenedor y el espacio de nombres para compartir con un solo comando y sin archivos manifestados.

Todos los desarrolladores e ingenieros de DevOps que trabajan con Kubernetes tienen que depurar cargas de trabajo y vainas en contenedores diariamente. Los registros de kubectl simples o los kubectl describen las vainas a menudo pueden identificar la fuente de un problema. Sin embargo, ciertos problemas son más difíciles de rastrear. Podrías intentar Kubectl EXEC en ciertos casos. Sin embargo, incluso eso podría no ser adecuado porque algunos contenedores, como distrols, ni siquiera tienen un caparazón en el que pueda ssh. Entonces, si todo lo anterior falla, ¿cuáles son nuestras opciones?? La depuración de Kubectl, como una nueva instrucción agregada no hace mucho tiempo (V1.18), sería la herramienta adecuada para solucionar problemas de trabajo en Kubernetes.

Requisitos previos

Antes de usar Kubectl, primero debemos validar el sistema operativo. En nuestra situación, estamos ejecutando Ubuntu 20.04 en una computadora. Se pueden investigar otras distribuciones de Linux para comprender si son adecuadas para sus necesidades o no. Se requiere un clúster de minikube para implementar los servicios de Kubernetes en Linux. Para que esta guía funcione, deberá configurar un clúster de minikube en su sistema. Minikube hace que evaluar las características críticas de un clúster de Kubernetes sea muy fácil, con cualquier cosa fácilmente activada o eliminada. Use el terminal de línea de comando para configurar un clúster de minikube. Uno de los dos enfoques está disponible para abrirlo. Busque "terminal" en la sección de búsqueda de aplicaciones de su sistema. Un atajo de teclado que se puede usar para esto es Ctrl+Alt+T:

$ minikube comienzo

Cómo ejecutar comandos en una cápsula

Querrá observar lo que una cápsula que opera en el clúster ve durante varias de las fases que siguen. Ejecutar una cápsula interactiva de BusyBox es el método más simple para hacer esto:

$ kubectl run -it -rm -restart = nunca abrevsbox -image = gcr.IO/Google-Containers/Busybox SH

Como instalar

Ejecutemos algunas vainas para esta lección. Puede utilizar su propia información porque lo más probable es que esté depurando su propio servicio, o puede seguir fácilmente y obtener un segundo punto de datos:

$ kubectl crea nombres de host de implementación -image = GCR.IO/Serv_HostName

El tipo y el nombre del recurso producido o cambiado se imprimirán mediante instrucciones de Kubectl, que posteriormente se pueden usar en comandos posteriores. Aumentemos el número de réplicas en la implementación a tres:

$ kubectl de implementación de escala hostnames -Replicas = 3

Puede verificar si sus vainas están funcionando haciendo lo siguiente:

$ kubectl get pods -l app = hostnames

También puede verificar para ver si sus vainas están funcionando. De esta manera, puede obtener una lista de direcciones IP de POD y probarlas de inmediato:

$ kubectl get pods -l app = hostnames \

El contenedor de muestra en esta publicación utiliza HTTP en el puerto para proporcionar su nombre de host. Pero si está depurando esto por su cuenta, use cualquier número de puerto en el que se encuentren sus vainas. Desde el interior de una vaina:

Si no obtiene los resultados que desea en esta etapa, es posible que sus vainas no estén saludables o no escuchen en el puerto que cree que están. Puede desear investigar los registros de Kubectl, o es posible que deba ejecutar Kubectl en sus vainas de inmediato y depurar desde allí. Si todos los pasos se ejecutan con precisión hasta ahora, puede iniciar su investigación sobre por qué su servicio no está funcionando correctamente.

Es el servicio creado?

El lector astuto podría tener una idea de que aún tiene que construir un servicio, lo cual es, de hecho, a propósito. Este paso a menudo se pasa por alto, pero es el primer elemento en verificar. Si el servicio aún no está allí, cree primero y verifique si todavía está allí.

¿Las cápsulas de destino se dividen en cualquier regla de entrada de política de red??

Si tiene alguna regla de entrada de política de red que pueden afectar el tráfico entrante a los nombres de host-* PODS, debe revisarlas.

¿Está el servicio adecuadamente definido??

Aunque parece pequeño, verifique que el servicio que ha creado es preciso y coincide con el puerto de su vaina. Vuelva a leer su servicio y confirme. Si ha llegado tan lejos, ha verificado que su servicio está definido y resuelto correctamente por DNS. Ahora es el momento de verificar que el servicio está recogiendo las vainas que creó.

Conclusión

Este artículo cubrió todo lo que necesita saber sobre la función de depuración de Kubectl. También hemos proporcionado ejemplos extensos para ayudarlo. Puede seguir todos los pasos de esta guía para realizar su trabajo de manera efectiva. Esperamos que hayas encontrado este artículo útil. Encuentra más consejos y guías sobre la pista de Linux.