¿Cómo automatizo las implementaciones con Kubernetes?

12

Suponiendo que tengo Kubernetes implementado a través de Rancher y Jenkins está creando nuevas imágenes y empujándolas a DockerHub al registrar el nuevo código en GitHub, ¿cómo automatizo la implementación de nuevas imágenes?

Otra forma de hacer la pregunta podría ser: “Solía ​​usar Octopus para administrar mis implementaciones. ¿Hay algo similar incorporado a Kubernetes o Rancher? En última instancia, es esta última brecha con la que estoy luchando.

Greg
fuente

Respuestas:

4

A partir de que esté utilizando Rancher, la forma más fácil sería registrar el Catálogo Rancher personalizado y crear un elemento para cada pila / servicio que desee implementar.

Agregar catálogo personalizado

Rancher Catalog es un repositorio Git con la siguiente estructura

Estructura del repositorio de git

Luego, en Jenkins, puede crear un trabajo que llame a la API REST de Rancher para implementar / actualizar la pila / servicio.

ingrese la descripción de la imagen aquí

A su vez, Rancher extraería la última versión de la imagen de Docker para este servicio y la desplegaría correspondiente al archivo Docker Compose del catálogo.

ingrese la descripción de la imagen aquí

Pros:

  • enfoque genérico que podría usarse para casi todas las aplicaciones
  • El propio Jenkins podría implementarse en el entorno Rancher, los agentes podrían crearse en el clúster de Kubernetes

Contras:

  • el equipo de desarrollo debe seguir una estrategia de lanzamiento sólida para poder usar compilaciones genéricas
  • los controladores de almacenamiento todavía están bajo la pregunta en la versión alfa de Rancher 2.0
Maksim
fuente
-2

Terraform con el proveedor de Kubernetes.

Yuriy Medvedev
fuente
1
Hola. ¿Es posible ampliar un poco la respuesta con detalles sobre cómo hacer lo mismo o con enlaces útiles?
Dawny33