/ HOWTO

Kubernetes en Windows sin Minikube


En Windows, ya no necesitamos tener que instalar Minikube para poder ejecutar un clúster de Kubernetes de forma local para realizar nuestras pruebas de las aplicaciones.

Desde la versión 18.06 CE Edge de Docker for Windows, Docker ha agregado la integración nativa para Kubernetes. Para utilizar Kubernees se necesita la última de Windows 10 Profesional.

Para saber la versión que tenemos instalada ejecutamos el comando

docker version

El servidor de Kubernetes se ejecuta localmente dentro de la instancia de docker como un clúster de un solo nodo, y está pre configurado para su uso por parte de los usuarios.

Docker for Windows se puede instalar:

  • Descargando el ejecutable desde la página de docker
  • Con el gestor de paquetes de Windows Chocolatey

    choco install docker-for-windows -pre

Una vez instalado Docker, vamos a la configuración de Docker y en la pestaña “Kubernetes” activamos su uso.

Una vez aplicado los cambios podemos ver en la misma ventana como Docker y Kubertnetes se estan ejecutando.

Ahora podemos ir a la línea de comandos y ejecutar la siguiente sentencia

kubectl get nodes

El resultado nos muestra el nodo de Kubernetes que se esta ejecutando.

En este momento ya tenemos a nuestra disposición un nodo de Kubernetes en cuál podemos desplegar nuestras aplicaciones en Pods, Servicios, etc …

Esta instalación también nos proporciona el Dashboard de Kubernetes para poder ver el estado del clúster de una forma visual. Para visualizar el dashboard se tiene que ejecutar el comando

kubectl proxy

Cuando se ejecuta se muestra una Url a la que podemos acceder

Accedemos a la Url con el navegador

Vemos que se nos muestra las rutas de la Api de kubernetes pero no el dashboard.

Por defecto, el dashboard de Kuberntes no esta instalado. Para instalarlo, tenemos que acceder al siguiente fichero yaml

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/alternative/kubernetes-dashboard.yaml

También se pueden añadir nuevas tablas y gráficos con los siguientes ficheros yaml

kubectl create -f https://raw.githubusercontent.com/kubernetes/heapster/master/deploy/kube-config/influxdb/influxdb.yaml
kubectl create -f https://raw.githubusercontent.com/kubernetes/heapster/master/deploy/kube-config/influxdb/heapster.yaml
kubectl create -f https://raw.githubusercontent.com/kubernetes/heapster/master/deploy/kube-config/influxdb/grafana.yaml

A continuación, se tiene que obtener un token.

Para obtener el token, vamos a una consola de Powershell con permisos de administrador y ejecutamos los siguientes comandos

$TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]
kubectl config set-credentials docker-for-desktop --token="${TOKEN}"

Ahora, en el navegador ponemos la siguiente url http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

y nos aparece la siguiente pantalla

Seleccionamos la primera opción, y en los puntos suspensivos indicamos el fichero de configuración. Este fichero esta en la ruta

C:\Users\<usuario>\.kube\config

Una vez indicado el fichero de configuración y dando al botón de “Sign In” nos aparece el Dashboard

Desde el Dashboard, de una forma visual podemos gestionar el nodo de kubernetes.

En próximos artículos iremos profundizando sobre kubernetes.

Nos vemos. Y recuerden que el 30 de Mayo tenemos el Meetup sobre Kuberntes.

Os esperamos!!!

Un saludo,

Subscríbete y recibirás los últimos artículos semanalmente en tu email.