我正在使用Helm创建一个非常简单的图表。 它只包含一个对象("/templates/pod.yaml"),只有在Values.yaml文件中的一个参数为true时才需要部署它。 以下是我的示例:
/templates/pod.yaml
{{- if eq .Values.shoudBeDeployed true }}
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
name: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
{{- end}}
Values.yaml
shoudBeDeployed: true
所以,当我使用 true
值的 shouldBeDeployed 时,helm 可以正确地安装它。
我的问题在于,当 shoudBeDeployed 是 false
时,helm 不会部署任何东西(正如我所预期的那样),但 helm 显示以下消息:
Error: release CHART_NAME failed: no objects visited
如果我执行 helm ls
,我将看到 CHART_NAME 的状态为 STATUS FAILED
。
我的问题是是否有一种方法可以不将其作为失败的 helm 部署。因此,我希望在使用命令 helm ls
时不要看到它。
我知道我可以将 shoudBeDeployed 变量的逻辑移到图表之外,然后根据其值部署或不部署图表,但我想知道是否有一种仅使用 helm 的解决方案。