Get it on Google Play

Móntate tu propio cluster Kubernetes con k3s

14-10-2019
k3s logo

k3s

En el vídeo de hoy hemos aprendido a instalar un cluster kubernetes con k3s. K3s es una distribución de kubernetes ligera(poco mas de 40 mb.) y muy ágil de instalar.

No os olvidéis de ver el vídeo y compartidlo con todo el mundo 😀 . Aquí os dejo los pasos que hemos seguido en el vídeo:

Instalar k3s en todos los servidores

Esto es tan sencillo como descargarse la última release del proyecto y darle permisos de ejecución:

# Descargamos
wget https://github.com/rancher/k3s/releases/download/v0.9.1/k3s

# Le damos permisos de ejecución
chmod 777 k3s

Instalar el nodo master

Instalar el nodo master es tan fácil como ejecutar ‘k3s server’, aunque en mi caso le he añadido cual IP de nodo debe usar porque mi servidor tenia dos tarjetas de red y no quería que usase la pública:

./k3s server --node-ip=<IP_MASTER> &

Un tema importante es encontrar el token que nos dará acceso al cluster. En el caso de k3s lo encontramos en un fichero:

# Para ver el token de red
cat /var/lib/rancher/k3s/server/node-token

Instalar el nodo worker

Instalar el nodo worker es tan fácil como instalar el servidor. Ejecutamos la instrucción ‘k3s agent’, para arrancar como agente y le pasamos dos parámetros: el parámetros ‘server’ le indica donde esta el API del servidor donde se debe conectar(En el caso de k3s es en el puerto 6443) y el segundo parámetro es ‘token’ donde debemos indicar el token del server(El que hemos encontrado en el fichero de arriba):

k3s agent --server https://<IP_MASTER>:6443 –token <TOKEN>

Ya esta todo listo para trastear

Ya tenemos el cluster preparado para trabajar, ahora ya nos hemos conectado al nodo ‘Master’ y hemos trasteado con lo siguiente:

# Hemos creado un pod con Nginx
 ./k3s kubectl create deployment nginx –image=nginx

# Hemos escalado el pod
./k3s kubectl scale --replicas=4 deployment/nginx2

# Hemos consultado el número de pods
./k3s kubectl get pods

# Hemos visto la configuración de algunos pods para saber en que nodo se estaban ejecutando
./k3s kubectl describe pod <pod>

# Hemos expuesto el despliegue 
./k3s kubectl expose deployment nginx2 --port=80 --type=NodePort

# Hemos consultado los servicios expuestos para ver el puerto donde se había expuesto nuestro Nginx
./k3s kubectl get services

Y esto es todo amigos, nos vemos a la próxima…

Si te ha servido, por favor comparte

Interesado en formación Docker?

 

Leave a Reply