Biblioteca Online : ¡La Suscripción ENI por 9,90 € el primer mes!, con el código PRIMER9. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Kubernetes
  3. Contextos y herramientas de terceros
Extrait - Kubernetes Administre la plataforma de despliegue de sus aplicaciones en contenedores
Extractos del libro
Kubernetes Administre la plataforma de despliegue de sus aplicaciones en contenedores
3 opiniones
Volver a la página de compra del libro

Contextos y herramientas de terceros

Objetivos del capítulo y requisitos previos

Kubernetes es una herramienta relativamente compleja. Antes de continuar con la creación de clústeres, descubrirá algunas herramientas interesantes que podrá utilizar cuando se presente algún problema o para simplificar su vida.

En primer lugar, se abordará la noción de contextos y se presentarán las herramientas para manipularlos (kubectx, kubens, kube-ps1). También se dedicará tiempo a agregar un contexto en la línea de comandos del usuario para saber rápidamente en qué clúster está trabajando.

A continuación, se presentarán las diferentes herramientas que le facilitarán las cosas, como, por ejemplo, supervisar el estado de los pods o capturar el tráfico de red de un contenedor.

Gestión de los contextos con kubectl

1. Origen de la necesidad

Antes de probar los clústeres de Kubernetes de diferentes orígenes, es interesante entender cómo se almacena de manera local la información de conexión, para:

  • poder cambiar fácilmente de un clúster a otro,

  • almacenar la información en algún lugar (para archivarla, por ejemplo).

2. Listar los contextos

Al iniciar Minikube, el lector ha creado un contexto predeterminado: minikube. 

Una buena manera de averiguarlo es utilizar el comando kubectl seguido de la opción config y la palabra clave get-contexts:

$ kubectl config get-contexts 

En caso de que haya configurado el acceso a minikube, así como a un clúster creado en Google, el resultado podría ser similar al siguiente:

CURRENT   NAME         CLUSTER       AUTHINFO       NAMESPACE 
          gke-test     gke-test      gke-test 
*         minikube     minikube      minikube 

Siempre con la opción config, la subopción current-context permite recuperar el campo NAME del contexto predeterminado:

$ kubectl config current-context 

En caso de que minikube sea el contexto predeterminado, el comando devolverá el siguiente resultado:

minikube 

3. Variable de entorno KUBECONFIG

a. Especificar la ubicación del archivo

La variable de entorno KUBECONFIG permite que varios clústeres coexistan, además de especificar un archivo diferente al predeterminado (~/.kube/config).

La exportación de la variable entorno se realiza de la siguiente manera:

$ export KUBECONFIG=~/kubeconfig/cluster-prod 

 Consulte de nuevo los contextos que muestra el comando kubectl:

$ kubectl config get-contexts 

Los contextos son diferentes a los que había la última vez:

CURRENT   NAME         CLUSTER      AUTHINFO     NAMESPACE 
*         hp-a.ex.com  hp-a.ex.com  hp-a.ex.com 

b. Especificar varios...

Herramientas de Kubernetes

1. k9s: interfaz de texto de seguimiento

a. Contexto

En caso de problemas durante el despliegue, puede llamar al comando kubectl. A continuación, deberá pasar por las diferentes opciones en función de lo que quiera consultar:

  • get pods para obtener el estado de los pods.

  • describe pods, seguido del nombre del pod, para obtener eventos relacionados.

  • logs, seguido del nombre del pod, para consultar los logs.

El comando k9s ofrece guiar al usuario en estas operaciones a traves de una interfaz de texto rudimentaria, pero muy efectiva.

Para más detalles, consulte la siguiente dirección: https://github.com/derailed/k9s

b. Instalar k9s

 La utilidad k9s está disponible en Arkade. Para instalarla, ejecute el siguiente comando:

$ arkade get k9s 

c. Ejecutar k9s

 Desde un terminal, ejecute k9s:

$ k9s 

De forma predeterminada, k9s se conectará automáticamente al clúster activo en el contexto actual.

images/Cap11_pag18.png

Pantalla de bienvenida de k9s en un clúster minikube

Desde la interfaz de inicio, puede seleccionar un pod con la tecla [Intro]. A continuación, puede consultar la lista de contenedores del pod y, al validar el contenedor, acceder al registro de actividad del contenedor.

La vuelta atrás se realiza con la tecla [Esc].

Algunos accesos directos le permiten ejecutar acciones:

  • lanzar un Shell con la tecla s,

  • eliminar un pod con la tecla CTRL - d,

  • describir un pod con la tecla d,

  • consultar el log con la tecla l.

La utilidad también permite ver cualquier tipo de objeto en el clúster. Para hacer esto, utilice los dos puntos (:), seguidos del tipo de objetos que desea consultar (service, deployment, pvc, etc.). Para cambiar el espacio de nombres, utilice el tipo namespaces (o su acceso directo ns) y después seleccione el espacio de nombres que desea consultar. Seguidamente, pulse la tecla [Intro].

Observe que también es posible consultar los charts Helm presentes indicando el tipo helm.

2. Kubespy: trazar la actividad

a. Presentación de Kubespy

Kubespy es una herramienta para supervisar la actividad de un recurso en Kubernetes como consecuencia de una actualización.

Para más detalles, consulte la siguiente dirección: https://github.com/pulumi/kubespy

b. Instalar Kubespy

Esta herramienta tiene la forma de archivo binario para instalar en su máquina.

 Para instalarlo en Linux...