我试图在GKE上部署postgres/postgis,但是我继续获得权限错误:initdb: could not change permissions of directory "/var/lib/postgresql/data": Operation not permitted。我已经尝试过我已经研究过的各种修复方法,但是我还没有通过这个错误。下面是我的部署yaml。
我遗漏了什么?
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发布于 2018-08-11 19:51:53
虽然这不是完全相同的问题,但这个“使用initContainer: to chmod”的回答会让您感兴趣:chown: changing ownership of '/data/db': Operation not permitted
发布于 2021-10-19 18:08:16
这条线索可以在PGDATA部分找到:
此可选变量可用于为数据库文件定义另一个位置(如子目录)。缺省值是/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命令相当的内容:
https://stackoverflow.com/questions/51801220
复制相似问题