Kubernetes nfs provisioner可以';无法创建共享文件夹 环境

Kubernetes nfs provisioner可以';无法创建共享文件夹 环境,kubernetes,openshift,nfs,Kubernetes,Openshift,Nfs,Openshift版本:v4.3.8 Kubernetes版本:v1.16.2 已用映像:quay.io/external_storage/nfs客户端供应器:最新 问题 storageclass.yaml RBAC 供给者 应用这些yaml文件后,似乎一切正常。 pv和pvc创建良好,供应器日志成功 $oc获取pv,pvc 名称容量访问模式回收策略状态声明存储类原因期限 持久卷/pvc-3f5fa5dd-19a0-40d1-bd07-aa3b8c5e7dee 100Mi RWX删除绑定卷00/

Openshift版本:v4.3.8
Kubernetes版本:v1.16.2
已用映像:quay.io/external_storage/nfs客户端供应器:最新

问题 storageclass.yaml RBAC 供给者 应用这些yaml文件后,似乎一切正常。
pv和pvc创建良好,供应器日志成功

$oc获取pv,pvc
名称容量访问模式回收策略状态声明存储类原因期限
持久卷/pvc-3f5fa5dd-19a0-40d1-bd07-aa3b8c5e7dee 100Mi RWX删除绑定卷00/nfs pvc测试nfs存储类4s
名称状态卷容量访问模式STORAGECLASS年龄
persistentvolumeclaim/nfs pvc测试绑定pvc-3f5fa5dd-19a0-40d1-bd07-aa3b8c5e7dee 100Mi RWX nfs存储类13s
#供应器日志
$oc日志nfs-provisioner-6f4df6b8dc-v9n8j
I0615 02:10:08.298618 1 leaderelection.go:185]正在尝试获取leader租赁卷00/nfs-test-00。。。
I0615 02:10:25.688121 1 leaderelection.go:194]已成功获取租赁卷00/nfs-test-00
I0615 02:10:25.688297 1控制器。转到:631]启动供应器控制器nfs-test-00\u nfs-provisioner-6f4df6b8dc-v9n8j\u 55f60825-aead-11ea-86ce-0a580a810020!
I0615 02:10:25.688515 1 event.go:221]事件(v1.ObjectReference{Kind:“Endpoints”,命名空间:“volume00”,名称:“nfs-test-00”,UID:“c768d62e-b541-4f92-8c1c-60ce9df92f40”,APIVersion:“v1”,ResourceVersion:“437394”,字段路径:“}):类型:“正常”原因:“LeaderElection”nfs-provisioner-6f4df6b8dc-v9n8j_55f60825-aead-11ea-86ce-0a580a810020成为leader
I0615 02:10:25.788548 1控制器。转到:680]已启动供应器控制器nfs-test-00_nfs-provisioner-6f4df6b8dc-v9n8j_55f60825-aead-11ea-86ce-0a580a810020!
I0615 02:10:25.788603 1控制器。转到:1158]删除“pvc-133a671b-69f1-4d4e-911e-67065b4b4482”:开始
I0615 02:10:25.788716 1控制器。转到:987]提供“卷00/nfs pvc测试”类“nfs存储类”:已开始
I0615 02:10:25.790776 1控制器。转到:1087]提供“卷00/nfs pvc测试”类“nfs存储类”:提供卷“pvc-3f5fa5dd-19a0-40d1-bd07-aa3b8c5e7dee”
I0615 02:10:25.790792 1控制器。转到:1101]设置“卷00/nfs pvc测试”类“nfs存储类”:尝试保存持久卷“pvc-3f5fa5dd-19a0-40d1-bd07-aa3b8c5e7dee”
I0615 02:10:25.790818 1 event.go:221]事件(v1.ObjectReference{Kind:“PersistentVolumeClaim”,命名空间:“volume00”,名称:“nfs pvc测试”,UID:“3f5fa5dd-19a0-40d1-bd07-aa3b8c5e7dee”,APIVersion:“v1”,ResourceVersion:“437362”,FieldPath:}):类型:“正常”原因:“设置”外部设置器是请求的设置卷“卷00/nfs pvc测试”
W0615 02:10:25.792033 1 provisioner.go:104]路径/persistentvolumes/volume00-nfs-pvc-test-pvc-133a671b-69f1-4d4e-911e-67065b4b4482不存在,已跳过删除
I0615 02:10:25.792048 1控制器。转到:1186]删除“pvc-133a671b-69f1-4d4e-911e-67065b4b4482”:删除卷
I0615 02:10:25.793796 1控制器。转到:1108]提供“卷00/nfs pvc测试”类“nfs存储类”:保存持久卷“pvc-3f5fa5dd-19a0-40d1-bd07-aa3b8c5e7dee”
I0615 02:10:25.793819 1控制器。转到:1149]设置“volume00/nfs pvc测试”类“nfs存储类”:成功
I0615 02:10:25.793866 1 event.go:221]事件(v1.ObjectReference{Kind:“PersistentVolumeClaim”,命名空间:“volume00”,名称:“nfs pvc测试”,UID:“3f5fa5dd-19a0-40d1-bd07-aa3b8c5e7dee”,APIVersion:“v1”,ResourceVersion:“437362”,字段路径:“}):类型:“正常”原因:“ProvisioningSucceed”已成功调配卷pvc-3f5fa5dd-19a0-40d1-bd07-aa3b8c5e7dee
I0615 02:10:25.794970 1控制器。转到:1196]删除“pvc-133a671b-69f1-4d4e-911e-67065b4b4482”:持久卷已删除
I0615 02:10:25.794985 1控制器。转到:1198]删除“pvc-133a671b-69f1-4d4e-911e-67065b4b4482”:成功
看起来不错!但是当我检查我的NFS时,没有创建任何文件夹

nfs客户端供应器似乎无法在nfs服务器中创建文件夹

顺便说一下,我可以挂载文件夹在我的工人节点,并可以使文件夹作为我可以


现在我对这种情况感到困惑。为什么即使provisioner日志已成功,nfs客户端provisioner仍无法在nfs中创建文件夹?

为什么您的卷已声明但未装入pod?与步骤4类似,请注意它可能与旧版本的k8s不一样。您是否已设法解决此问题?@HelloWorld Nope,仍在寻找。你有什么想法吗?我正在尝试使用helm chart:,但无法获得声明…为什么你的卷已声明但未装入pod?与第4步类似,请注意它可能与旧版本的k8s不一样。你解决了问题吗?@HelloWorld no,仍在寻找。你有什么想法吗?我很抱歉试图使用舵图:,但无法获得索赔。。。
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: nfs-storageclass # IMPORTANT pvc needs to mention this name
provisioner: nfs-test-00 # name can be anything
parameters:
  archiveOnDelete: "false"
kind: ServiceAccount
apiVersion: v1
metadata:
  name: nfs-pod-provisioner-sa
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: nfs-provisioner-runner
rules:
  - apiGroups: [""]
    resources: ["persistentvolumes"]
    verbs: ["get", "list", "watch", "create", "delete"]
  - apiGroups: [""]
    resources: ["persistentvolumeclaims"]
    verbs: ["get", "list", "watch", "update"]
  - apiGroups: ["storage.k8s.io"]
    resources: ["storageclasses"]
    verbs: ["get", "list", "watch"]
  - apiGroups: [""]
    resources: ["events"]
    verbs: ["create", "update", "patch"]
#  - apiGroups: [""]
#    resources: ["services", "endpoints"]
#    verbs: ["get"]
#  - apiGroups: ["extensions"]
#    resources: ["podsecuritypolicies"]
#    resourceNames: ["nfs-provisioner"]
#    verbs: ["use"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: run-nfs-provisioner
subjects:
  - kind: ServiceAccount
    name: nfs-pod-provisioner-sa
    namespace: volume00
roleRef:
  kind: ClusterRole
  name: nfs-provisioner-runner
  apiGroup: rbac.authorization.k8s.io
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: leader-locking-nfs-provisioner
rules:
  - apiGroups: [""]
    resources: ["endpoints"]
    verbs: ["get", "list", "watch", "create", "update", "patch"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: leader-locking-nfs-provisioner
subjects:
  - kind: ServiceAccount
    name: nfs-pod-provisioner-sa
    namespace: volume00
roleRef:
  kind: Role
  name: leader-locking-nfs-provisioner
  apiGroup: rbac.authorization.k8s.io
kind: Deployment
apiVersion: apps/v1
metadata:
  name: nfs-provisioner
spec:
  selector:
    matchLabels:
      app: nfs-provisioner
  replicas: 1
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: nfs-provisioner
    spec:
      serviceAccount: nfs-pod-provisioner-sa
      containers:
        - name: nfs-provisioner
          image: quay.io/external_storage/nfs-client-provisioner:latest
          env:
            - name: PROVISIONER_NAME # do not change
              value: nfs-test-00 # SAME AS PROVISONER NAME VALUE IN STORAGECLASS
            - name: NFS_SERVER # do not change
              value: x.x.x.x # Ip of the NFS SERVER
            - name: NFS_PATH # do not change
              value: /share/00  # path to nfs directory setup
          imagePullPolicy: "IfNotPresent"
          volumes:
            - name: nfs-provisioner-v # same as volumemouts name
              nfs:
                server: x.x.x.x
                path: /share/00