生成的随机密码的自动轮换

问题描述 投票:1回答:2

我已经创建了一个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进行密码轮换。如果有人帮助我实现这一目标,那就太好了。

kubernetes kubernetes-helm
2个回答
0
投票

您可以使用helm upgrade标志定期运行helm upgrade以更改值yaml中的值。然后,头盔应更新您的秘密。

--set

您可以使用其他方式来生成您的秘密,但是我喜欢使用helm upgrade <release_name> --set adminPassword=$(openssl rand -hex 16)

openssl

0
投票

您的$ 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

© www.soinside.com 2019 - 2024. All rights reserved.