【发布时间】:2021-01-18 22:04:54
【问题描述】:
目前我设置了以下秘密:
apiVersion: v1
kind: Secret
metadata:
name: my-repository-key
type: kubernetes.io/dockerconfigjson
data:
.dockerconfigjson: {{ template "imagePullSecret" . }}
不幸的是,我有 2 个子图表使用相同的密钥,当我尝试使用 helm 安装它们时会导致问题。
根据stackoverflow answer,我尝试使用以下行来防止重新创建秘密:
{{- if not (lookup "v1" "Secret" "" "my-repository-key") }}
不幸的是,它不起作用,我无法调试查找,因为它暂时是 impossible。
如何防止通过查找创建?有没有更好的办法?
【问题讨论】:
-
只是一个疯狂的猜测,你在正确的命名空间中寻找秘密吗?
-
你见过stackoverflow.com/a/56171690/11300382 吗?正如您所提到的,查找问题仍未解决。它的调试被
helm template禁用。 -
子图如何命名秘密?通常以
{{ .Release.Name }}-{{ .Chart.Name }}开头的事物命名,并且同一版本中的不同图表之间不应有冲突。 -
@mchawre AFAIK 当您不指定一个(空字符串)时,它会搜索所有这些。
-
@DavidMaze 有趣的想法。我只是不想为每个图表创建一个秘密,因为他们可以很容易地共享一个。这是一个过去 5 年没有改变的单一存储库。
标签: kubernetes kubernetes-helm go-templates kubernetes-secrets