Versión del cliente y del servidor de Kubernetes

KubernetesBeginner
Practicar Ahora

Introducción

Kubernetes es una herramienta de orquestación de contenedores poderosa que ayuda a los desarrolladores a desplegar, escalar y gestionar aplicaciones contenerizadas. Conocer las versiones del cliente de Kubernetes (kubectl) y del servidor es esencial para solucionar problemas, garantizar la compatibilidad y gestionar las actualizaciones. En este laboratorio, aprenderás cómo verificar las versiones del cliente y del servidor y formatear la salida de diferentes maneras.

Iniciar el clúster de Kubernetes

Antes de ejecutar cualquier comando de Kubernetes, necesitas un clúster en funcionamiento. Para este laboratorio, usaremos Minikube para configurar un clúster local de Kubernetes.

Primero, abre tu terminal y asegúrate de estar en el directorio /home/labex/project:

cd ~/project

A continuación, inicia el clúster de Minikube con el siguiente comando:

minikube start

Este comando inicializa un clúster de Kubernetes de un solo nodo. Minikube ofrece una forma fácil de probar comandos de Kubernetes localmente sin necesidad de un clúster remoto. El proceso puede tardar unos minutos mientras Minikube configura el clúster e instala los componentes necesarios.

Para asegurarte de que el clúster está en funcionamiento, puedes verificar su estado ejecutando:

minikube status

Deberías ver un estado que indique que el clúster está en funcionamiento. Si no lo está, intenta reiniciar Minikube con minikube delete seguido de minikube start.

Versión del cliente y del servidor

Para ver la información de la versión tanto del cliente como del servidor de Kubernetes, utiliza el siguiente comando:

kubectl version

Este comando mostrará detalles tanto del cliente (tu herramienta local kubectl) como del servidor (la API de Kubernetes que se ejecuta en tu clúster). La información de la versión incluye las versiones principales y secundarias, el hash del commit de Git, la fecha de compilación y más.

Por ejemplo, podrías ver una salida como esta:

Client Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.0",...}
Server Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.0",...}

La "Client Version" muestra la versión de tu herramienta kubectl, mientras que la "Server Version" se refiere al servidor de la API de Kubernetes en el clúster. Idealmente, estas versiones deben coincidir o ser compatibles para que los comandos funcionen correctamente.

Recuperar solo la versión del cliente

A veces, solo necesitarás verificar la versión de tu herramienta kubectl, por ejemplo, cuando estés solucionando problemas locales o verificando la compatibilidad con un clúster remoto. Para mostrar solo la versión del cliente, utiliza el siguiente comando:

kubectl version --client

Este comando muestra solo la versión del cliente sin intentar conectarse a un clúster de Kubernetes. Esto es especialmente útil cuando no hay un clúster disponible o cuando quieres verificar la instalación de kubectl en tu máquina.

La salida se verá así:

Client Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.0",...}

Mostrar información de la versión del servidor en formato JSON

Kubernetes admite la salida de información en formatos estructurados como JSON, que se utiliza ampliamente en la automatización y la integración con otras herramientas. Para mostrar la información de la versión del servidor en formato JSON, ejecuta:

kubectl version --output=json

Este comando recupera la información de la versión tanto del cliente como del servidor y la formatea como un objeto JSON. La salida JSON es legible por máquina y puede ser analizada por scripts o aplicaciones externas.

A continuación, se muestra un ejemplo de salida JSON:

{
  "clientVersion": {
    "major": "1",
    "minor": "26",
    "gitVersion": "v1.26.0",
   ...
  },
  "serverVersion": {
    "major": "1",
    "minor": "26",
    "gitVersion": "v1.26.0",
   ...
  }
}

Mostrar información de la versión del servidor en formato YAML

Kubernetes a menudo utiliza YAML para archivos de configuración y manifiestos, lo que lo convierte en una opción natural para la salida legible por humanos. Para mostrar la información de la versión del servidor en formato YAML, ejecuta:

kubectl version --output=yaml

Este comando recupera la información de la versión y la formatea como un documento YAML. YAML es más fácil de leer para los humanos y se utiliza comúnmente en los flujos de trabajo de Kubernetes.

Por ejemplo, la salida YAML podría verse así:

clientVersion:
  major: "1"
  minor: "26"
  gitVersion: v1.26.0
 ...
serverVersion:
  major: "1"
  minor: "26"
  gitVersion: v1.26.0
 ...

Resumen

En este laboratorio, has aprendido a:

  1. Iniciar un clúster local de Kubernetes utilizando Minikube.
  2. Obtener la información de la versión tanto del cliente como del servidor utilizando kubectl version.
  3. Verificar la versión del cliente de forma independiente con la bandera --client.
  4. Formatear la información de la versión en formatos JSON y YAML para diferentes casos de uso.

Comprender los detalles de la versión de Kubernetes es fundamental para solucionar problemas, garantizar la compatibilidad e integrar Kubernetes con otras herramientas. Con estos comandos básicos, estás mejor preparado para gestionar entornos de Kubernetes y depurar problemas relacionados con la versión. ¡Sigue practicando y explorando!