Los contenedores son extremadamente útiles en situaciones en las que se desea ejecutar una aplicación o un software específico sin la sobrecarga de recursos adicional que supone una máquina virtual. Kubernetes es una excelente plataforma para implementar y administrar todos los contenedores, y vale la pena que cualquiera que esté interesado en DevOps la aprenda.
Afortunadamente, no es necesario configurar sistemas operativos complejos ni reunir un montón de nodos. Si tienes unaPC de repuesto, puedes convertirla en un servidor Kubernetes con la ayuda de MicroK8s.
Lo que necesitarás
A menos que planee implementar cientos de contenedores, debería estar bien con cualquier PC de la última década, suponiendo que pueda ejecutar Linux, por supuesto. Hablando de eso, necesitará un sistema operativo preinstalado antes de continuar con el resto del artículo.
Lo ideal sería que utilizaras Talos Linux si planeas adentrarte en el ecosistema de Kubernetes. Pero como esta guía está orientada al usuario promedio que solo quiere ejecutar K8s en su sistema obsoleto, optaremos porUbuntu. Admito que es bastante ineficiente ejecutar Kubernetes en el niño prodigio favorito de todos en el mundo de Linux, pero su facilidad de acceso, combinada con la compatibilidad con SSH, hace que el proceso sea mucho más fácil para los principiantes.
Para aquellos que se preocupen por el menor rendimiento de la interfaz gráfica de usuario de Ubuntu, pueden replicar todo el proyecto en Ubuntu Server, ya que todo el procedimiento contará con comandos de terminal. Por último, utilizaremos el paquete MicroK8s para reducir aún más la complejidad del proyecto.
Cómo instalar Ubuntu
¿Quieres instalar Ubuntu en lugar de Windows u otro sistema operativo? Te guiamos a través de todo el proceso
Instalación de MicroK8s
Una vez que haya instalado Ubuntu, es hora de comenzar con el procedimiento de instalación.
- Inicie la aplicación de terminal presionandoCtrl+Alt+T.
- Instale el paquetesnapdejecutando el siguiente comando:
sudo apt install snapd -y
- Ejecute este comando en la terminal para instalar el paquete MicroK8s.
sudo snap install microk8s --classic
- Con la ayuda del comandousermod, otorgue acceso de administrador al usuario actual.
sudo usermod -a -G microk8s $USUARIO
- Cree un nuevo directorio llamadokubey usechmodpara otorgar acceso completo al usuario.
mkdir -p ~/.kube
chmod 0700 ~/.cubo
- Actualice la sesión con los privilegios actualizados utilizando el comandosu.
su - $USER
Asegúrese de ingresar la contraseña de root cuando lo solicite la terminal. - Por último, inicialice el servicioMicroK8s .
El comienzo de Microk8
Cómo acceder al panel web de MicroK8s
MicroK8s tiene una interfaz en línea sólida que facilita la gestión de los contenedores, pero deberá habilitarla en la terminal.
- Inicie una instancia delTablerode MicroK8s ejecutando este comando:
microk8s habilita el panel de control
- Utilice el argumentoproxypara que el Tablero sea accesible desde un navegador web.
Proxy del panel de control de microk8s
- Haga clic en la URL127.0.0.1:10443y elijaAceptar y aceptar los riesgosen la pestañaAvanzadocuando su navegador le advierta que no abra el Panel de Control.
- Utilice el token generado dentro de la terminal para iniciar sesión en el Dashboard.
Una vez dentro del panel, puedes hacer un seguimiento de todos tus pods, su consumo de recursos y otros detalles. Si aún no estás dispuesto a incursionar en los comandos de terminal, el panel es un excelente medio para familiarizarte con el funcionamiento de Kubernetes.
Creando un contenedor en MicroK8s
Uso del panel web
Por supuesto, este tutorial estaría incompleto si no implementáramos un contenedor. Hay varios métodos que puedes usar para lograrlo, pero destacaré dos de mis métodos preferidos. El primero involucra el Dashboard al que accedimos anteriormente.
- En la página de iniciodel Panel de control, haga clic en el ícono+ .
- Haga clic enCargardespués de ingresar el código para el archivo de configuración YAML que contiene los detalles sobre laimagen,la plantilla,los metadatosy otros parámetros en la pestañaCrear desde entradapara inicializar su primer contenedor.
- Alternativamente, puede cambiar a la pestañaCrear desde archivoy seleccionar el archivoYAML/JSONalmacenado en su sistema.Asegúrese de presionar el botónCargardespués.
- Para una opción aún más sencilla, puede navegar a la pestañaCrear desde formularioeImplementarel contenedor después de especificar sus detalles.
Uso de imágenes Docker
Dado que Docker proporciona un acceso fácil a una gran cantidad de imágenes de contenedores útiles, recomiendo probarlo si quieres imágenes creadas previamente.
- Instale el paqueteDockerejecutando el siguiente comando.
sudo apt-get install docker.io -y
- Al igual que antes, ejecuteusermodpara proporcionar privilegios de administrador al usuario principal antes de reiniciar la sesión con la ayuda del comandosu.
sudo usermod -aG docker ${USUARIO}
su - ${USER}
- Utilice el comandodocker pullpara obtener su imagen favorita.
docker pull nombre_imagen
He utilizadohttpdde Apache para este tutorial, pero también puedes utilizar otras imágenes de servidor web ligeras. - Habilite elregistro de MicroK8sy asígnele suficiente almacenamiento utilizando el argumentode tamaño :
microk8s habilitar registro: tamaño=100Gi
- A continuación, etiquete la imagen de Docker que desea utilizar para un contenedor MicroK8s antes de enviarla al registro de MicroK8s que opera en elhost localcon el número de puerto32000.
etiqueta docker nombre_imagen localhost:32000/nombre_imagen
docker push localhost:32000/nombre_de_imagen
- (Opcional) Si Docker muestra errores al agregar la imagen al registro de MicroK8s, deberá modificar el archivodaemon.json. Primero, ábralo con eleditor nano.
sudo nano /etc/docker/daemon.json
Luego, ingrese los siguientes argumentos antes de presionarCtrl+Xy pulsarYpara guardar y salir del archivo. Asegúrese de utilizar la sangría correcta para el código.{"registros inseguros": ["localhost:32000"]}
Asegúrese de reiniciar Docker para aplicar los cambios mediante el comandosystemctl:sudo systemctl reiniciar docker
- Implemente el contenedor MicroK8s ejecutando el siguiente comando:
microk8s kubectl crea implementación nombre_contenedor --image=nombre_imagen
- Puede utilizar el comandoget podspara verificar si el contenedor se creó correctamente.
Pods de obtención de microk8s kubectl
Suponiendo que ya haya configurado el Panel de Control anteriormente, el contenedor aparecerá en la interfaz de usuario web junto con sus pods y réplicas.
Uso de una PC adicional para obtener experiencia práctica e informativa con Kubernetes
Con esto, ya debería saber todo lo necesario para adentrarse en el maravilloso (y complicado) mundo de Kubernetes. Una vez que haya adquirido un conocimiento sólido de MicroK8s, podrá instalar Talos Linux y configurar varios nodos para una instalación completa de Kubernetes.
Si buscas un método sencillo para crear contenedores y máquinas virtuales sin tener que recurrir a la brujería de K8s, te recomiendo que pruebesProxmox. Es una plataforma excelente que combina una interfaz de usuario fácil de usar con funciones sólidas y que vale la pena probar incluso si eres completamente nuevo en el campo de la virtualización.
Intenté ejecutar macOS en Proxmox: así fue como funcionó
Gracias a Proxmox, puedes convertir cualquier PC antiguo en un Hackintosh