1

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

4

1 回答 1

2

看起来你没有运行 NFS 服务器apps.mydomain.com,你需要有一个 NFS 服务器导出目录,可以远程挂载一个 NFS 客户端,在这种情况下是你的 Postgres pod。

如果您不确定如何设置 NFS 服务器,可以按照本指南在 Kubernetes 中安装它。

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

于 2018-10-22T04:10:29.740 回答