如何在 Helm Chart 中使用 Lookup 功能

use*_*236 6 kubernetes kubernetes-helm

在部署 Kubernetes 应用程序时,我想检查是否存在特定的 PodSecurityPolicy,如果存在,则跳过再次安装。我遇到了helm 查找功能,它允许我们检查现有的 K8 资源。虽然我了解如何使用此函数获取所有同类资源,但如何使用此函数检查名为“myPodSecurityPolicy”的 PodSecurityPolicy 是否存在。

我试过这样的事情:

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

{{- end }}
Run Code Online (Sandbox Code Playgroud)

但看起来我不能这样比较,看到一个错误 -

error calling ne: invalid type for comparison
Run Code Online (Sandbox Code Playgroud)

任何输入?提前致谢。

Fah*_*eem 8

请检查您的 API 版本和 PSP 名称。查找返回一个mapnil不是一个字符串,这就是您收到该错误的原因。以下是为我工作。对于否定表达式,只需notif.

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

{{- end }}
Run Code Online (Sandbox Code Playgroud)

HTH

  • @rabejens `{{- if not (lookup "v1" "Namespace" "" (printf "%s-%s" (include "something" $) "foo")) }}` (4认同)

归档时间:

查看次数:

3644 次

最近记录:

5 年,1 月 前