簡體   English   中英

Secret 未使用 Kubernetes Secrets 正確解碼

[英]Secret is not decoding properly using Kubernetes Secrets

我正在使用 Kubernetes 部署我的 grafana 儀表板,我正在嘗試使用 Kubernetes Secrets 來保存 grafana 管理員密碼。這是我的 Z6EEDC03A68A69933C742F2D 文件

    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 后,持久卷沒有被刪除/重新創建,並且包含 Grafana 儀表板密碼的文件grafana.db仍然保留舊密碼。

為了解決這個問題,需要先刪除 PersistentVolume (pv),然后再使用新密碼應用 secret。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM