按特定顺序部署Helmchart

问题描述 投票:0回答:1

我想按特定顺序部署 Helm Chart,

我有舵文件,其中添加了多个舵图表,我希望它们按照我定义的基于序列的顺序进行部署。

下面是我的 helmFile,其中有两个 helm 图表

repositories:
  - name: my-repo
    url: https://myrepo.example.com/charts
  - name: stable
    url: https://kubernetes-charts.storage.googleapis.com
 
 
releases:
  - name: my-release
    chart: stable/mychart
    version: 1.2.3
    values:
      image:
        repository: myrepo/myimage
        tag: "1.0.0"
      db:
        usernameSecret:
          name: db-credentials
          key: username
        passwordSecret:
          name: db-credentials
          key: password
      apiKeySecret:
        name: api-key
        key: key
 
  - name: my-mariadb
    chart: bitnami/mariadb
    version: 9.3.14
    values:
      replicaCount: 1
      auth:
        rootPassword: mypassword
 
secrets:
  - name: db-credentials
    type: Opaque
    data:
      username: YWRtaW4=
      password: MWYyZDFlMmU2N2Rm
  - name: api-key
    type: Opaque
    data:
      key: Zm9vYmFy
 
 
environments:
  dev:
    values:
    - values-dev.yaml
  staging:
    values:
    - values-staging.yaml
  prod:
    values:
    - values-prod.yaml

如果我有多个图表如何控制安装顺序

docker kubernetes kubernetes-helm helm3 helmfile
1个回答
0
投票

您可以使用

needs
关键字来完成此操作。如果在您的示例中,您希望先安装“my-mariadb”,然后安装“my-release”,则它看起来像这样:

releases:
  - name: my-release
    chart: stable/mychart
    version: 1.2.3
    needs: 
    - my-mariadb
    values:
      image:
        repository: myrepo/myimage
        tag: "1.0.0"
      db:
        usernameSecret:
          name: db-credentials
          key: username
        passwordSecret:
          name: db-credentials
          key: password
      apiKeySecret:
        name: api-key
        key: key
 
  - name: my-mariadb
    chart: bitnami/mariadb
    version: 9.3.14
    values:
      replicaCount: 1
      auth:
        rootPassword: mypassword

此功能的文档在这里:

https://helmfile.readthedocs.io/en/latest/#dag-aware-installationdeletion-ordering-with-needs

© www.soinside.com 2019 - 2024. All rights reserved.