【发布时间】:2020-03-16 04:02:03
【问题描述】:
我正在用 helm 做一个非常简单的图表。 它包括部署一个只有一个对象(“/templates/pod.yaml”)的图表,如果文件 Values.yaml 的参数为真,则必须部署该对象。 举一个我的例子,这就是我所拥有的:
/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 值的 shoudBeDeployed 时,helm 会正确安装它。
我的问题是当 shoudBeDeployed 是 false 时,helm 没有部署任何东西(如我所料),但 helm 显示以下消息:
Error: release CHART_NAME failed: no objects visited
如果我执行 helm ls,我会发现 CHART_NAME 与 STATUS FAILED 一起部署。
我的问题是,是否有办法不将其作为失败的 helm 部署。所以我希望在使用命令helm ls时看不到它
我知道我可以将 shoudBeDeployed 变量的逻辑移到图表之外,然后根据它的值部署或不部署图表,但我想知道是否有仅使用 helm 的解决方案。
【问题讨论】:
标签: kubernetes kubernetes-helm