Secret 未使用 Kubernetes Secrets 正确解码
Secret is not decoding properly using Kubernetes Secrets
我正在使用 Kubernetes 部署我的 grafana 仪表板,我正在尝试使用 Kubernetes Secrets 来保存 grafana 管理员密码。这是我的 yaml 文件
apiVersion: v1
kind: Secret
metadata:
name: $APP_INSTANCE_NAME-grafana
labels:
app.kubernetes.io/name: $APP_INSTANCE_NAME
app.kubernetes.io/component: grafana
type: Opaque
data:
# By default, admin-user is set to `admin`
admin-user: YWRtaW4=
admin-password: "$GRAFANA_GENERATED_PASSWORD"
GRAFANA_GENERATED_PASSWORD 的值是 base64 编码并像
一样导出
export GRAFANA_GENERATED_PASSWORD="$(echo -n $PASSWORD | base64)"
其中 PASSWORD 是我在我的机器上导出的变量
export PASSWORD=qwerty123
我正在尝试将 GRAFANA_GENERATED_PASSWORD 的值传递给像
这样的机密的 yaml 文件
envsubst '$GRAFANA_GENERATED_PASSWORD' > "grafana_secret.yaml"
通过base64编码值后的yaml文件看起来像
apiVersion: v1
kind: Secret
metadata:
name: kafka-monitor-grafana
labels:
app.kubernetes.io/name: kafka-monitor
app.kubernetes.io/component: grafana
type: Opaque
data:
# By default, admin-user is set to `admin`
admin-user: YWRtaW4=
admin-password: "cXdlcnR5MTIz"
部署所有对象后,我无法使用正确编码的密码 qwerty123 登录到我的仪表板。
但是当我尝试像这样对我的密码进行编码时
export GRAFANA_GENERATED_PASSWORD="$(echo -n 'qwerty123' | base64)
"
它工作正常,我可以使用密码 qwerty123 登录我的仪表板..
看起来问题发生在我使用变量编码我的密码时......
但是我已经使用变量
对我的密码进行了编码
如@Pratheesh评论所述,第一次部署grafana后,持久卷不是deleted/recreated和文件grafana.db
包含仍然保留旧密码的 Grafana 仪表板密码。
为了解决,需要在使用新密码应用秘密之前删除 PersistentVolume (pv)。
我正在使用 Kubernetes 部署我的 grafana 仪表板,我正在尝试使用 Kubernetes Secrets 来保存 grafana 管理员密码。这是我的 yaml 文件
apiVersion: v1
kind: Secret
metadata:
name: $APP_INSTANCE_NAME-grafana
labels:
app.kubernetes.io/name: $APP_INSTANCE_NAME
app.kubernetes.io/component: grafana
type: Opaque
data:
# By default, admin-user is set to `admin`
admin-user: YWRtaW4=
admin-password: "$GRAFANA_GENERATED_PASSWORD"
GRAFANA_GENERATED_PASSWORD 的值是 base64 编码并像
一样导出export GRAFANA_GENERATED_PASSWORD="$(echo -n $PASSWORD | base64)"
其中 PASSWORD 是我在我的机器上导出的变量
export PASSWORD=qwerty123
我正在尝试将 GRAFANA_GENERATED_PASSWORD 的值传递给像
这样的机密的 yaml 文件envsubst '$GRAFANA_GENERATED_PASSWORD' > "grafana_secret.yaml"
通过base64编码值后的yaml文件看起来像
apiVersion: v1
kind: Secret
metadata:
name: kafka-monitor-grafana
labels:
app.kubernetes.io/name: kafka-monitor
app.kubernetes.io/component: grafana
type: Opaque
data:
# By default, admin-user is set to `admin`
admin-user: YWRtaW4=
admin-password: "cXdlcnR5MTIz"
部署所有对象后,我无法使用正确编码的密码 qwerty123 登录到我的仪表板。
但是当我尝试像这样对我的密码进行编码时
export GRAFANA_GENERATED_PASSWORD="$(echo -n 'qwerty123' | base64)
"
它工作正常,我可以使用密码 qwerty123 登录我的仪表板.. 看起来问题发生在我使用变量编码我的密码时...... 但是我已经使用变量
对我的密码进行了编码如@Pratheesh评论所述,第一次部署grafana后,持久卷不是deleted/recreated和文件grafana.db
包含仍然保留旧密码的 Grafana 仪表板密码。
为了解决,需要在使用新密码应用秘密之前删除 PersistentVolume (pv)。