如何使用相同的 value.yaml 文件创建一个 helm chart 来部署多个应用程序

How to create a helm chart to deploy multiple applications using the same value.yaml file

我正在尝试部署 使用相同 values.yaml 文件

的 HTTPD 实例和沙发数据库实例

是否有默认文档可以帮助我了解如何使用相同的 values.yaml 文件部署两个实例和服务?

有人有创建了多个部署和服务的示例 helm 目录吗?

您需要将这两个服务放在一个 helm chart 中。所以他们将只使用一个相同的values.yaml

作为示例,我建议您查看 stable/prometheus helm chart。现在它有五个独立的服务:

$ tree 
.
├── Chart.yaml
├── README.md
├── templates
│   ├── alertmanager-clusterrolebinding.yaml
│   ├── alertmanager-configmap.yaml
│   ├── alertmanager-deployment.yaml
│   ├── alertmanager-ingress.yaml
│   ├── alertmanager-networkpolicy.yaml
│   ├── alertmanager-pvc.yaml
│   ├── alertmanager-serviceaccount.yaml
│   ├── alertmanager-service.yaml
│   ├── _helpers.tpl
│   ├── kube-state-metrics-clusterrolebinding.yaml
│   ├── kube-state-metrics-clusterrole.yaml
│   ├── kube-state-metrics-deployment.yaml
│   ├── kube-state-metrics-networkpolicy.yaml
│   ├── kube-state-metrics-serviceaccount.yaml
│   ├── kube-state-metrics-svc.yaml
│   ├── node-exporter-clusterrolebinding.yaml
│   ├── node-exporter-daemonset.yaml
│   ├── node-exporter-serviceaccount.yaml
│   ├── node-exporter-service.yaml
│   ├── NOTES.txt
│   ├── pushgateway-deployment.yaml
│   ├── pushgateway-ingress.yaml
│   ├── pushgateway-service.yaml
│   ├── server-clusterrolebinding.yaml
│   ├── server-clusterrole.yaml
│   ├── server-configmap.yaml
│   ├── server-deployment.yaml
│   ├── server-ingress.yaml
│   ├── server-networkpolicy.yaml
│   ├── server-pvc.yaml
│   ├── server-serviceaccount.yaml
│   └── server-service.yaml
└── values.yaml

您还可以使用以下命令通过一个 values.yaml 文件分别部署两个应用程序:

helm install -f my-values.yaml chart1
helm install -f my-values.yaml chart2