Helm Charts 在不同的命名空间中创建秘密

rat*_*zip 2 kubernetes kubernetes-helm

我有以下secrets.yamltempletes在头盔图表:

apiVersion: v1
kind: Secret
metadata:
  name: mysecret
type: Opaque
data:
  USER_NAME: YWRtaW4=
  PASSWORD: MWYyZDFlMmU2N2Rm 
Run Code Online (Sandbox Code Playgroud)

我需要建立在不同的命名空间相同的秘密,例如,命名空间test1test2test3test4,如何与同一指定不同的命名空间secrets,因此同样secret可以在不同的命名空间中产生的呢?

Chr*_*hez 5

您可以在metadata部分中设置命名空间名称,例如

apiVersion: v1
kind: Secret
metadata:
  name: mysecret
  namespace: test1
type: Opaque
data:
  USER_NAME: YWRtaW4=
  PASSWORD: MWYyZDFlMmU2N2Rm
Run Code Online (Sandbox Code Playgroud)

您可以使用 helm 设置 for 循环以Secret在每个命名空间中创建一个定义。

更新。

# values.yaml
namespaces:
  - test1
  - test2

# templates.secrets.tpl
{{- range .Values.namespaces }}
---
apiVersion: v1
kind: Secret
metadata:
  name: mysecret
  namespace: {{ . | quote }}
type: Opaque
data:
  USER_NAME: YWRtaW4=
  PASSWORD: MWYyZDFlMmU2N2Rm

{{- end }}


### output ###
---
# Source: base/templates/secrets.tpl

---
apiVersion: v1
kind: Secret
metadata:
  name: mysecret
  namespace: "test1"
type: Opaque
data:
  USER_NAME: YWRtaW4=
  PASSWORD: MWYyZDFlMmU2N2Rm
---
apiVersion: v1
kind: Secret
metadata:
  name: mysecret
  namespace: "test2"
type: Opaque
data:
  USER_NAME: YWRtaW4=
  PASSWORD: MWYyZDFlMmU2N2Rm
Run Code Online (Sandbox Code Playgroud)