【问题标题】:Persistent Volume and OpenShift 3.11持久卷和 OpenShift 3.11
【发布时间】:2018-10-22 03:04:27
【问题描述】:

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

【问题讨论】:

  • 你用的是什么 NFS 服务器?
  • 我正在(尝试)使用Okd系统的主机,centos7最小。
  • 你那里有 NFS 服务器运行吗?
  • NFS 服务器是什么意思?我以为 NFS 只是挂载一个本地卷。
  • 您需要一个,如果您使用的是 NFS,请检查答案。如果您想要主机上的本地目录,您可以使用 Kubernetes 中的“HostPath”卷

标签: kubernetes openshift openshift-origin okd


【解决方案1】:

看起来您没有在 apps.mydomain.com 上运行 NFS 服务器,您需要有一个 NFS 服务器导出目录,可以远程挂载 NFS 客户端,在本例中是您的 Postgres pod。

如果不确定如何设置 NFS 服务器,可以关注this guide 将其安装到 Kubernetes。

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

【讨论】:

    猜你喜欢
    • 2016-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-02
    • 1970-01-01
    • 1970-01-01
    • 2018-07-24
    • 2017-12-16
    相关资源
    最近更新 更多