Asignatura Datos del alumno Fecha
Apellidos:
Devops & Cloud
Nombre:
Caso Práctico 2: Automatización de despliegues en
entornos Cloud
Objetivos de la actividad
Esta actividad tiene los siguientes objetivos:
Crear infraestructura de forma automatizada en un proveedor de Cloud pública.
Utilizar herramientas de gestión de la configuración para automatizar la
instalación y configuración de servicios.
Desplegar mediante un enfoque totalmente automatizado aplicaciones en forma
de contenedor sobre el sistema operativo.
Desplegar mediante un enfoque totalmente automatizado aplicaciones que
hagan uso de almacenamiento persistente sobre una plataforma de orquestación
de contenedores.
Descripción de la actividad
El caso práctico 2 consiste en desplegar los siguientes elementos:
Un (1) repositorio de imágenes de contenedores sobre infraestructura de
Microsoft
© Universidad Internacional de La RiojaAzure
(UNIR)mediante el servicio Azure Container Registry (ACR).
Una (1) aplicación en forma de contenedor utilizando Podman sobre una
máquina virtual en Azure.
Un (1) cluster de Kubernetes como servicio gestionado en Microsoft Azure (AKS).
1
Actividades
Asignatura Datos del alumno Fecha
Apellidos:
Devops & Cloud
Nombre:
Una (1) aplicación con almacenamiento persistente sobre el cluster AKS.
Consideraciones
Consideraciones generales:
El código desarrollado por el alumno deberá estar disponible en un repositorio
git público sin modificaciones posteriores a la fecha de entrega del caso práctico.
Si el repositorio no es accesible públicamente no se podrá proceder con la
evaluación del caso práctico.
El código tendrá una estructura específica que será comentada en clase.
Todo el código desarrollado por el alumno deberá ser original. Cualquier indicio
de copia de otros compañeros o de otras fuentes podrá ser motivo de suspenso.
El código deberá estar comentado (en inglés o español) de forma clara y
detallada.
Toda la infraestructura debe crearse en Azure mediante Terraform como
herramienta de infraestructura como código. No se admite la creación de ningún
recurso en Azure de forma manual.
Toda
© Universidad Internacional laRioja
de La configuración
(UNIR) de los distintos elementos (Sistema operativo, Kubernetes,
etc.,) y el despliegue de las aplicaciones debe hacerse bajo un enfoque
automatizado mediante Ansible como herramienta de gestión de la
configuración. No se admiten pasos manuales de configuración.
2
Actividades
Asignatura Datos del alumno Fecha
Apellidos:
Devops & Cloud
Nombre:
Siempre que sea posible se deberá evitar la utilización de los siguientes módulos
de Ansible:
• Command.
• Shell.
• Script.
Las aplicaciones que desplegar en Podman y en Kubernetes deben ser distintas.
Consideraciones específicas del registry desplegado mediante ACR:
El servicio debe ser accesible desde Internet.
El acceso debe ser mediante autenticación.
En este repositorio se deben ubicar las imágenes de las dos aplicaciones a
desplegar en este caso práctico.
Cada imagen de contenedor a utilizar debe encontrarse bajo una carpeta distinta
del repositorio.
La versión de las imágenes debe ser casopractico2.
Consideraciones específicas de la aplicación sobre la máquina virtual:
Debe desplegarse en forma de contenedor de Podman sobre una máquina
virtual desplegada en Azure.
El sistema operativo a utilizar debe ser Linux, siendo la distribución (Debian,
CentOS, Alma Linux, etc) de libre elección.
La aplicación se podrá gestionar como un servicio más del sistema operativo,
© Universidad Internacional de La Rioja (UNIR)
persistente a reinicios y con la opción de detener o iniciar el servicio por un
administrador.
La imagen de la aplicación se descargará desde el registry desplegado mediante
ACR.
3
Actividades
Asignatura Datos del alumno Fecha
Apellidos:
Devops & Cloud
Nombre:
La aplicación será un servidor web de libre elección: Apache, Nginx, etc.
El servicio Web debe apoyarse en un certificado x.509 autofirmado.
El servicio Web debe utilizar al menos autenticación básica (htpasswd).
El contenido mostrado por el servicio Web será de libre elección.
La aplicación deberá ser accesible desde Internet.
La imagen de la aplicación tendrá todos los datos necesarios para el servicio web:
contenido a mostrar, certificado x.509 y credenciales de usuarios.
Consideraciones específicas del cluster de Kubernetes:
El cluster deberá desplegarse como un servicio gestionado en Azure, es decir,
mediante AKS.
Sólo es necesario desplegar un único worker.
El cluster de Kubernetes tendrá conectividad hacia el registry privado de ACR.
Deberán configurarse las credenciales de acceso al registry para que las
aplicaciones puedan autenticarse.
Consideraciones específicas de la aplicación sobre Kubernetes:
La aplicación se descargará una o más imágenes necesarias desde el registry
privado. La imagen no puede ser la misma utilizada para la aplicación desplegada
sobre Podman.
El tipo de aplicación a desplegar es de libre elección. Puede ser Apache, Nginx,
Jenkins, MongoDB, etc,
La aplicación debe utilizar almacenamiento persistente a partir de alguna de las
© Universidad Internacional de La Rioja (UNIR)
storage classes definidas en AKS.
La aplicación debe ser accesible desde Internet.
4
Actividades
Asignatura Datos del alumno Fecha
Apellidos:
Devops & Cloud
Nombre:
Entregables
Un informe en formato PDF incluyendo los siguientes aspectos:
• La URL del repositorio git donde está disponible el código con la resolución de
este caso práctico.
• Diagramas mostrando los elementos desplegados y su rol. Estos diagramas
deberán ser realizados por el alumno.
• Descripción del proceso de despliegue, sus requisitos y los recursos
resultantes en Azure.
• Descripción de la aplicación desplegada.
• Deberás describir los problemas que has encontrado, si los hubiera, cómo se
han solucionado y referencias que se hayan utilizado para resolverlas (en
formato APA). Si algún problema no se ha podido solucionar, se deberá
analizar y proponer soluciones o siguientes pasos.
• Se deberá indicar la licencia utilizada e indicar las restricciones y el uso que
permite la licencia.
Extensión máxima de la actividad: no hay extensión máxima. Fuente Calibri 12 e
interlineado 1,5.
© Universidad Internacional de La Rioja (UNIR)
5
Actividades
Asignatura Datos del alumno Fecha
Apellidos:
Devops & Cloud
Nombre:
Rúbrica
Automatización
Puntuación
de despliegues Peso
Descripción máxima
en entornos %
(puntos)
Cloud
Criterio 1 Despliegue del registry y subida de las imágenes. 1 10%
Criterio 2 Despliegue de la aplicación en Podman 2 20%
Despliegue y configuración del cluster de
Criterio 3 2 20%
Kubernetes.
Criterio 4 Despliegue de la aplicación sobre Kubernetes 2 20%
Criterio 5 Informe. 3 30
10 100 %
© Universidad Internacional de La Rioja (UNIR)
6
Actividades