在部署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
有输入吗?预先感谢。
答案 0 :(得分:5)
请检查您的API版本和PSP名称。查找返回的是map
或nil
而不是字符串,这就是为什么您会收到该错误的原因。以下为我工作。对于否定表达式,只需在not
之后添加if
。
{{- if (lookup "policy/v1beta1" "PodSecurityPolicy" "" "example") }}
<found: do your stuff>
{{- end }}
HTH