Opl*_*p98 5 kubernetes kubernetes-helm kubernetes-secrets
在我的舵图中,我有一些需要输入凭据的文件例如
<Resource
name="jdbc/test"
auth="Container"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://{{ .Values.DB.host }}:{{ .Values.DB.port }};selectMethod=direct;DatabaseName={{ .Values.DB.name }};User={{ Values.DB.username }};Password={{ .Values.DB.password }}"
/>
Run Code Online (Sandbox Code Playgroud)
我创造了一个秘密
Name: databaseinfo
Data:
username
password
Run Code Online (Sandbox Code Playgroud)
然后,我创建环境变量以在部署.yaml 中检索这些机密:
env:
- name: DBPassword
valueFrom:
secretKeyRef:
key: password
name: databaseinfo
- name: DBUser
valueFrom:
secretKeyRef:
key: username
name: databaseinfo
Run Code Online (Sandbox Code Playgroud)
在我的values.yaml 或其他文件中,我需要能够引用这个秘密/环境变量。我尝试了以下方法,但它不起作用:values.yaml
DB:
username: $env.DBUser
password: $env.DBPassword
Run Code Online (Sandbox Code Playgroud)
您无法将变量从任何模板传递给values.yaml
helm。只是从values.yaml
模板开始。
您正在寻找的答案是由mehowthe发布的:
部署.yaml =
env:
{{- range .Values.env }}
- name: {{ .name }}
value: {{ .value }}
{{- end }}
Run Code Online (Sandbox Code Playgroud)
值.yaml =
env:
- name: "DBUser"
value: ""
- name: "DBPassword"
value: ""
Run Code Online (Sandbox Code Playgroud)
然后
helm install chart_name --name release_name --set env.DBUser="FOO" --set env.DBPassword="BAR"
归档时间: |
|
查看次数: |
22600 次 |
最近记录: |