如何在舵图中使用查找功能

时间:2020-08-17 00:19:15

标签: kubernetes kubernetes-helm

在部署Kubernetes应用程序时,我要检查是否存在特定的PodSecurityPolicy,如果确实存在,则跳过该安装再次。 我碰到了helm lookup function,它使我们可以检查现有的K8资源。 虽然我了解了如何使用此功能来获取所有相同种类的资源,但如何使用此功能来检查是否存在名为“ myPodSecurityPolicy”的PodSecurityPolicy。

我尝试过这样的事情:

{{- if ne (lookup "v1" "PodSecurityPolicy" "" "") "myPodSecurityPolicy"}}
<do my stuff>

{{- end }}

但是看起来我无法通过这种方式进行比较,看到一个错误-

error calling ne: invalid type for comparison

有输入吗?预先感谢。

1 个答案:

答案 0 :(得分:5)

请检查您的API版本和PSP名称。查找返回的是mapnil而不是字符串,这就是为什么您会收到该错误的原因。以下为我工作。对于否定表达式,只需在not之后添加if

{{- if (lookup "policy/v1beta1" "PodSecurityPolicy" "" "example") }}
<found: do your stuff>

{{- end }}

HTH