Helm install in certain order

后端 未结 1 554
予麋鹿
予麋鹿 2020-12-01 04:24

I am trying to create a Helm Chart with the following resources:

  1. Secret
  2. ConfigMap
  3. Service
  4. Job
  5. Deployment

The

相关标签:
1条回答
  • 2020-12-01 05:08

    Helm collects all of the resources in a given Chart and it's dependencies, groups them by resource type, and then installs them in the following order (see here - Helm 2.10):

    1. Namespace
    2. ResourceQuota
    3. LimitRange
    4. PodSecurityPolicy
    5. Secret
    6. ConfigMap
    7. StorageClass
    8. PersistentVolume
    9. PersistentVolumeClaim
    10. ServiceAccount
    11. CustomResourceDefinition
    12. ClusterRole
    13. ClusterRoleBinding
    14. Role
    15. RoleBinding
    16. Service
    17. DaemonSet
    18. Pod
    19. ReplicationController
    20. ReplicaSet
    21. Deployment
    22. StatefulSet
    23. Job
    24. CronJob
    25. Ingress
    26. APIService

    During uninstallation of a release, the order is reversed (see here).

    Following this logic, in your case when your Job resource is created, both the Secret and the ConfigMap will already be applied, but Helm won't wait for the Job to complete before applying the Deployment. If you split your Chart to two parts (1-4, 5) and install them sequentially you would still have the problem of the Deployment being possibly applied before the Job is completed. What I would suggest is splitting your Chart to two parts (1-3, 4-5), in which the the Job has a pre-install hook, which would make sure it completes before your Deployment is applied.

    0 讨论(0)
提交回复
热议问题