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

问题描述

在部署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 }}

HTH

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...