I am deploying multiple helm sub-charts in Kubernetes Cluster through Helm and tiller. How can I make sure that a particular chart completely installs its containers before starting to install other charts and their containers?
I looked into requirements.yaml and hooks, none of them look like can be the solution I am looking for.
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/
I have multiple sub-charts, and want to make sure containers of App1 are up and ready before helm installs other charts and its containers.
You should look into helmfile and split your stack into one helmfile per application. Since helmfiles inside a folders are applied in an alphabetically order you can ensure the order through file naming conventions.
File structure:
helmfile.d/
  00-app-1.yaml
  01-app-2.yaml
  02-app-n.yaml
Execute it with this command: helmfile -f path/to/directory
i don't think there is anything from helm chart side but probably you can solve this using the init containers.
if in your charts there is database and used by the application and getting crashed you can use the init container to check to complete lifecycle of pod.
For more you can refer this : https://github.com/helm/helm/issues/1713
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With