使用Kubernetes configMap更改Postgres配置

问题描述

我正在尝试使用Kubernetes部署postgres。此步骤效果很好。

但是现在我需要自定义pg_hba.conf文件。因此,想法是使用configMap挂载个人文件

这是我的部署文件

apiVersion: v1
kind: ConfigMap
Metadata:
  name: pg-hba-configmap
data:
  pg_hba.conf: |+
    # TYPE  DATABASE        USER                ADDRESS            METHOD
    # Some personal  settings here

---

apiVersion: apps/v1
kind: StatefulSet
Metadata:
  name: db
spec:
  selector:
    matchLabels:
      app: db
  serviceName: db
  replicas: 1
  template:
    Metadata:
      labels:
        app: db
    spec:
      nodeselector:
        db: 'true'
      containers:
      - name: db
        image: kartoza/postgis:10.0-2.4
        volumeMounts:
        - name: data-volume
          mountPath: /var/lib/postgresql
        - name: pg-hba-config-volume
          mountPath: /var/lib/postgresql/10/main/pg_hba.conf
          subPath: pg_hba.conf
      volumes:
      - name: data-volume
        hostPath:
          path: /data/db
      - name: pg-hba-config-volume
        configMap:
          name: pg-hba-configmap

但这不起作用。数据库处于错误状态。在日志中,我可以看到以下内容

chown: changing ownership of '/var/lib/postgresql/10/main/pg_hba.conf': Read-only file system

此外,在装有数据库的服务器上,我只有这样:

root@server:/data/db/10/main# ls -l
total 0
-rwxr-xr-x 1 root root 0 Oct  8 08:49 pg_hba.conf

我应该在这里拥有所有数据库。就像所有文件夹都被覆盖一样。

在这里做错什么,如何安装自定义配置?

谢谢

解决方法

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

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

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