helm-installer 插件
helm-installer
插件实现了比 helm
更加简单和容易上手的方式来快速部署提供了 Helm Chart 的应用。
1、快速开始
只需要一个最小化配置,你就可以快速使用默认配置部署一个 Helm Chart。你可以将如下配置内容保存到本地 config.yaml 文件中:
YAML
config:
state:
backend: local
options:
stateFile: devstream.state
tools:
- name: helm-installer
instanceID: argocd-001
在这个配置文件里,和插件相关的配置 name 和 instanceID,前者表示你将使用 helm-installer
插件,后者表示插件实例名。 请注意这个 instanceID 使用了 “argocd” 前缀,DevStream 会识别这个前缀,尝试寻找 Argo CD 应用对应的 Chart,并设置一系列默认值,然后开始部署。
你可以在 Install Argo CD with DevStream 中查看 DevStream 为你设置了哪些默认值。
接着执行如下命令开始部署:
Bash
./dtm init -f config.yaml
./dtm apply -f config.yaml -y
2、插件介绍
helm-installer
插件的完整配置格式如下:
YAML
tools:
- name: helm-installer
instanceID: argocd-001
dependsOn: [ ]
options:
repo:
name: ""
url: ""
chart:
chartPath: ""
chartName: ""
version: ""
namespace: ""
releaseName: ""
wait: true
timeout: 10m
upgradeCRDs: true
valuesYaml: ""
这里有一些细节需要注意,下述几个小节将详细为你介绍。
2.1、instanceID 使用技巧
instanceID 的前缀如果能够匹配到某个已经被支持的工具(详见文末列表),那么 DevStream 会为你设置一系列的默认值。 比如 “argocd-001” 的前缀 “argocd-“ 能够匹配到 “argocd”,因此 Argo CD 的默认 Chart 配置会被应用,于是如下最小化配置:
YAML
tools:
- name: helm-installer
instanceID: argocd-001
将会被 DevStream 直接补全成:
YAML
- name: helm-installer
instanceID: argocd-001
dependsOn: [ ]
options:
repo:
name: "argo"
url: "https://argoproj.github.io/argo-helm"
chart:
chartPath: ""
chartName: "argo/argo-cd"
version: ""
namespace: "argocd"
releaseName: "argocd"
wait: true
timeout: 10m
upgradeCRDs: true
valuesYaml: ""
2.2、自定义 Chart 配置
如果你想使用自定义 Chart 的 values.yaml 配置,只需要将 values.yaml 的文件路径或者内容直接加到 helm-installer 插件配置 options 部分的 chart.valuesYaml 里。 两种配置方式分别如下:
- 使用本地 values.yaml 文件
YAML
- name: helm-installer
instanceID: argocd-001
dependsOn: [ ]
options:
valuesYaml: "./values.yaml"
- 直接使用 values.yaml 文件内容
YAML
- name: helm-installer
instanceID: argocd-001
dependsOn: [ ]
options:
valuesYaml: |
foo: bar
3、当前支持的工具列表
当前 DevStream 支持使用”极简配置”部署如下应用(也就是能够根据 instanceID 配置识别到 Chart 地址等信息,并设置一系列默认值,直接开始部署流程):
- Install Argo CD with DevStream
- Install Artifactory with DevStream
- Install DevLake with DevStream
- Install Harbor with DevStream
- Install Jenkins with DevStream
- Install Kube Prometheus with DevStream
- Install OpenLDAP with DevStream
- Install SonarQube with DevStream
- Install Tekton with DevStream
- Install Vault with DevStream