Я следовал этому руководству по развертыванию приложения Django в Kubernetes Cluster.Я создал учетные данные cloudql и экспортировал их, как в учебном пособии
export DATABASE_USER=<your-database-user>
export DATABASE_PASSWORD=<your-database-password>
Однако мой пароль был сгенерирован LastPass и содержит специальные символы, которые распределяются в модуле Kubernetes Pod, что делает его неверным.
Это мой пароль (измененный, просто показаны специальные символы) 5bb4&sL!EB%e
Итак, я пробовал различные способы экспорта этой строки, при ее отображении всегда отображается правильный пароль, однако в инструментальной панели Kubernetesпароль всегда неверен (также изменен в DevTools, но некоторые символы только что удалены)
То, что я пробовал
export DATABASE_PASSWORD=$'5bb4&sL\!EB\%e'
export DATABASE_PASSWORD='5bb4&sL!EB%e'
Эхо всегда хорошо, но kubernetes всегда удаляет его.
Развертывание с skaffold deploy
РЕДАКТИРОВАТЬ:
После подсказки я попытался сохранить пароль вформа кодирования base64, однако я подозреваю, что она применима только к локальной области, так как пароль в Dashboard Kubernetes остается тем же, я подозреваю, что мне нужно восстановить сертификатe, чтобы сделать это удаленно на кластере gke?
Таким образом, переменные env предназначены для локального доступа, а учетные данные в облачном прокси-сервере SQL - те, которые используютсяиспользовал и неправильно истолковал?Кстати, где эти файлы?
EDIT2:
Я только что обнаружил, что на самом деле кластер gke использует учетные данные json, а не экспортируемые переменные.Конфигурация json уже содержит пароль в кодированной форме base64, ОДНАКО это кодировка строки base64, в которой все еще отсутствуют специальные символы.Похоже, единственный выход - генерировать новые учетные данные без специальных символов, что похоже на ошибку, не так ли?