Lesson  in  Kubernetes 101

Challenge: construye la imagen de la tienda

La imagen que dejaste en la lección anterior pesa 360 MB, lleva dentro el compilador y corre como root. Conviértela en una construcción multistage, publícala en el registro del clúster y despliégala.

En la lección anterior construiste la imagen de la api y aprendiste a ordenar sus capas para que la caché sirva de algo. Pero dejaste un problema sin tocar: esa imagen pesa más de 350 MB y lleva dentro el compilador de Go, el gestor de paquetes y tu código fuente. Nada de eso hace falta para ejecutar el binario.

Aquí lo resuelves, y de paso cierras el círculo: la imagen deja de vivir en tu máquina, se publica en el registro del clúster y acaba corriendo dentro de un Pod. Es la primera vez en el curso que despliegas algo tuyo.

El challenge pide tres cosas de la imagen final: menos de 30 MB, sin shell dentro y con un usuario que no sea root. Las tres se comprueban solas, y las tres tienen consecuencias mucho más adelante —el capítulo de Seguridad da por hecho que la imagen no corre como root, y el de depuración da por hecho que dentro no hay un curl que usar—.

No hay pasos guiados: tienes el Dockerfile de partida, las pistas plegadas por si te atascas, y la verificación automática.

Criterio de superación: la imagen registry.iximiuz.com/tienda/api:2.1.0 está publicada en el registro, pesa menos de 30 MB, no tiene shell, declara un usuario no-root, y hay un Pod api corriéndola que responde en el puerto 8080.

Previous lesson
Imágenes y capas