¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. 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. Panel de control y línea de comandos
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

Panel de control y línea de comandos

Objetivos del capítulo y requisitos previos

En primer lugar, este capítulo se ocupará de abordar brevemente la historia del origen del proyecto y las nociones relacionadas con los contenedores.

Posteriormente, se presentará una introducción al uso de Kubernetes y se descubrirán algunos elementos:

  • El panel de control (dashboard) de Kubernetes.

  • El comando kubectl.

  • El motor Docker de Minikube.

  • La consulta de algunos objetos básicos (pods y nodos).

Al final de este capítulo, dispondrá de los siguientes elementos:

  • Un clúster de Kubernetes en funcionamiento.

  • Un contexto kubectl coherente.

Para poder seguir todos los ejercicios, es imprescindible disponer de una conexión a Internet de banda ancha (ADSL o superior).

Preámbulo

1. Origen del nombre y del logo

Kubernetes es una palabra de origen griego (κυβερνήτης) que significa timonel (o piloto). En la navegación, es la persona que se encarga de sujetar el timón.

En Google, el nombre interno de este proyecto fue Project Seven, en referencia a un personaje del universo de Star Trek (Seven of Nine o su nombre real, Annika Hansen). Los siete radios del logotipo del timón son un guiño a este antiguo nombre.

2. ¿Por qué utilizar Kubernetes?

El lanzamiento de Docker en los últimos años ha supuesto un gran cambio en la forma de gestionar aplicaciones dentro de un sistema de información. De este modo, ahora es posible realizar operaciones que antes eran complicadas, de una manera más rápida y sencilla; tareas como:

  • iniciar entornos de prueba bajo demanda,

  • deshacerse de los problemas de dependencias de las librerías,

  • estandarizar los entregables de todos los entornos,

  • aislar los recursos en el mismo servidor.

Como cualquier herramienta nueva, algunas preguntas tenían forzosamente una solución sencilla y se introdujeron nuevos problemas. Entre estos problemas, se encuentran los siguientes:

  • Persistencia de datos.

  • Seguimiento de aplicaciones en los contenedores.

  • Actualizaciones automáticas de aplicaciones.

  • Escalabilidad del motor Docker.

  • Escalabilidad de la carga de trabajo de la aplicación....

El panel de control de Kubernetes (dashboard)

1. Presentación

El panel de control de Kubernetes es una forma de consultar el estado de los diferentes elementos de un clúster. Para un usuario que comienza en esta tecnología, se trata un buen punto de partida, ya que esta aplicación permite consultar gráficamente los diferentes componentes de un clúster de Kubernetes.

Sin embargo, aunque esto último es posible en una máquina Minikube, por razones de seguridad puede no ser necesariamente buena idea desplegarlo en plataformas de producción.

2. Panel de control Kubernetes en servicio gestionado

Si utiliza un servicio gestionado, es posible que sea necesario instalar el dashboard antes de continuar.

Para instalarlo, consulte la sección Desplegar el panel de control de Kubernetes, en los anexos.

3. Desplegar el dashboard en Minikube

En Minikube, la activación del panel de control se realiza con la instrucción minikube, seguida de estas opciones:

  • La opción addons, seguida de la palabra clave enable.

  • El nombre del plugin que se desea activar (aquí, dashboard).

A continuación, se muestra el comando que se debe ejecutar:

$ minikube addons enable dashboard 

Seguidamente, se muestra el resultado de este comando:

    images/ic2-006.png  Using image kubernetesui/dashboard:v2.3.1 
    images/ic2-006.png  Using image kubernetesui/metrics-scraper:v1.0.7 
images/ic2-010.png  Some dashboard features require the metrics-server addon. To 
enable all features please run: 
        minikube addons enable metrics-server 
 
images/ic2-007.png  The 'dashboard' addon is enabled 

Como indica el comando anterior, active el servidor de métricas (metrics-server) para poder utilizar todas las funcionalidades del panel de control:

$ minikube addons enable metrics-server 

A continuación, se muestran los mensajes que devuelve esta operación:

  images/ic2-006.png Using image k8s.gcr.io/metrics-server/metrics-server:v0.4.2 
images/ic2-007.png  The 'metrics-server' addon is enabled 

4. Acceder al dashboard en Minikube

El acceso al panel de control se puede realizar con el comando minikube, seguido de la opción dashboard.

A continuación, se muestra el comando correspondiente:

$ minikube dashboard 
images/Cap3_pag7.png

Página de bienvenida del panel de control de Kubernetes

El comando...

Presentación de la herramienta kubectl

1. Preámbulo

En la sección anterior descubrió algunos objetos necesarios para desplegar una aplicación. Antes de continuar y comenzar a crear estos elementos en línea de comandos, se va a familiarizar con el comando kubectl.

2. Consultar elementos

Consultar el estado de los objetos en Kubernetes es una operación que se realiza con mucha frecuencia. Para esto, el administrador puede utilizar la palabra clave dedicada: get. Esta instrucción espera necesariamente el tipo de objeto que se va a consultar.

En el capítulo sobre cómo implementar Minikube, recuperó la lista de espacios de nombres existentes (namespace).

A continuación, se muestra el comando ejecutado:

$ kubectl get namespace 

Este comando devuelve el siguiente resultado:

NAME                  STATUS   AGE 
default               Active   19h 
kube-node-lease       Active   19h 
kube-public           Active   19h 
kube-system           Active   19h 
kubernetes-dashboard  Active   19h 

Hay cuatro espacios de nombres (al menos):

  • default: espacio de nombres predeterminado que se usará para crear objetos en Kubernetes.

  • kube-public: espacio de nombres público que contiene solo un objeto de configuración (objectmap).

  • kube-system: espacio de nombres que contiene los objetos necesarios para el ciclo de vida de un clúster de Kubernetes.

  • kube-node-lease: espacio de nombres que contiene objetos técnicos de comunicación (objet Lease) con los nodos...

El motor Containerd de Minikube

1. Inicialización del entorno

En el caso de Minikube, es posible consultar el motor Containerd que utiliza Kubernetes. Para hacer esto, conéctese al nodo usando la siguiente instrucción:

$ minikube ssh 

El demonio containerd se puede consultar usando el comando ctr, precedido por la instrucción sudo. Para recuperar la lista de los espacios de nombres, utilice las palabras clave namespace ls:

$ sudo ctr namespace ls 

A continuación, se muestra el resultado esperado:

NAME    LABELS 
k8s.io 

Aquí, el espacio de nombres se corresponde con una actividad relacionada con Kubernetes. En caso de que Docker se haya usado como motor de contenedores, el espacio de nombres llevaría el valor moby.

Los espacios de nombres en Containerd son similares a los que se han mostrado anteriormente. Sin embargo, tenga cuidado porque los dos conceptos no tienen nada que ver: Kubernetes usa su propio mecanismo internamente.

2. Los contenedores asociados a los pods

Además de los espacios de nombres, es posible consultar la lista de contenedores en Containerd.

Para hacer esto, use el comando ctr con las siguientes opciones:

  • La instrucción sudo para tener los permisos suficientes.

  • El uso del espacio de nombres k8s.io (con la opción -n).

  • Las palabras clave container ls.

A continuación, se muestra la instrucción completa que se debe utilizar:

$ sudo ctr -n k8s.io container...