我想按特定顺序部署 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
如果我有多个图表如何控制安装顺序
您可以使用
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