Instalar Kubernetes sobre Ubuntu Server con microk8s
Como un gran ayuda memoria y practica personal, les traigo este tutorial que se basará en Instalar Kubernetes sobre Ubuntu Server con microk8s para lo cual tengo montada una maquina virtual sobre virtualbox de 4gb de ram y 40 gb de disco. Obviamente esta configuración es para practicar y desarrollar o mantenerte al día con las novedades de Kubernetes y no para ponerlo en producción aunque la verdad anda re bien!
Como les decia, vamos a usar Ubuntu Server 20.04 (valido para 22.04) sobre una maquina virtual. Minimamente sabemos que tenemos que ingresar por ssh y vamos a instalar microk8s asi que vamos con algunas definiciones:
Kubernetes: Sistema de orquestación de contenedores que se puede utilizar para automatizar la implementación, escalado y administración de aplicaciones.
Microk8s: es una implementación de Kubernetes que permite ejecutar Kubernetes en Snap. MicroK8s es un paquete único que se ejecuta en los principales sistemas operativos basados en Linux. Viene con un registro docker para que puedas crear e implementar fácilmente contenedores en tu sistema. Microk8s es rápido, ligero y ejecuta todos los servicios de Kubernetes de forma nativa.
Una vez que ingresemos a nuestro servidor por ssh vamos a ejecutar:
sudo snap install microk8s --classic

Ahora vamos a dar algunos permisos para no tener que estar siempre sudando :=)
sudo usermod -a -G microk8s luiz
sudo chown -f -R luiz ~/.kube
newgrp microk8s
Obviamente uds en vez de luiz pongan su usuario.
Luego activamos algunos addons:
microk8s enable dns storage
Hay gente que le gusta instalar el dashboard y no esta mal, solo que no lo uso mucho….

¿Iremos bien? seeee, lo podemos probar con este comando:
microk8s kubectl get all --all-namespaces

Tambien podemos ejecutar:
microk8s.status
Tambien podemos comprobar nuestro cluster:
microk8s.kubectl cluster-info
Ahora que vimos todos los pods funcionando vamos a hacer un deploy con dos replicas para ver como funciona, y para esto vamos a usar el famoso microbot que es una web sencilla con el nombre del pod abajo.
microk8s kubectl create deployment microbot --image=dontrebootme/microbot:v1
microk8s kubectl scale deployment microbot --replicas=2


Ahora ejecutamos nuevamente el comando para ver todos los pods en ejecución:
microk8s kubectl get all --all-namespaces

Todo muy lindo pero no vi nada funcionando mas que lineas de comando, pero como hago para ver la web? Bueno en principio lo que hicimos (y me olvide de marcar una parte en la imagen anterior) es exponer a nodeport el servicio microbot con lo cual tiene una ip del tipo 10.152.183.57 y si bien usa el puerto 80 mapea al puerto 30141 asi que veamos de obtener la ip local del host con ifconfig o similar y sumamos el puerto:

Se esta haciendo larga la entrada??? naaaaa yo se que si llegaste hasta aca es por que te bancas un poco más! En el servidor ahora vamos a crear unas credenciales para poder administrar este nodo de Kubernetes sin tener que ingresar por ssh al servidor.
Para esto, en el servidor vamos a ejecutar:
cd $HOME
mkdir .kube
cd .kube
microk8s config > config
Importante: Este comando genera un archivo config que copiamos y pegamos en otro equipo para poder administrar el servidor sin ingreso a ssh. El tema es que “Cada vez que tu equipo virtual cambie de red hay que generar un config nuevamente” parece una obviedad pero no, y cuando uno hace pruebas sobre virtuales muchas veces nos cambiamos de red (de la casa a la uni por ejemplo).
En otra maquina (en mi caso uso ubuntu desktop) ejecutamos el comando:
snap install kubectl --classic
Luego vamos a:
cd $HOME
mkdir .kube
cd .kube
y aquí creamos un archivo llamado config que tenga exactamente el mismo contenido del config del servidor. Una vez que lo tenemos probamos con:

Ya estamos por hoy, para la próxima continuamos con más kubernetes a full!
Como ven no hay una sola publicidad en el blog! Con lo cual si comparten las entradas en sus redes sociales se los agradecemos! Por más #CulturaLibre
2 thoughts on “Instalar Kubernetes sobre Ubuntu Server con microk8s”
Deja un comentario Cancelar respuesta
Filed under: CulturaLibre,devops,docker,gnulinux,kubernetes - @ 10 mayo, 2022 11:18 am
Etiquetas: CulturaLibre, docker, GeneralRoca, gnulinux, kubectl, kubernetes, microk8s, Rio Negro, SoftwareLibre
buenas muy bueno el tutorial