(пользователь nobody для nfs), и он показал ту же ошибку.

я есть кластер kubernetes, который работает в сети, и я настроил сервер NFS на другой машине в той же сети. Я могу SSH к любому из узлов в кластере и монтировать с сервера, запустивsudo mount -t nfs 10.17.10.190:/export/test /mnt но всякий раз, когда мой тестовый модуль пытается использовать постоянный том nfs, который указывает на этот сервер, он выдает следующее сообщение:

Events:
  FirstSeen LastSeen    Count   From            SubObjectPath   Type       Reason       Message
  --------- --------    -----   ----            -------------   --------    ------      -------
  19s       19s     1   default-scheduler           Normal      Scheduled   Successfully assigned nfs-web-58z83 to wal-vm-newt02
  19s       3s      6   kubelet, wal-vm-newt02          Warning     
FailedMount MountVolume.SetUp failed for volume "kubernetes.io/nfs/bad55e9c-7303-11e7-9c2f-005056b40350-test-nfs" (spec.Name: "test-nfs") pod "bad55e9c-7303-11e7-9c2f-005056b40350" (UID: "bad55e9c-7303-11e7-9c2f-005056b40350") with: mount failed: exit status 32
Mounting command: mount
Mounting arguments: 10.17.10.190:/exports/test /var/lib/kubelet/pods/bad55e9c-7303-11e7-9c2f-005056b40350/volumes/kubernetes.io~nfs/test-nfs nfs []
Output: mount.nfs: access denied by server while mounting 10.17.10.190:/exports/test

Кто-нибудь знает, как я могу это исправить и сделать так, чтобы я мог монтировать с внешнего сервера NFS?

Узлы кластера работают на10.17.10.185 - 10.17.10.189 и все модули работают с ips, которые начинаются с10.0.x.x, Все узлы в кластере и NFS-сервер работают под управлением Ubuntu. Сервер NFS работает на10.17.10.190 с этим/etc/exports:

/export         10.17.10.185/255.0.0.0(rw,sync,no_subtree_check)

Я настроил постоянный том и постоянное требование тома, и они оба создают успешно, показывая этот вывод из работыkubectl get pv,pvc:

NAME          CAPACITY   ACCESSMODES   RECLAIMPOLICY   STATUS    CLAIM              STORAGECLASS   REASON    AGE
pv/test-nfs   1Mi        RWX           Retain          Bound     staging/test-nfs                            15m

NAME           STATUS    VOLUME     CAPACITY   ACCESSMODES   STORAGECLASS   AGE
pvc/test-nfs   Bound     test-nfs   1Mi        RWX                          15m

Они были созданы так:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: test-nfs
spec:
  capacity:
    storage: 1Mi
  accessModes:
    - ReadWriteMany
  nfs:
    # FIXME: use the right IP
    server: 10.17.10.190
    path: "/exports/test"
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: test-nfs
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1Mi

Мой тестовый модуль использует эту конфигурацию:

apiVersion: v1
kind: ReplicationController
metadata:
  name: nfs-web
spec:
  replicas: 1
  selector:
    role: web-frontend
  template:
    metadata:
      labels:
        role: web-frontend
    spec:
      containers:
      - name: web
        image: nginx
        ports:
          - name: web
            containerPort: 80
        volumeMounts:
            # name must match the volume name below
            - name: test-nfs
              mountPath: "/usr/share/nginx/html"
      volumes:
      - name: test-nfs
        persistentVolumeClaim:
          claimName: test-nfs

Ответы на вопрос(1)

Ваш ответ на вопрос