Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 舵手:如何避免在升级时重现秘密?_Kubernetes_Kubernetes Helm - Fatal编程技术网

Kubernetes 舵手:如何避免在升级时重现秘密?

Kubernetes 舵手:如何避免在升级时重现秘密?,kubernetes,kubernetes-helm,Kubernetes,Kubernetes Helm,我在一个秘密模板中有这样的东西: apiVersion: v1 kind: Secret metadata: # not relevant type: Opaque data: password: {{ randAlphaNum 32 | b64enc | quote }} 现在,当进行头盔升级时,秘密被重新创造,但是使用这个的吊舱不是,他们也不应该,这没关系 这会导致POD在重新启动或升级时失败,因为新密码与旧密码不匹配 当秘密存在时,是否可以跳过重新创建它,如{-if notesi

我在一个秘密模板中有这样的东西:

apiVersion: v1
kind: Secret
metadata:
  # not relevant
type: Opaque
data:
  password: {{ randAlphaNum 32 | b64enc | quote }}
现在,当进行头盔升级时,秘密被重新创造,但是使用这个的吊舱不是,他们也不应该,这没关系

这会导致POD在重新启动或升级时失败,因为新密码与旧密码不匹配

当秘密存在时,是否可以跳过重新创建它,如{-if notesists theSecret}}以及如何执行?

您可以使用HELM中的查找功能检查秘密是否存在

舵图中的功能如下所示:

秘密创造就像

示例文件:

图表示例:

您可以使用HELM中的查找功能检查机密是否存在

舵图中的功能如下所示:

秘密创造就像

示例文件:

图表示例:


我已经找到了,如何插入正确的模板参数?{{-if lookup v1 Secret{{.Release.Namespace}{{{include mychart.fullname.}}-Secret}}不起作用我不知道模板参数的含义?可能还没有,我是新手。检查一下帮助的验证你在使用3.1吗?或者你面临的错误?后续:我升级了头盔,仍然有3.2.4,到3.5.4,现在它可以工作了。我已经找到了这个,我如何插入正确的模板参数?{{-if lookup v1 Secret{{.Release.Namespace}{{{include mychart.fullname.}}-Secret}}不起作用我不知道模板参数的含义?可能还没有,我是新手。检查一下帮助的验证你在使用3.1吗?还是你面临的错误?后续:我升级了头盔,仍然有3.2.4,到3.5.4,现在它可以工作了。
{{/*
Example for function
*/}}
{{- define "gen.secret" -}}
{{- $secret := lookup "v1" "Secret" .Release.Namespace "test-secret" -}}
{{- if $secret -}}
{{/*
   Reusing value of secret if exist
*/}}
password: {{ $secret.data.password }}
{{- else -}}
{{/*
    add new data
*/}}
password: {{ randAlphaNum 32 | b64enc | quote }}
{{- end -}}
{{- end -}}
apiVersion: v1
kind: Secret
metadata:
  name: "test-secret"
type: Opaque
data:
{{- ( include "gen.secret" . ) | indent 2 -}}
{{- $secret := (lookup "v1" "Secret" .Release.Namespace "test-secret" -}}
apiVersion: v1
kind: Secret
metadata:
  name: test-secret
type: Opaque

# 2. If the secret exists, write it back
{{ if $secret -}}
data:
  password: {{ $secret.data.password }}

# 3. If it doesn't exist ... create new
{{ else -}}
stringData:
  password: {{ randAlphaNum 32 | b64enc | quote }}
{{ end }}