Micro Clúster Kubernetes en Ubuntu (MicroK8s)

Micro Clúster Kubernetes en Ubuntu (MicroK8s)

Hoy contaremos como desplegar un “Clúster” Kubernetes en Ubuntu y lo haremos mediante su opción de “MicroK8s” (Kubernetes for workstations and appliances).

Instalando Kubernetes MicroK8s

Para ello, el primer paso será asegurarnos que tenemos instalado “snap” en nuestro Ubuntu: sudo apt install snapd. Una vez lo tengamos, podemos proceder a instalarlo con sudo snap install microk8s --classic. MicroK8s es una instalación mínima de Kubernetes diseñada para funcionar localmente.

Para asegurarnos que ha quedado correctamente instalado lanzamos el comando: sudo microk8s.status y deberíamos tener un resultado parecido a:

microk8s is running
addons:
cilium: disabled
dashboard: disabled
dns: disabled
fluentd: disabled
gpu: disabled
helm: disabled
ingress: disabled
istio: disabled
jaeger: disabled
juju: disabled
knative: disabled
kubeflow: disabled
linkerd: disabled
metallb: disabled
metrics-server: disabled
prometheus: disabled
rbac: disabled
registry: disabled
storage: disabled

UPDATE: Podría tanar un rato en levantar el servicio y aparecería microk8s is not running. Use microk8s.inspect for a deeper inspection. temporalmente.

También, podría darnos un error por el “forward” en las iptables, para habilitarlo: sudo iptables -P FORWARD ACCEPT

Managing K8s & Installing Dashboard

Hay quienes prefieren gestionarlo todo con comandos y, hay quienes preferimos un entorno gráfico; si queremos tenerlo así podemos configurarlo siguiendo los pasos:

Habilitaremos el dashboard y el servicio DNS, lanzaremos el comando: sudo microk8s.enable dns dashboard ingress.

Como el entorno K8s tiene un esquema de direcciones IP único, necesitaremos configurar un proxy para pasar las solicitudes de acceso al Dashboard, lo que deberemos hacerlo introduciendo el proxy sudo microk8s.kubectl proxy --accept-hosts=.* --address=0.0.0.0 &. Al introducir “&” al final de esta cadena de comandos lo ejecutará en segundo plano.

UPDATE: Deberemos habilitar, no viene por “default”, el botón de skip para no tener que configurar ningún tipo de seguridad en el login, para ello, lanzamos: sudo microk8s.kubectl -n kube-system edit deploy kubernetes-dashboard -o yaml

Y añadiremos justo debajo de --namespace=kube-system un nuervo argumento: --enable-skip-login

Para validar que el Dashboard está funcionando correctamente, deberemos hacerlo mediante un navegador:

http://{Ubuntu_IP_address}:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

En la primera pantalla de configuración, seleccionaremos skip y se nos presentará una interfaz gráfica de usuario para el entorno de K8.

Kubernetes Dashboard

Y por si algún se quiere detener el servicio MicroK8s se puede hacer mediante:

sudo snap disable microk8s

y en caso de querer volver a tenerlo operativo mediante:

sudo snap enable microk8s

Habilitar el uso de los “Persistent Volume”

Es posible que tengamos problemas con la persistencia de los datos, para ello deberemos asegurarnos que tenemos habilitado el uso de los “Persistent Volume” mediante:

sudo microk8s.enable storage

Y reiniciar el servicio de MicroK8s:

sudo snap disable microk8s
sudo snap enable microk8s

Autor: Joakim Vivas

comments powered by Disqus