首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于kubernetes卷权限错误的postgres

关于kubernetes卷权限错误的postgres
EN

Stack Overflow用户
提问于 2018-08-11 15:35:49
回答 2查看 9.4K关注 0票数 0

我试图在GKE上部署postgres/postgis,但是我继续获得权限错误:initdb: could not change permissions of directory "/var/lib/postgresql/data": Operation not permitted。我已经尝试过我已经研究过的各种修复方法,但是我还没有通过这个错误。下面是我的部署yaml。

我遗漏了什么?

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: postgres
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: postgres
    spec:
      terminationGracePeriodSeconds: 10
      securityContext:
        runAsUser: 1000
        fsGroup: 1000
      containers:
        - name: postgres
          image: mdillon/postgis:10
          imagePullPolicy: "IfNotPresent"
          ports:
            - containerPort: 5432
          env:
            - name: POSTGRES_DB
              value: "database"
            - name: POSTGRES_USER
              value: "postgres"
            - name: POSTGRES_PASSWORD
              value: "postgres"
          volumeMounts:
            - name: postgredb
              mountPath: /var/lib/postgresql/data
              subPath: data
      volumes:
        - name: postgredb
          persistentVolumeClaim:
            claimName: postgres-pvc
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-11 19:51:53

虽然这不是完全相同的问题,但这个“使用initContainer: to chmod”的回答会让您感兴趣:chown: changing ownership of '/data/db': Operation not permitted

票数 2
EN

Stack Overflow用户

发布于 2021-10-19 18:08:16

这条线索可以在PGDATA部分找到:

/postgres

此可选变量可用于为数据库文件定义另一个位置(如子目录)。缺省值是/var/lib/postgresql/data。如果您使用的数据卷是一个文件系统挂载点(如GCE持久磁盘)或远程文件夹,则不能为postgres用户(如某些NFS挂载)所拥有的文件系统挂载,Postgres initdb建议创建一个子目录来包含数据。 例如: $ docker运行-d -说出一些-postgres -e POSTGRES_PASSWORD=mysecretpassword -e PGDATA=/var/lib/postgresql/data/pgdata -v /定制/挂载:/var/lib/postgresql/data 波斯特格斯

因此,您需要YAML中的两个项才能获得与上面的Docker命令相当的内容:

  1. 将PVC安装到Postgres使用的默认目录(YAML中已经有) volumeMounts:-名称: mountPath: /var/lib/postgresql/data readOnly: false
  2. 将PGDATA变量添加到env变量中: 名称: PGDATA值: /var/lib/postgresql/data/pgdata
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51801220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档