Práctica: Kubernetes
En IAW has creado dos imágenes de dos aplicaciones: Biblioteca (php) y polls (python django). Elige una de ellas (si seleccionas la de django lo tienes que hacer accediendo a una base de datos mariadb) y realiza el despliegue en kubernetes. Para ello vamos a hacer dos ejercicios:
Ejercicio1: Despliegue en minikube
Escribe los ficheros yaml que te posibilitan desplegar la aplicación en minikube. Recuerda que la base de datos debe tener un volumen para hacerla persistente. Debes crear ficheros para los deployments, services, ingress, volúmenes,…
Despliega la aplicación en minikube.
Entrega
- Salida de los comando que nos posibilitan ver los recursos que has creado en el cluster.
- Pantallazo accediendo a la aplicación utilizando el servicio.
- Pantallazo accediendo a la aplicación utilizando el ingress.
- Elimina el despliegue de la base datos, vuelve a crearla y comprueba que la aplicación no ha perdido los datos.
- Escala la aplicación con 3 replicas. Muestra la salida oportuna para ver los pods que se han creado.
- Modifica la aplicación, vuelve a crear una imagen con la nueva versión y actualiza el despliegue. No te olvide de anotar la modificación. Muestra la salida del historial de despliegue, la salida de
kubectl get all
y un pantallazo donde se vea la modificación que has realizado. - Entrega un zip con los ficheros yaml. Si has declarado algún ConfigMap o Secret sin definir en un fichero indica la instrucción para su creación.
Ejercicio2: Despliegue en otra distribución de kubernetes
Instala un clúster de kubernetes (más de un nodo). Tienes distintas opciones para construir un cluster de kubernetes: Alternativas para instalación simple de k8s.
Realiza el despliegue de la aplicación en el nuevo clúster. Es posible que no tenga instalado un ingress controller, por lo que no va a funcionar el ingress (puedes buscar como hacer la instalación: por ejemplo el nginx controller).
Escala la aplicación y ejecuta kubectl get pods -o wide
para ver cómo se ejecutan en los distintos nodos del clúster.
Entrega
- Escribe un pequeño tutorial explicando la configuración que has realizado para instalar un clúster multinodo de k8s.
- Muestra la salida del comando
kubectl get pods -o wide
después de hacer el escalado. - Enseña al profesor la aplicación funcionando en el nuevo clúster.