Cómo configurar una instancia local de Kubernetes con MicroK8s en Ubuntu

DevOps ha cambiado enormemente la forma en que los ingenieros y desarrolladores de software desarrollan e implementan aplicaciones. Una de las tecnologías en el corazón de esta revolución es Kubernetes.

Exploremos cómo puede instalar una instancia local de Kubernetes en Ubuntu usando MicroK8s (MicroKates). Con esta configuración en su lugar, puede alojar fácilmente aplicaciones de contenedor de una manera segura, confiable y altamente escalable.

¿Por qué utilizar MicroK8s?

Kubernetes es una plataforma de código abierto que ayuda a optimizar las operaciones de DevOps al automatizar la implementación, el escalado y la administración de aplicaciones en contenedores. Kubernetes también se conoce popularmente como K8s, el nombre que se deriva de contar las ocho letras entre k y s en el nombre de Kubernetes. Piense en MicroK8s como una instancia de Micro Kubernetes.

La mayoría de los entornos de nube de producción pública y privada que ejecutan Ubuntu usan Charmed Kubernetes para administrar aplicaciones en contenedores. Sin embargo, el desafío con Charmed Kubernetes es que consume muchos recursos y requiere un buen nivel de conocimiento para configurarlo correctamente.

Aquí es donde entra en juego MicroK8s. MicroK8s es un Kubernetes ascendente pequeño y liviano que puede ejecutarse en la PC de un desarrollador, un dispositivo IoT o en dispositivos periféricos de forma nativa sin la necesidad de una máquina virtual. MicroK8s es multiplataforma y puede ejecutarse tanto en arquitecturas Intel como ARM.

MicroK8s le ofrece una de las mejores formas de familiarizarse con Kubernetes, con una fricción mínima. Es un upstream de Kubernetes certificado por el Cloud Native Computing Foundation (CNCF), que garantiza que las implementaciones de Kubernetes sean compatibles e interoperables de acuerdo con los estándares industriales especificados.

Paso 1: Instalar MicroK8s en Ubuntu

Puede instalar fácilmente MicroK8s en Ubuntu usando el comando snap.

sudo snap install microk8s --classic

Alternativamente, puede instalar MicroK8s desde la GUI usando el Centro de software de Ubuntu. Simplemente busque microk8s y luego haga clic en el Instalar en pc botón.

Paso 2: Configuración de su firewall para MicroK8s

Para garantizar una comunicación fluida entre los pods y con Internet, debe habilitar la comunicación entrante y saliente en la interfaz de red del contenedor de su firewall.

Un pod es la unidad informática desplegable más pequeña de Kubernetes; puede ser uno o un grupo de contenedores con almacenamiento compartido y recursos de red, etc.

sudo ufw allow in on cni0 && sudo ufw allow out on cni0

Luego, ejecute el siguiente comando:

sudo ufw default allow routed

Paso 3: Agregar su usuario al grupo MicroK8s

Por el momento, tendrás que usar el sudo comando para ejecutar la mayoría de los comandos de MicroK8s. Si bien esta es una buena medida de seguridad en un servidor de producción, puede que no sea necesaria en una máquina de desarrollo.

Agregue su usuario al grupo MicroK8s para evitar usar sudo.

sudo usermod -aG microk8s $USER

Además, haga que su usuario actual sea el propietario del ~ / .kube directorio.

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

Para que los cambios surtan efecto, vuelva a cargar los grupos de usuarios ejecutando el siguiente comando:

newgrp microk8s

Paso 4: Habilitación de complementos importantes

De forma predeterminada, MicroK8s contiene lo mínimo para lograr una huella mínima en los dispositivos de borde e IoT. Sin embargo, puede instalar algunos complementos importantes para administrar los servicios de MicroK8. Habilite los complementos de DNS, panel de control y almacenamiento con el microk8s mando.

microk8s enable dns dashboard storage

Es posible que otros servicios requieran el complemento DNS, por lo que se recomienda habilitarlo siempre.

El complemento del tablero le brinda una descripción gráfica de los servicios en MicroK8s; también puede utilizarlo para gestionar servicios.

Puede ver una lista de los complementos de MicroK8 disponibles ejecutando el comando:

microk8s status

Paso 5: Visualización del panel de MicroK8s

Ahora que ha habilitado el complemento del panel de control, puede acceder fácilmente al panel de MicroK8s desde su navegador web.

Primero, necesita la dirección IP del panel de control. Puede obtenerlo ejecutando el comando:

microk8s kubectl get all --all-namespaces

De la salida del comando anterior, notará que el panel de control de kubernetes el servicio se está ejecutando en la dirección IP 10.152.183.35 y está escuchando en el puerto TCP 443. Tenga en cuenta que esta dirección IP puede ser diferente de la que está utilizando su servicio de panel porque se genera aleatoriamente.

En su navegador, vaya a la dirección IP indicada. En este caso, será https://10.152.183.35:443. Asegúrese de señalar la URL correcta.

Por motivos de seguridad, el panel de Kubernetes le solicitará los detalles de autenticación para iniciar sesión. Puede acceder al token del panel predeterminado ejecutando el siguiente comando. Luego copia el kubernetes.io/service-account-token presentado y péguelo en la entrada del token.

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

El panel le presenta una descripción general de las cargas de trabajo, los servicios, la configuración, los clústeres, etc. de MicroK8s.

Paso 6: creación de un servicio con MicroK8s

Para ver MicroK8s en acción, creemos una implementación de servicio de microbot que contiene dos pods. Cree el pod con el kubectl mando:

microk8s kubectl create deployment microbot --image=dontrebootme/microbot:v1

Escale la vaina del microbot usando el siguiente comando.

microk8s kubectl scale deployment microbot --replicas=2

Cree un servicio para exponer la implementación del microbot.

microk8s kubectl expose deployment microbot --type=NodePort --port=80 --name=microbot-service

Ahora hemos implementado dos módulos de microbot con el nombre servicio / microbot-servicio. Puede ver los detalles del servicio de microbot y otros servicios ejecutando el siguiente comando:

microk8s kubectl get all --all-namespaces

Notará que el servicio de microbot se está ejecutando en un NodePort, por lo tanto, puede acceder a él a través del navegador de su PC. En este caso, el servicio se ejecuta en el puerto 30353 generado aleatoriamente.

En su navegador, vaya a la URL http: // localhost: 30353, donde 30353 es el número de puerto que aparece en la salida anterior. Asegúrese de que está utilizando el número de puerto correcto.

Kubernetes vs.Docker: ¿Cuál debería elegir?

Esta guía ha analizado cómo instalar una huella mínima de Kubernetes localmente en su PC o dispositivo de borde. Kubernetes es parte del flujo de trabajo de muchos desarrolladores y se usa ampliamente para implementar aplicaciones en contenedores de alta escala en producción.

Kubernetes se utiliza para administrar u orquestar un grupo de contenedores, por ejemplo, contenedores de Docker, con facilidad. Docker independiente, por otro lado, se usa principalmente para administrar contenedores individuales. La elección de utilizar Docker o Kubernetes dependerá de las competencias de su equipo y del tamaño del software que se implementará en producción.

Related Posts