持久卷和OpenShift 3.11

时间:2018-10-22 03:04:27

标签: kubernetes openshift openshift-origin okd

我刚刚安装了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),我仍然遇到上述错误。

1 个答案:

答案 0 :(得分:2)

好像您没有在apps.mydomain.com上运行NFS服务器,您需要有一台NFS服务器导出可远程安装在NFS客户端上的目录,在本例中为Postgres pod。

如果不确定如何设置NFS服务器,可以按照this guide将其安装在Kubernetes中。

如果愿意,您还可以在Kubernetes之外运行NFS server。这是在RHEL 7上进行设置和NFS server的另一指南。