Не удается подключиться к postgres, установленному из таблицы управления стабильной / postgresql

Пытаюсь установить postgresql через helm. Я не отменяю никакие настройки, но когда пытаюсь подключиться, я получаю сообщение об ошибке «Ошибка аутентификации пароля»:

$ helm install goatsnap-postgres stable/postgresql
NAME: goatsnap-postgres
LAST DEPLOYED: Mon Jan 27 12:44:22 2020
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
** Please be patient while the chart is being deployed **
PostgreSQL can be accessed via port 5432 on the following DNS name from within your cluster:
    goatsnap-postgres-postgresql.default.svc.cluster.local - Read/Write connection
To get the password for "postgres" run:
    export POSTGRES_PASSWORD=$(kubectl get secret --namespace default goatsnap-postgres-postgresql -o jsonpath="{.data.postgresql-password}" | base64 --decode)
To connect to your database run the following command:
    kubectl run goatsnap-postgres-postgresql-client --rm --tty -i --restart='Never' --namespace default --image docker.io/bitnami/postgresql:11.6.0-debian-9-r0 --env="PGPASSWORD=$POSTGRES_PASSWORD" --command -- psql --host goatsnap-postgres-postgresql -U postgres -d postgres -p 5432
To connect to your database from outside the cluster execute the following commands:
    kubectl port-forward --namespace default svc/goatsnap-postgres-postgresql 5432:5432 &
    PGPASSWORD="$POSTGRES_PASSWORD" psql --host 127.0.0.1 -U postgres -d postgres -p 5432

$ kubectl get secret --namespace default goatsnap-postgres-postgresql -o jsonpath="{.data.postgresql-password}" | base64 --decode
DCsSy0s8hM

$ kubectl run goatsnap-postgres-postgresql-client --rm --tty -i --restart='Never' --namespace default --image docker.io/bitnami/postgresql:11.6.0-debian-9-r0 --env="PGPASSWORD=DCsSy0s8hM" --command -- psql --host goatsnap-postgres-postgresql -U postgres -d postgres -p 5432
psql: FATAL:  password authentication failed for user "postgres"
pod "goatsnap-postgres-postgresql-client" deleted
pod default/goatsnap-postgres-postgresql-client terminated (Error)

Я пробовал еще несколько вещей, и все они получали ту же ошибку:

  • Запустите kubectl run [...] bash, запустите psql, введите пароль в командной строке
  • Запускаем kubectl port-forward [...], запускаем psql локально, вводим пароль
  • Удалите / переустановите диаграмму несколько раз
  • Используйте helm install --set postgresqlPassword=[...], используйте явно установленный пароль

Я использую OSX 10.15.2, k8s 1.15.5 (через Docker Desktop 2.2.0.0), helm 3.0.0, postgres chart postgresql-7.7.2, postgres 11.6.0

Я думаю, что он работал раньше (хотя я не вижу доказательств в моей прокрутке), и я думаю, что с тех пор обновил Docker Desktop, и Кажется, я видел кое-что об обновлении K8s в примечаниях к обновлению Docker. Так что, если я правильно все это помню, может быть, это связано с обновлением k8s?


person Erin Call    schedule 27.01.2020    source источник


Ответы (1)


Упс, неважно - я нашел решение в проблеме на штурвале / диаграммах. Пароль попадает в постоянный том, поэтому, если вы удалите и переустановите диаграмму, новая версия сохранит пароль из старого, а не значение из kubectl get secret. Я удалил диаграмму, удалил старые PVC и PV и переустановил, и теперь я могу подключиться.

person Erin Call    schedule 27.01.2020