在部署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
有输入吗?提前致谢。 最佳答案
请检查您的API版本和PSP名称。查找返回的不是字符串的map
或nil
,这就是为什么出现此错误的原因。以下为我工作。对于否定表达式,只需在not
之后添加if
即可。
{{- if (lookup "policy/v1beta1" "PodSecurityPolicy" "" "example") }}
<found: do your stuff>
{{- end }}
高温超导关于kubernetes - 如何在 Helm chart 中使用查找功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63443100/