我刚刚安装了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
),我仍然遇到上述错误。
答案 0 :(得分:2)
好像您没有在apps.mydomain.com
上运行NFS服务器,您需要有一台NFS服务器导出可远程安装在NFS客户端上的目录,在本例中为Postgres pod。
如果不确定如何设置NFS服务器,可以按照this guide将其安装在Kubernetes中。
如果愿意,您还可以在Kubernetes之外运行NFS server。这是在RHEL 7上进行设置和NFS server的另一指南。