Я использую Kubernetes для развертывания моей информационной панели grafana и пытаюсь использовать секреты Kubernetes для сохранения пароля администратора 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"
Файл yaml после передачи закодированного в base64 значения выглядит следующим образом:
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 .. Похоже, проблема возникает, когда я кодирую мой пароль с помощью переменной ... Но я закодировал свой пароль с помощью переменной