如何在kubernetes上使用密码连接到psql

hjzp0vay  于 2023-06-05  发布在  Kubernetes
关注(0)|答案(6)|浏览(203)

我想在kubernetes上使用password on kubectl exec命令连接到psql,如

kubectl exec -it postgres -- bash \`psql -h $IP -U admin --password password -p $PORT dbname\`

我试着指挥

kubectl exec -it $podid -- bash \`psql -h $IP -U admin --password -p $PORT postgresdb\`

和/或

kubectl exec -it $podid -- bash -c "psql -- dbname=postgresql://postgres:password@$ip:$port/postgresdb -c 'INSERT INTO public."user" (user_id,user_pw,user_nm,email,phone,is_admin) VALUES ('admin','admin','admin','admin@admin.com',NULL,true);'"

但是这些命令不起作用。
如何使用kubernetes命令和密码连接到psql?

i7uaboj4

i7uaboj41#

尝试
kubectl exec -it <postgresspod-name> bash or sh
当你在集装箱里的时候
PGPASSWORD=<password> psql -h <host or service name or localhost> -U <username> <dbname>
另一个选项是kubectl exec -it postgres -- bash \PGPASSWORD= psql -h -U ``

ffx8fchx

ffx8fchx2#

接受的答案对我不起作用(命令PGPASSWORD= <...>not found)。
这样做奏效了:

kubectl  exec -ti postgres -- env PGPASSWORD=$PASSWD psql psql -h <host> -U <username> <dbname>
pkln4tw6

pkln4tw63#

由于您只要求命令,我假设您拥有所有部署、服务等。
请执行以下命令:

$ kubectl exec -ti <postgresspod-name> -- psql -h <node/host IP> -U postgresadmin --password -p <port> postgresdb
Password for user postgresadmin:

输入密码后,您将连接到Postgres

bz4sfanl

bz4sfanl4#

对我来说只有这个有效

kubectl exec postgres-postgresql-0 -n nte -- sh -c 'PGPASSWORD=postgres psql -U "postgres" -d "database_name" -c "select * from table_name"'
9o685dep

9o685dep5#

传递arg --env "PGPASSWORD=$POSTRESQL_ADMIN_PASSWORD"就像一种魅力

kubectl run psql-client --rm -ti --restart=Never --namespace default --image bitnami/postgresql --env "PGPASSWORD=$POSTRESQL_ADMIN_PASSWORD" -- psql --port=5432 --dbname=postgres --username=$POSTRESQL_ADMIN_USERNAME --set=sslmode=require --host=$POSTRESQL_HOST -w
iqih9akk

iqih9akk6#

你可以试试这样:

kubectl exec -i <plsql podname> -- psql -h <host or service name or localhost> -u <username> -p<password>

相关问题