我已经创建了一个secret.yaml,用于生成随机密码或我的应用程序,它可以完美运行。
{{- if .Values.useSecurity -}}
apiVersion: v1
kind: Secret
metadata:
name: {{ template "couchdb.fullname" . }}
labels:
type: Opaque
data:
{{ if .Values.adminPassword -}}
couchdb-admin-password: {{ .Values.adminPassword | b64enc | quote }}
{{ else -}}
couchdb-admin-password: {{ randAlphaNum 10 | b64enc | quote }}
{{ end -}}
couchdb-admin-user: {{ .Values.adminUser | b64enc | quote }}
{{- end }}
但是,如果用户在几天后登录,则应使用cronjob进行密码轮换。如果有人帮助我实现这一目标,那就太好了。
您可以使用helm upgrade
标志定期运行helm upgrade
以更改值yaml中的值。然后,头盔应更新您的秘密。
--set
您可以使用其他方式来生成您的秘密,但是我喜欢使用helm upgrade <release_name> --set adminPassword=$(openssl rand -hex 16)
:
openssl
您的$ openssl rand -hex 16
0fec302c52e2d1d2185f404d33be91fb
文件应如下所示:
CronJob
将创建一个名为demo-cron的CronJob,它每天将在apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: demo-cronjob
spec:
schedule: "0 0 */1 * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: demo-cron
image: demo-image:latest
envFrom:
- secretRef:
name: "{{ template "couchdb.fullname" . }}"
# in your case pass here helm install command - to run your script
command: [ "/bin/sh" ]
args: [ "/var/httpd-init/croyscript.sh" ]
restartPolicy: OnFailure
小时运行(cron格式00:00
)。您可以根据需要指定时间表,例如:"0 0 */1 * *"
-每周周日早晨午夜运行一次。创建pod后,我添加了对您的机密-"0 0 * * 0 "
的引用。在上面的示例中,定义了将运行bash脚本的命令,该命令将在pod中执行,在您的情况下,您必须使用{{ template "couchdb.fullname" . }}
...命令更改这两行。
看一下:helm install
。