致命:通过Helm Chart自动创建数据库模式时,Patroni Helm Chart中的角色“ root”不存在错误

问题描述

我正在使用patroni舵图。无法自动创建架构。因此,我提供了一个ConfigMap,如下所示:

kind: ConfigMap
apiVersion: v1
Metadata:
  name: {{ template "patroni.fullname" . }}
  labels:
    app: {{ template "patroni.fullname" . }}
    release: {{ .Release.Name }}
data:
  init.sql: |-
    **DB SCHEMA TO BE CREATED**

在Kined Statefulset中的volumeMounts部分中,我提供了如下的mountPath来将init.sql文件安装在容器中。因此,init.sql文件将挂载到/docker-entrypoint-initdb.d/init.sql

volumeMounts:        
        - mountPath: /docker-entrypoint-initdb.d/     
          name: test  

在音量部分,我在行下面添加

volumes:
      - name: test
        configMap:
          name: {{ template "patroni.fullname" . }}

因此,当我部署图表时,它的部署没有错误。 当我执行到Pod中时,我可以看到ConfigMap中提供的init.sql文件。 但是当我尝试通过命令手动运行该脚本时,该脚本未执行

psql -f init.sql

我在psql中收到错误消息:致命:角色“根”不存在

我执行的命令是:

oc exec -it postgres-ha-test-patroni-0 bash

此容器由超级用户管理,在停止/启动服务时使用超级用户

示例:

supervisorctl停止cronsupervisorctl重新启动赞助人

当前状态:(主管状态)

cron RUNNING pid 31,正常运行时间0:45:42 patroni RUNNING pid 32,正常运行时间0:45:42 pgq RUNNING pid 33,正常运行时间0:45:42

root @ postgres-ha-test-patroni-0:/docker-entrypoint-initdb.d# psql -f docker-entrypoint-initdb.d / init.sql >

psql:致命:角色“根”不存在

此处,根角色不存在。如果我通过postgres用户登录并执行.sql文件,它将正常运行。 但是我想自动运行它,一旦部署了守护掌舵图,就应该创建数据库模式。

请帮助我。我正在尝试很久。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)