Cómo crear un clúster de Kubernetes en minutos con microk8s

Crear y configurar un clúster de Kubernetes puede ser un desafío. Esto se ha vuelto aún más evidente después de que los desarrolladores dejaron de brindar soporte para el motor de tiempo de ejecución Docker. Como resultado, es posible que necesite configurar rápidamente un clúster de desarrollo sin tener que lidiar con todos los nuevos requisitos.

Cómo crear un clúster de Kubernetes en minutos con microk8s - Desarrollo | Imagen 1 Newsmatic

Afortunadamente, existe microk8s, una herramienta que facilita la creación de un clúster de Kubernetes pequeño con solo unos pocos comandos rápidos.

Voy a mostrarte lo fácil que es hacer esto. Debería llevar menos de cinco minutos poner en marcha este clúster.

Índice de Contenido
  1. ¿Qué es microk8s?
  2. Lo que necesitarás
  3. Cómo configurar los nombres de host
  4. Cómo instalar microk8s
  5. Cómo unir los nodos

¿Qué es microk8s?

Microk8s fue desarrollado por Canonical para servir como una herramienta de implementación de Kubernetes upstream certificada por CNCF, que permite implementar fácilmente un clúster de un solo nodo o de varios nodos. Sin embargo, debes tener en cuenta que microk8s no es un reemplazo para un clúster de Kubernetes completo. En cambio, esta herramienta debe considerarse específicamente para fines de desarrollo y no para implementaciones de producción.

Microk8s facilita mucho el trabajo con el desarrollo de Kubernetes y se puede instalar rápidamente a través de Snap.

MakuluLinux Shift: Cambia fácilmente el aspecto y rendimiento de tu escritorio

Lo que necesitarás

Lo único que necesitarás para poner esto en marcha son dos máquinas Linux que admitan paquetes Snap (como Ubuntu) y un usuario con privilegios de sudo. Voy a demostrarlo con dos instancias de máquinas virtuales de Ubuntu Server 22.04.

Vamos a hacer magia con Kubernetes.

Cómo configurar los nombres de host

Antes de instalar microk8s, configuremos los nombres de host. Vamos a establecer el controlador como microk8s1 y el nodo como microk8s2. Para hacer esto, inicia sesión en tu controlador y emite el siguiente comando:

sudo hostnamectl set-hostname microk8s1

Cierra sesión y vuelve a iniciar sesión.

Haz lo mismo en el nodo, cambiando el nombre por microk8s2.

Cómo resolver el error de tiempo de espera en las cabeceras de Docker

A continuación, deberás agregar entradas para cada uno en el archivo de hosts. Abre ese archivo en el controlador con el siguiente comando:

sudo nano /etc/hosts

En ese archivo, agrega dos entradas que se vean así, asegurándote de editar las entradas para que se adapten a tu esquema de direcciones IP y dominios:

192.168.1.135 microk8s.monkeypantz.lan microk8s1

192.168.1.137 microk8s.monkeypantz.lan microk8s2

Haz lo mismo en el nodo.

Ubuntu 22.04.1: Actualización de seguridad y mejoras para tu sistema operativo

Cómo instalar microk8s

Lo primero que debemos hacer es instalar microk8s en ambas máquinas. Inicia sesión en tu primera máquina e instala el software con el siguiente comando:

sudo snap install microk8s --classic

Una vez que la instalación se complete, deberás agregar tu usuario al grupo microk8s con el siguiente comando:

sudo usermod -aG microk8s $USER

A continuación, crea un directorio .kube con:

mkdir ~/.kube

El 22% de las organizaciones ha implementado una estrategia formal de DevSecOps

Da los permisos necesarios al nuevo directorio con:

sudo chown -f -R $USER ~/.kube

Cierra sesión y vuelve a iniciar sesión.

Luego puedes probar la instalación con el siguiente comando:

microk8s status

Deberías ver en la salida algo como esto:

Cómo crear una interfaz de usuario por voz exitosa para tus productos digitales

microk8s se está ejecutando

alta disponibilidad: no

nodos maestros de la base de datos: 127.0.0.1:19001

nodos de espera de la base de datos: ninguno

Haz lo mismo con la segunda máquina.

Cómo unir los nodos

En la máquina que servirá como controlador, emite el siguiente comando:

Cómo instalar y administrar un servidor Linux con YunoHost

microk8s add-node

La salida del comando anterior debería incluir el comando join que se ve así:

microk8s join 192.168.1.135:25000/f8f7c8b64ed411cf54a8307cead84e73/e0a27e14e027

Ejecuta el comando join en tu segundo nodo. Una vez que se complete el comando, puedes verificar la conexión en el nodo original con el siguiente comando:

microk8s kubectl get nodes

La salida del comando debería mostrar que ambos nodos forman parte del clúster, con una salida que se ve así:

Cómo instalar y acceder a Cockpit en Debian Server

microk8s1    Ready     9m46s  v1.24.3-2+63243a96d1c393

microk8s2    Ready     15s v1.24.3-2+63243a96d1c393

Ten en cuenta que, si necesitas agregar Alta Disponibilidad a tu clúster de Kubernetes, deberás tener un mínimo de tres nodos unidos en el clúster. Con tres nodos, la Alta Disponibilidad se habilitará automáticamente. También puedes unir nodos como trabajadores, que pueden alojar cargas de trabajo, pero no ejecutan el plan de control de Kubernetes ni contribuyen a la Alta Disponibilidad del clúster. Para unir un nodo como trabajador, debes agregar la bandera --worker al final del comando join de la siguiente manera:

microk8s join 192.168.1.135:25000/f8f7c8b64ed411cf54a8307cead84e73/e0a27e14e027 --worker

Y eso es todo. Ahora tienes un clúster de desarrollo de Kubernetes de dos nodos implementado en menos de cinco minutos. Esta es una excelente manera de comenzar con el desarrollo de contenedores, ya que no tendrás que pasar por los arduos pasos de implementar un clúster de Kubernetes completo.

Cómo instalar Docker CE en AlmaLinux: Guía paso a paso

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Cómo crear un clúster de Kubernetes en minutos con microk8s , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.