有没有办法根据全局 values.yaml 有条件地安装舵子图?我将所有内部服务和组件都作为子图表,其中之一是消息队列图表。在我的开发和测试环境(本地 k8s)中,我使用 RabbitMQ,在 staging 和 Prod (AKS) 中,我使用 Azure 服务总线。根据namespace/values.yaml,我要不要安装rabbitmq。
PS - 我已将所有组件创建为子图表,以便它们都是单个版本的一部分。
Nar*_*ana 34
更新: 随着 helm 3.0 版本和 Chart 版本 v2,必须在 Chart.yaml 中添加图表依赖项,而不是单独的 requirements.yaml 文件。因此,如果您在 helm 3 中使用 apiVersion=v2,请参阅helm v2->v3 changes。这将是:
apiVersion: v2
name: myapplication
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
appVersion: 1.0
dependencies:
- name: apidocs
condition: apidocs.enabled
Run Code Online (Sandbox Code Playgroud)
我找到了答案:
在 requirements.yaml 中,添加:
dependencies:
- name: api
condition: api.enabled
- name: messagequeue
condition: messagequeue.enabled
Run Code Online (Sandbox Code Playgroud)
并在 values.yaml 中,添加
api:
enabled: true
messagequeue:
enabled: false
Run Code Online (Sandbox Code Playgroud)
现在在安装过程中,将值传递给启用或禁用消息队列,如下所示:
helm install --dry-run --debug website\ --set messagequeue.enabled=true
Run Code Online (Sandbox Code Playgroud)
或者
helm install --dry-run --debug website\ --set messagequeue.enabled=false
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11553 次 |
最近记录: |