Skip to content

juan-velasco/poc-service-account

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Kubernetes deployer

Este desarrollo permite, mediante la combinación de una imagen de Kaniko y el uso de un ServiceAccount, la generación de imagenes docker "al vuelo" dentro de Kubernetes y su puesta en producción.

El ejemplo está desarrollado en Python, siendo posible usar cualquier otro cliente de Kubernetes para obtener el mismo resultado en otras tecnologías:

También es posible generar los .yaml e invocar al CLI desde cualquier lenguaje de programación:

Diagrama

Explicación

  1. Mediante un API REST, CLI, etc. podemos atender peticiones de usuarios que solicitan un despliegue, que puede ser parametrizable, por ejemplo mediante la recepción de un JSON.
  2. El API generará un Job en Kubernetes, que tendrá un ServiceAccount asociado con los permisos necesarios para poder crear recursos dentro del cluster. Este Job hará las tareas necesarias y luego se destruye.
  3. Obtiene los datos para generar la imagen: Dockerfile, código, datos, etc. El origen de los datos puede ser un repositorio Git, un volumen, una unidad NFS, S3/Minio, etc.
  4. El Job Realiza el "build" de la imagen a partir del Dockerfile.
  5. A continuación, subirá la imagen a un container registry, que puede ser externo o estar en el mismo clúster de Kubernetes.
  6. El job realizará el despliegue de la imagen dentro de su mismo clúster, obteniendo ésta desde el container registry.
  7. La puesta en producción, al menos en este ejemplo es mediante un deployment. También se hace uso de un ingress para exponer la imagen mediante el protocolo HTTP(s).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors