Estoy implementando varios subgráficos de timón en Kubernetes Cluster a través de Helm y Tiller. ¿Cómo puedo asegurarme de que un gráfico en particular instale completamente sus contenedores antes de comenzar a instalar otros gráficos y sus contenedores?
Busqué en requirements.yaml y hooks, ninguno de ellos parece ser la solución que estoy buscando.
ParentDir/ Chart.yaml requirements.yaml values.yaml charts/ | | —- App1 Chart.yaml values.yaml templates/ —- App2 Chart.yaml values.yaml templates/ . . . —- AppN Chart.yaml values.yaml templates/Tengo varios subgráficos y quiero asegurarme de que los contenedores de App1 estén activos y listos antes de que helm instale otros gráficos y sus contenedores.
Debe buscar en helmfile y dividir su pila en un helmfile por aplicación. Dado que los helmfiles dentro de una carpeta se aplican en orden alfabético, puede garantizar el orden a través de las convenciones de nomenclatura de archivos.
Estructura del archivo:
helmfile.d/ 00-app-1.yaml 01-app-2.yaml 02-app-n.yaml Ejecútelo con este comando: helmfile -f path/to/directory
No creo que haya nada del lado del gráfico de timón, pero probablemente puedas resolver esto usando los contenedores de inicio.
si en sus gráficos hay una base de datos y la utiliza la aplicación y se bloquea, puede usar el contenedor init para verificar el ciclo de vida completo del pod.
Para obtener más información, puede consultar esto: https://github.com/helm/helm/issues/1713
Me encontré con el mismo problema últimamente. Tenía un RabbitMQ, como paquete Helm, y dos paquetes Helm adicionales que construí localmente.
Quería juntar los tres en un solo paquete de Helm, pero no encontré forma de ordenar la instalación de los gráficos de Helm, ya que por ejemplo los otros dos paquetes necesitan las credenciales de RabbitMQ.
Descubrí que el uso de ganchos aporta más complejidad de la necesaria a la solución y preferí simplemente instalarlos por separado, en el orden que quiero, mientras puedo hacer cualquier cambio manual entre los pasos.
Aquí hay un artículo que trata sobre este tema y puede ser de su interés.
Ahora puede haber una manera de ordenar correctamente las dependencias si está dispuesto a probar Helmsman . No puedo emitir ningún juicio al respecto, ya que me acabo de enterar, pero desde su LÉAME en Características:
Defina el orden de gestión de los lanzamientos: puede definir las prioridades en las que el timonel gestiona los lanzamientos (útil para las dependencias).
Aquí está la documentación pertinente.