我正在尝试在helm中的postgresql中运行create.sql文件,并创建一个临时pod来连接到数据库。(部分命令取自helm安装后的建议)
我有以下命令来创建 helm 并连接到数据库。
global:
postgresql:
auth:
# Added below credentials for testing
postgresPassword: "postgresqladmin"
username: "admin"
password: "admin"
database: "postgresqlDB"
containerPorts:
postgresql: 5432
image:
registry: docker.io
repository: bitnami/postgresql
tag: 15.4.0-debian-11-r10
digest: ""
pullPolicy: IfNotPresent
debug: false
以下是命令命令:
helm upgrade --install postgresql -f values.yaml bitnami/postgresql
kubectl run postgresql-client --rm --tty -i --restart='Never' \
--image bitnami/postgresql --env="PGPASSWORD=admin" && \
kubectl cp ./create.sql postgresql-client:/create.sql && \
psql --host postgresql -U admin -d postgresqlDB -p 5432 -f /create.sql
但是上面的命令在 --env 之后停止并显示错误日志
The POSTGRESQL_PASSWORD environment variable is empty or not set. Set the environment variable ALLOW_EMPTY_PASSWORD=yes to allow the container to be started with blank passwords. This is recommended only for development.
如何编写执行sql脚本文件的命令
我目前尝试创建这样的表
kubectl run postgresql-client --rm --tty -i \
--restart='Never' --image "docker.io/bitnami/postgresql:15.4.0-debian-11-r10" \
--env="PGPASSWORD=admin" --command -- \
psql --host postgresql -U admin -d postgresqlDB -p 5432 "CREATE TABLE my_table ( \
id serial PRIMARY KEY,\
field VARCHAR(255)\
);"
应该可以从运行
create.sql
命令的计算机访问 kubectl
文件。
看看这个
kubectl run postgresql-client --rm --tty -i \
--restart='Never' --image "docker.io/bitnami/postgresql:15.4.0-debian-11-r10" \
--env="PGPASSWORD=admin" --command -- \
psql --host postgresql -U admin -d postgresqlDB -p 5432 -f /create.sql