【发布时间】:2020-10-16 00:53:47
【问题描述】:
我是 Kubernetes 新手,我尝试应用 yaml 文件在 GKE 中创建 Postgres,我收到错误消息“错误:无法启动容器“postgres”:来自守护进程的错误响应:创建挂载源路径时出错'/mnt/data': mkdir /mnt/data: 只读 文件系统 Back-off 重启失败的容器。
当我尝试登录到 pod 即容器内时,我认为我需要将权限设置为 RWX 。它不允许登录。 任何人请帮助我!!。
这是我用于 Postgres 的 Yaml 文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: postgres
spec:
selector:
matchLabels:
app: postgres
replicas: 1
template:
metadata:
labels:
app: postgres
spec:
containers:
- name: postgres
image: postgres:latest
imagePullPolicy: "IfNotPresent"
envFrom:
- configMapRef:
name: postgres-config
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: postgredb
volumes:
- name: postgredb
persistentVolumeClaim:
claimName: postgres-pv-claim
---
kind: PersistentVolume
apiVersion: v1
metadata:
name: postgres-pv-volume
labels:
type: local
app: postgres
spec:
storageClassName: manual
capacity:
storage: 5Gi
accessModes:
- ReadWriteMany
hostPath:
path: "/mnt/data"
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: postgres-pv-claim
labels:
app: postgres
spec:
storageClassName: manual
accessModes:
- ReadWriteMany
resources:
requests:
storage: 5Gi
---
apiVersion: v1
kind: ConfigMap
metadata:
name: postgres-config
labels:
app: postgres
data:
POSTGRES_DB: postgresdb
POSTGRES_USER: postgres
POSTGRES_PASSWORD: root
---
apiVersion: v1
kind: Service
metadata:
name: postgres
labels:
app: postgres
spec:
ports:
- name: postgres
port: 5432
nodePort: 30432
type: NodePort
selector:
app: postgres
【问题讨论】:
-
我假设你使用了this 教程。您正在使用
type: local,并且您想使用/mnt/data,在GKE 上是ReadOnly。您可以使用path: /var/lib/test我会在几分钟内为您写一个答案。
标签: postgresql docker google-kubernetes-engine devops google-cloud-registry