¿Qué es MicroK8s? Breve Introducción, instalación y comandos más básicos

Los desarrolladores, administradores de sistemas y entusiastas de la tecnología están interesados ​​en aprender Kubernetes.

Kubernetes es una herramienta compleja de orquestación de contenedores que puede resultar abrumadora para los principiantes.

Si quieres conocer más sobre Kubernetes, puedes leer la introducción a Kubernetes, la historia de Kubernetes, incluso te puede interesar la comparativa entre Kubernetes y Docker o pasar por la colección de enlaces sobre contenedores.

A continuación, voy a intentar guiarte en una implementación de Kubernetes algo más sencilla: Kubernetes conjunto a MicroK8s.

¿Qué es MicroK8s?

MicroK8s es una distribución de Kubernetes potente, liviana y confiable lista para producción. MicroK8s fue creado y está mantenido por la compañía Canonical, mantenedora de Ubuntu.

Con la distribución de MicroK8s vas a poder disfrutar de una versión de Kubernetes a nivel empresarial que ocupa poco espacio en disco y memoria.

Al mismo tiempo, MicroK8s te ofrece complementos seleccionados cuidadosamente, como Istio, Knative, Grafana, Cilium y más.

Bien si estás ejecutando un entorno de producción o estás interesado en explorar Kubernetes: MicroK8s va a ser capaz de satisfacer todas tus necesidades.

¿Por qué debería utilizar MicroK8s?

MicroK8s es un Kubernetes multi nodo más pequeño y rápido, totalmente compatible con un solo paquete que funciona en Linux, Windows y Mac.

Perfecto para implementar en estaciones de trabajo para desarrolladores, IoT, Edge o CI/CD.

Cualquiera que hayas intentado trabajar con Kubernetes conoce el dolor de tener que lidiar con la configuración y la ejecución de la implementación.

Existen soluciones minimalistas en el mercado que reducen el tiempo de implementación y la complejidad, pero para lograr esa mejoras suelen dejar otros apartados importantes de lado.

Si no quieres perder el tiempo en implementar Kubernetes, MicroK8s te va a permitir comenzar con Kubernetes en menos de 60 segundos.

¿Cómo instalar MicroK8s en Linux?

Si estás utilizando Ubuntu, la forma más rápida de comenzar e instalar MicroK8s es directamente desde la tienda instantánea haciendo clic en el botón “Instalar”.

Sin embargo, también puede instalar MicroK8s desde la línea de comando:

sudo snap install microk8s --classic

Si está utilizando una distribución de Linux diferente, es probable, que primero debas instalar el sistema gestor de paquetes SNAP.

sudo apt install snapd

MicroK8s es muy sencillo y como tal, se actualiza con frecuencia en cada versión de Kubernetes.

¿Cómo habilitar complementos de MicroK8s en Ubuntu?

De forma predeterminada, vas a obtener una versión de Kubernetes básica. Los servicios adicionales, como el panel, el core-dns o el almacenamiento local, se deben habilitar ejecutando el comando microk8s enable:

microk8s enable dns dashboard storage

Estos complementos se pueden desactivar en cualquier momento ejecutando el comando microk8s disable:

microk8s disable dns dashboard storage

Con el siguiente comando, puede ver la lista de complementos disponibles y los que están habilitados.

microk8s status

¿Cómo instalar MicroK8s en Windows?

Debes descargar e instalar el instalador de MicroK8s.

El instalador comprueba si Hyper-V está disponible y encendido, en el caso de que no sea así. Es posible utilizar VirtualBox como alternativa.

Luego tendrás que configurar MicroK8s, en principio con las opciones por defecto sería suficiente, excepto que tengas pensado trabajar con grandes cargas de trabajo.

En ese caso, probablemente, lo suyo seria aumentarle la memoria hasta los 12 GB de RAM.

Por último, si ejecutas el siguiente comando sobre el Powershell o el CMD, te servirá para comprobar si Kubernetes está activo.

microk8s status --wait-ready

MicroK8s incluye kubectl para acceder a Kubernetes y vas a poder utilizarlo para controlar y monitorear. Por ejemplo para ver el nodo:

microk8s kubectl get nodes

O para ver los servicios en ejecución:

microk8s kubectl get services

¿Cómo instalar MicroK8s en Mac?

Con Homebrew instalado, ahora puede usarlo para instalar la versión preempaquetada de MicroK8s.

brew install ubuntu/microk8s/microk8s

Esto descargará e instalará una versión de Multipass, un sistema VM para ejecutar Ubuntu y otros paquetes requeridos por MicroK8s.

Posteriormente, vas a poder instalar MicroK8s con el comando:

microk8s install

¿Qué complementos existen para MicroK8s?

  • dns: Implementar DNS. Este complemento puede ser requerido por otros, por lo que le recomendamos que siempre lo habilite.
  • dashboard: Implementa el panel de Kubernetes.
  • storage: Crear una clase de almacenamiento predeterminada. Esta clase de almacenamiento hace uso del aprovisionador de ruta de host que apunta a un directorio en el host.
  • ingress: Crear un controlador de ingreso.
  • gpu: Expón las GPU a MicroK8 habilitando el tiempo de ejecución nvidia-docker y nvidia-device-plugin-daemonset. Requiere que los controladores NVIDIA ya estén instalados en el sistema host.
  • istio: Implementa los servicios principales de Istio. Puede usar el comando microk8s istioctl para administrar tus implementaciones.
  • registry: Implementa un registro privado de Docker y expóngalo en localhost: 32000. El complemento de almacenamiento se habilitará como parte de este complemento.

¿Cómo acceder al panel de Kubernetes?

Habiendo habilitado los complementos del panel de control y el dns, tienes que poder entrar al panel de Kubernetes.

Primero, verificando la implementación de los complementos.

microk8s kubectl get all --all-namespaces

Segundo, tienes que fijarte en el Cluster IP que se indique para el parámetro service/kubernetes-dashboard y con la IP que asignada, acceder a través del puerto TCP 433.

https://xxx.xxx.xxx.xxx:433

Desde esa URL vas a poder visualizar el Dashboard de Kubernetes, Al acceder se te pedirá un token. Utiliza el siguiente comando para lograrlo.

token=$(microk8s kubectl -n kube-system get secret | grep default-token | cut -d " " -f1)
microk8s kubectl -n kube-system describe secret $token

¿Qué comandos permite utilizar MicroK8s?

  • microk8s status: Proporciona una descripción general del estado de MicroK8s (en ejecución / no en ejecución), así como el conjunto de complementos habilitados.
  • microk8s enable: Habilita un complemento.
  • microk8s disable: Deshabilita un complemento.
  • microk8s kubectl: Interactuar con kubernetes.
  • microk8s config: Muestra el archivo de configuración de kubernetes.
  • microk8s istioctl: Interactúa con los servicios de istio; necesita que el complemento istio esté habilitado.
  • microk8s inspect: Realiza una inspección rápida de la instalación de MicroK8s.
  • microk8s reset: Restablece la infraestructura a un estado limpio.
  • microk8s stop: Detiene todos los servicios de Kubernetes.
  • microk8s start: Inicia MicroK8s después de que se detiene.

¿Cómo puedes saber más sobre MicroK8s?

Puedes ponerte mucho más al día e investigar en total profundidad, desde el sitio web de MicroK8s.

Como todo lo que encontrarás por Ciberninjas, esto no es más que una muy pequeña introducción en español a MicroK8s.

Desde Ciberninjas buscamos la difusión de proyectos y software intentando dándolos conocer entre los desarrolladores de habla hispana.

Ojalá os sirva de utilidad MicroK8s y seáis capaces de sacarle un buen partido a todo lo que publico.

¡Nos estamos leyendo ninjas, nos encontraremos en las redes!