我正在尝试通过头盔安装postgresql。我没有覆盖任何设置,但是当我尝试连接时,出现“密码验证失败”错误:
$ 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),头盔3.0.0,postgres图表postgresql-7.7.2,postgres 11.6.0
我认为以前就可以使用(尽管在回滚中看不到证据),并且我认为从那时起我更新了Docker Desktop,而且我想我在Docker更新说明中看到了有关K8s更新的内容。因此,如果我正确地记住了所有这些内容,也许与k8s更新有关?
答案 0 :(得分:5)
抱歉,没关系-我在an issue on helm/charts中找到了解决方法。密码以永久卷结尾,因此,如果您卸载并重新安装图表,新版本将保留旧密码,而不保留kubectl get secret
的密码。我卸载了图表,删除了旧的PVC和PV,然后重新安装,现在可以连接了。