持久卷和 OpenShift 3.11
Persistent Volume and OpenShift 3.11
我刚刚安装了 OpenShift-Okd 3.11,正在试用持久性 Postgres 数据库。
尝试创建数据库后,出现以下错误:
MountVolume.SetUp failed for volume "postgresql" :
mount failed: exit status 32 Mounting command: systemd-run Mounting arguments: --description=Kubernetes transient mount for /var/lib/origin/openshift.local.volumes/pods/b76a314a-d59a-11e8-a502-6c626d58b24d/volumes/kubernetes.io~nfs/postgresql --scope -- mount -t nfs apps.mydomain.com:/pg-data /var/lib/origin/openshift.local.volumes/pods/b76a314a-d59a-11e8-a502-6c626d58b24d/volumes/kubernetes.io~nfs/postgresql Output:
Running scope as unit run-7329.scope. mount.nfs: Protocol not supported
我还创建了以下持久卷:
apiVersion: v1
kind: PersistentVolume
metadata:
name: postgresql
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
nfs:
path: /pg-data
server: apps.mydomain.com
persistentVolumeReclaimPolicy: Retain
即使在创建 PV(使用 oc create -f pv.yml
)之后,我仍然会收到上述错误。
看起来您在 apps.mydomain.com
上没有 NFS 服务器 运行ning,您需要有一个 NFS 服务器导出可以远程挂载到 NFS 客户端的目录,在这种情况下是您的Postgres pod.
如果您不确定如何设置 NFS 服务器,可以按照 this guide 在 Kubernetes 中安装它。
您还可以在 RHEL 7 上 运行 NFS server outside Kubernetes if you'd like to. Here's another guide to setup and NFS server。
我刚刚安装了 OpenShift-Okd 3.11,正在试用持久性 Postgres 数据库。
尝试创建数据库后,出现以下错误:
MountVolume.SetUp failed for volume "postgresql" :
mount failed: exit status 32 Mounting command: systemd-run Mounting arguments: --description=Kubernetes transient mount for /var/lib/origin/openshift.local.volumes/pods/b76a314a-d59a-11e8-a502-6c626d58b24d/volumes/kubernetes.io~nfs/postgresql --scope -- mount -t nfs apps.mydomain.com:/pg-data /var/lib/origin/openshift.local.volumes/pods/b76a314a-d59a-11e8-a502-6c626d58b24d/volumes/kubernetes.io~nfs/postgresql Output:
Running scope as unit run-7329.scope. mount.nfs: Protocol not supported
我还创建了以下持久卷:
apiVersion: v1
kind: PersistentVolume
metadata:
name: postgresql
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
nfs:
path: /pg-data
server: apps.mydomain.com
persistentVolumeReclaimPolicy: Retain
即使在创建 PV(使用 oc create -f pv.yml
)之后,我仍然会收到上述错误。
看起来您在 apps.mydomain.com
上没有 NFS 服务器 运行ning,您需要有一个 NFS 服务器导出可以远程挂载到 NFS 客户端的目录,在这种情况下是您的Postgres pod.
如果您不确定如何设置 NFS 服务器,可以按照 this guide 在 Kubernetes 中安装它。
您还可以在 RHEL 7 上 运行 NFS server outside Kubernetes if you'd like to. Here's another guide to setup and NFS server。