在部署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名称。查找返回的不是字符串的mapnil,这就是为什么出现此错误的原因。以下为我工作。对于否定表达式,只需在not之后添加if即可。

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

{{- end }}
高温超导

关于kubernetes - 如何在 Helm chart 中使用查找功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63443100/

10-12 23:41