我用舵做了一个简单的图表。它包括部署一个只有一个对象("/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因此,当我使用带有shoudBeDeployed值的true时,helm将正确地安装它。
我的问题是,当shoudBeDeployed是false时,helm不会像我预期的那样部署任何东西,但是helm显示了以下消息:
Error: release CHART_NAME failed: no objects visited
如果我执行helm ls,我就知道CHART_NAME是与STATUS FAILED一起部署的。
我的问题是,是否有办法不让它成为失败的舵手部署。所以我不想在使用命令helm ls时看到它
我知道我可以将shoudBeDeployed变量的逻辑移出图表之外,然后根据图表的值部署图表,但我想知道是否有使用helm的解决方案。
发布于 2019-11-21 08:29:55
@pcampana我认为,如果没有部署,就没有办法停止舵部署。但是,这里有一个技巧,如果舵图失败,可以用来删除它。
helm安装-名称临时演示-原子
其中演示是helm图表目录,temp是发布名。要使此操作正常运行,发布名称是必须的。
一种情况是当您看到错误时。
错误:发布临时程序失败:没有访问对象
您可以使用上面的命令来部署舵图。
我觉得这可能对你有用。
https://stackoverflow.com/questions/58954297
复制相似问题