La mejor estrategia de CD para implementaciones de Kubernetes

Nuestra fase actual de implementación de CI funciona así:

Construye los contenedores.Etiquetar las imágenes como"latest" y< commit hash >.Empuje las imágenes al repositorio.Invoque una actualización continua en los RC apropiados.

Esto ha estado funcionando muy bien para implementaciones basadas en RC, pero ahora que elDeployment El objeto se está volviendo más estable y una característica subyacente, queremos aprovechar esta abstracción sobre nuestros esquemas de implementación y fases de desarrollo actuales.

Lo que tengo problemas es encontrar una forma sensata de automatizar la actualización de unDeployment con el flujo de trabajo de CI. Lo que he estado experimentando es dividir los repositorios de git y hacer algo como:

[App Build] Construye los contenedores.[Creación de la aplicación] Etiquete las imágenes como"latest" y< commit hash >.[Creación de la aplicación] Empuje las imágenes al repositorio.[Compilación de la aplicación] Invocar la compilación de la aplicaciónDeployment repo, pasando por el hash de confirmación actual.[Compilación de implementación] Interpolar tokens de archivo de manifiesto (actualmente solo el hash de confirmación aprobado, p. Ej.image: app-%%COMMIT_HASH%%)[Implementación Build] Aplicar el manifiesto actualizado al apropiadoDeployment recurso (s).

Seguramente, aunque hay una mejor manera de manejar esto. Sería genial si elDeployment monitoreado en busca de cambios hash de la etiqueta "más reciente" de la imagen ... ¿tal vez ya lo hace? No he tenido éxito con esto. Cualquier idea o idea sobre cómo manejar mejor la implementación deDeployment sería apreciado :)

Respuestas a la pregunta(2)

Su respuesta a la pregunta