La forma más ligera de instalar Kubernetes es a través de Minikube, que es una herramienta que permite ejecutar un clúster de Kubernetes en una máquina virtual de un solo nodo. Minikube es fácil de instalar y configurar, y es una excelente opción para los desarrolladores que quieren probar y experimentar con Kubernetes en sus propias máquinas sin tener que preocuparse por la configuración y el mantenimiento de un clúster completo. Además, Minikube es compatible con la mayoría de las características de Kubernetes, lo que lo hace ideal para pruebas y desarrollo.

minikube vs microk8s

Minikube y MicroK8s son dos soluciones para ejecutar Kubernetes de manera ligera en un entorno local o de prueba.

Minikube es una herramienta que permite ejecutar Kubernetes en una máquina virtual, ya sea en una computadora local o en la nube. Permite configurar y ejecutar un clúster de Kubernetes en un solo nodo, lo que lo hace ideal para probar aplicaciones y hacer pruebas de concepto. Además, Minikube es compatible con múltiples hipervisores, como VirtualBox, VMware y KVM.

Por otro lado, MicroK8s es una solución ligera y fácil de usar que se ejecuta en sistemas operativos Linux. Es una distribución de Kubernetes que se instala y se ejecuta en una sola máquina, lo que la hace ideal para entornos de desarrollo y pruebas. También ofrece una gran cantidad de características y herramientas, como el registro de contenedores, el almacenamiento persistente y el monitoreo de clústeres.

En resumen, Minikube es una solución que permite ejecutar Kubernetes en una máquina virtual, mientras que MicroK8s es una solución ligera que se ejecuta directamente en un sistema operativo Linux. Ambos son ideales para entornos de prueba y desarrollo, pero tienen diferentes enfoques y características.

¿Entre minikube y microk8s cuál podría ser utilizado en producción?

Tanto Minikube como MicroK8s están diseñados principalmente para su uso en entornos de desarrollo y pruebas en lugar de producción. Si bien técnicamente se podría usar cualquiera de ellos en un entorno de producción, no se recomienda debido a limitaciones de escalabilidad, seguridad y funcionalidad.

Si desea implementar Kubernetes en producción, lo mejor sería utilizar una solución de Kubernetes completamente administrada, como Google Kubernetes Engine, Amazon Elastic Kubernetes Service o Microsoft Azure Kubernetes Service. Estos servicios ofrecen una escalabilidad y disponibilidad avanzadas, seguridad mejorada, soporte y características avanzadas de administración, lo que los hace más adecuados para aplicaciones críticas en producción.

¿Cómo se puede hacer un deploy de minikube en Azure?

Para hacer un deploy de Minikube en Azure, puedes seguir los siguientes pasos:

  1. Crea una cuenta en Azure y asegúrate de tener acceso a la consola de administración de Azure.
  2. Instala el Azure CLI en tu computadora si aún no lo has hecho. Puedes descargarlo e instalarlo desde el sitio web oficial de Azure.
  3. Abre una terminal y asegúrate de estar conectado a tu cuenta de Azure a través del CLI usando el comando az login.
  4. Crea un grupo de recursos de Azure donde se desplegará Minikube. Puedes hacerlo usando el comando az group create --name <nombre-del-grupo> --location <ubicación>.
  5. Crea una máquina virtual de Azure que ejecutará Minikube. Puedes hacerlo usando el comando az vm create --resource-group <nombre-del-grupo> --name <nombre-de-la-máquina-virtual> --image UbuntuLTS --admin-username <nombre-de-usuario> --generate-ssh-keys.
  6. Conéctate a la máquina virtual usando el comando ssh <nombre-de-usuario>@<dirección-ip>.
  7. Instala Minikube en la máquina virtual siguiendo las instrucciones de la documentación oficial.
  8. Inicia Minikube usando el comando minikube start.

Una vez que hayas completado estos pasos, deberías tener Minikube ejecutándose en una máquina virtual de Azure. Puedes usar la consola de administración de Kubernetes para crear y gestionar tus aplicaciones.

¿Cómo sería el deploy de un microk8s en Azure?

Para desplegar un clúster de MicroK8s en Azure, se puede utilizar el servicio de Kubernetes (AKS) de Azure. Sin embargo, hay algunas diferencias importantes a tener en cuenta en comparación con el despliegue de Minikube.

Para desplegar un clúster de MicroK8s en AKS, se pueden seguir los siguientes pasos:

  1. Crear un clúster de AKS: Primero, se debe crear un clúster de AKS en Azure. Esto se puede hacer a través de la interfaz de usuario de Azure o utilizando la línea de comandos de Azure (Azure CLI). El comando básico para crear un clúster de AKS sería:
az aks create --resource-group <nombre del grupo de recursos> --name <nombre del clúster> --node-count <número de nodos> --kubernetes-version <versión de Kubernetes> --enable-addons monitoring --generate-ssh-keys

Este comando creará un clúster de AKS con el número especificado de nodos, la versión de Kubernetes especificada y la monitorización habilitada.

  1. Configurar la línea de comandos de Kubernetes: Después de crear el clúster de AKS, se debe configurar la línea de comandos de Kubernetes (kubectl) para conectarse al clúster. Esto se puede hacer utilizando el comando az aks get-credentials de la siguiente manera:
az aks get-credentials --resource-group <nombre del grupo de recursos> --name <nombre del clúster>
  1. Instalar MicroK8s en el clúster de AKS: Ahora se puede instalar MicroK8s en el clúster de AKS utilizando la línea de comandos de Kubernetes. Primero, se debe crear un namespace para MicroK8s:
kubectl create namespace microk8s

Luego, se puede instalar MicroK8s en el clúster de AKS utilizando el siguiente comando:

kubectl apply -f https://raw.githubusercontent.com/ubuntu/microk8s/master/deploy/azure.yaml

Este comando descargará un archivo YAML que contiene las configuraciones necesarias para instalar MicroK8s en el clúster de AKS.

  1. Acceder al clúster de MicroK8s: Después de instalar MicroK8s, se puede acceder a él utilizando la línea de comandos de Kubernetes. Primero, se debe cambiar el contexto de Kubernetes al namespace de MicroK8s:
kubectl config set-context --current --namespace=microk8s

Luego, se puede verificar que MicroK8s esté funcionando correctamente utilizando el siguiente comando:

kubectl get pods

Este comando debería mostrar los pods en ejecución en el clúster de MicroK8s.

  1. Desplegar aplicaciones en MicroK8s: Finalmente, se pueden desplegar aplicaciones en el clúster de MicroK8s utilizando la línea de comandos de Kubernetes. Por ejemplo, se puede desplegar un servidor web nginx utilizando el siguiente comando:
kubectl run nginx --image=nginx

Este comando creará un pod que ejecuta el servidor web nginx en el clúster de MicroK8s.

Es importante tener en cuenta que el uso de MicroK8s en producción puede requerir configuraciones adicionales y personalizaciones según los requisitos específicos de la aplicación.

K3S otra alternativa ligera

k3s es una distribución ligera y certificada de Kubernetes que ha sido optimizada para correr en sistemas con recursos limitados. Fue desarrollada por Rancher Labs, una compañía especializada en soluciones de gestión de contenedores.

¿Cuáles son las características principales de k3s?

Entre las características más importantes de k3s, destacan:

  • Ligero: el binario de k3s tiene menos de 40MB y requiere menos de 512MB de RAM para ejecutarse.
  • Fácil de instalar: k3s se puede instalar con un solo comando y en menos de 60 segundos.
  • Conformidad: k3s es una distribución certificada de Kubernetes, lo que significa que es compatible con todas las herramientas y aplicaciones de Kubernetes.
  • Seguridad: k3s incluye muchas de las características de seguridad de Kubernetes, como el cifrado de extremo a extremo y la autenticación y autorización basadas en roles (RBAC).

¿Para qué se utiliza k3s?

k3s se utiliza principalmente en entornos donde los recursos son limitados, como dispositivos de IoT, sistemas embebidos, sistemas de borde y entornos de desarrollo. También es muy útil para crear entornos de Kubernetes en local para pruebas y desarrollo.

curl -sfL https://get.k3s.io | sh -
# Check for Ready node, takes ~30 seconds
sudo k3s kubectl get node

Admin

Becommerce.es es una colección de mis notas a título personal, use at your own risk.

0 comentarios

Deja un comentario