Helm:initdbScripts参数中的PostgreSQL
PostgreSQL的默认掌舵图(即Helm:initdbScripts参数中的PostgreSQL,postgresql,kubernetes,kubernetes-helm,Postgresql,Kubernetes,Kubernetes Helm,PostgreSQL的默认掌舵图(即stable/PostgreSQL)定义了允许运行初始化脚本的initdbScripts参数。但是,在如何通过命令行发布它方面,我似乎无法获得正确的格式 有人能举例说明如何填充此命令行参数吗? 下面是我要发布的内容,减去initdbScripts参数的工作版本 helm install stable/postgresql -n testpg \ --set global.postgresql.postgresqlDatabase=testpg \
stable/PostgreSQL
)定义了允许运行初始化脚本的initdbScripts
参数。但是,在如何通过命令行发布它方面,我似乎无法获得正确的格式
有人能举例说明如何填充此命令行参数吗?
下面是我要发布的内容,减去initdbScripts
参数的工作版本
helm install stable/postgresql -n testpg \
--set global.postgresql.postgresqlDatabase=testpg \
--set global.postgresql.postgresqlUsername=testpg \
--set global.postgresql.postgresqlPassword=testpg \
--set global.postgresql.servicePort=5432 \
--set initdbScripts=(WHAT GOES HERE TO RUN "sql/init.sql"??) \
--set service.type=LoadBalancer
根据helm chart,initdbScripts
是一个包含多行变量的init脚本名称的字典:
假设我们有以下init.sql
脚本:
CREATE USER helm;
CREATE DATABASE helm;
GRANT ALL PRIVILEGES ON DATABASE helm TO helm;
当我们将多行文本注入到值中时,我们需要处理YAML中的缩进
对于上述特殊情况,它是:
helm install stable/postgresql -n testpg \
--set global.postgresql.postgresqlDatabase=testpg \
--set global.postgresql.postgresqlUsername=testpg \
--set global.postgresql.postgresqlPassword=testpg \
--set global.postgresql.servicePort=5432 \
--set initdbScripts."init\.sql"="CREATE USER helm;
CREATE DATABASE helm;
GRANT ALL PRIVILEGES ON DATABASE docker TO helm;" \
--set service.type=LoadBalancer
上面的例子有一些解释:
,则应将其转义,如“init\.sql”
helm install stable/postgresql -n testpg \
--set global.postgresql.postgresqlDatabase=testpg \
--set global.postgresql.postgresqlUsername=testpg \
--set global.postgresql.postgresqlPassword=testpg \
--set global.postgresql.servicePort=5432 \
--set initdbScripts."init\.sql"="CREATE USER helm;
CREATE DATABASE helm;
GRANT ALL PRIVILEGES ON DATABASE docker TO helm;" \
--set service.type=LoadBalancer