我有一个主图表,可以在 _helpers.ptl 中生成随机密码。这个随机密码需要被多个子chart(db和app)使用。
在主图表的_helpers.ptl中:
{{/* Generate db credentials */}}
{{- define "test.dbCredentials" -}}
dbUser: {{ randAlphaNum 16 | quote }}
dbPass: {{ randAlphaNum 32 | quote }}
{{- end }}
Run Code Online (Sandbox Code Playgroud)
主图表的configmap.yml:
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-configmap
data:
{{- include "test.dbCredentials" . | nindent 2 }}
Run Code Online (Sandbox Code Playgroud)
子图的configmap.yml:
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-configmap
data:
{{- include "test.dbCredentials" . | nindent 2 }}
Run Code Online (Sandbox Code Playgroud)
当我调试这个时,主图和子图的凭据是不同的。有没有办法在主图中生成随机值,并将精确值传递给几个子图?
小智 0
我需要做一些非常类似的事情:生成一个随机密码,然后将其存储为秘密,但同时使用 bcrypt 对其进行哈希处理以进行部署本身。在尝试了所有方法(包括此处和此处描述的所有解决方案)之后,我发现实现此工作的唯一方法是使用单个文件。就我而言,我必须在同一个图表中创建密码、哈希、秘密和部署。这是我如何做到这一点的示例摘录:
{{- $adminPassword := randAlphaNum 42 -}}
# This secret is used to store the user credentials generated.
apiVersion: v1
kind: Secret
metadata:
name: "{{ include "app.fullname" . }}-passwords"
labels:
{{- include "app.labels" . | nindent 4 }}
type: Opaque
data:
adminpassword: {{ $adminPassword | b64enc | quote }}
---
# Main Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: "{{ include "app.fullname" . }}"
spec:
replicas: 1
template:
spec:
containers:
- name: "{{ include "app.fullname" . }}-instance"
image: "{{ .Values.image.name }}"
env:
# Full admin user.
- name: USERS_ADMIN_USERNAME
value: {{ .Values.authentication.users.adminUsername | quote}}
- name: USERS_ADMIN_PASSWORD
value: {{(htpasswd "BCRYPT" $adminPassword ) | quote }}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4831 次 |
最近记录: |