下面是存储类和密钥的配置文件:

---
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: ceph-rbd
  annotations:
    kubesphere.io/creator: admin
    kubesphere.io/provisioner: ceph.com/rbd
    storageclass.kubesphere.io/support-snapshot: 'false'
    storageclass.kubesphere.io/supported-access-modes: '["ReadWriteOnce","ReadOnlyMany"]'
provisioner: ceph.com/rbd
parameters:
  adminId: admin
  adminSecretName: rbd-admin-sec
  adminSecretNamespace: dafault
  fsType: ext4
  imageFeatures: layering
  imageFormat: '2'
  monitors: '192.168.17.81:6789'
  pool: kube2
  userId: admin
  userSecretName: rbd-admin-sec
  userSecretNamespace: dafault
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: Immediate
---
kind: Secret
apiVersion: v1
metadata:
  name: rbd-admin-sec
  namespace: default
  annotations:
    kubesphere.io/creator: admin
data:
  key: AQBaZKVdvbXOKRAA9BtOa8JGn8kWwtBIgKTUUA==
type: kubernetes.io/rbd

创建卷后一直等待中,如图:

应该有一个rbd provisioner pod, 你看一下这个pod的日志

    ceph rbd,为什么用这个?这个情况pod不可以跨主机调度吧

    pod可以跨主机调度的。只不过同一个pv不能同时挂载到两个node上面。
    在一个node上面卸载,然后就可以在另外一个node上面挂载了。

      andrew_li
      我没有找到rbd provisioner pod,只有一个local provisioner

      [root@node4 ~]# kubectl get pods --all-namespaces | grep rbd
      [root@node4 ~]# kubectl get pods --all-namespaces | grep provisioner
      kube-system                    openebs-localpv-provisioner-84956ddb89-vwfjt        1/1     Running            1          16h

      要配置ceph-rbd存储,必须再安装kubsphere时,在config-sample.yaml的spc.addons下配置吗?
      我没在addons下配置ceph-rbd。我是在页面中直接添加的存储类型。

        @andrew_li
        另外,我在apc.addons下配置的nfs存储也没有安装成功,下面是配置文件内容
        /root/config-sample.yaml addons:

          addons:
          - name: nfs-client
            namespace: kube-system
            source:
              chart:
                name: nfs-client-provisioner
                repo: https://charts.kubesphere.io/main
                values: /root/nfs-client.yaml

        /root/nfs-client.yaml:

        nfs:
          server: "192.168.17.81"    # <--ToBeReplaced->
          path: "/cephfs"    # <--ToBeReplaced->
          mountOptions:
            nfsvers: 4
        storageClass:
          defaultClass: false

        我在创建卷时,项目选择的kube-system,但存储类型没有除laocl以外的存储选项。

          kopnono 你可以在ks安装完成后,再安装ceph-rbd plugin,参考这里https://kubesphere.io/docs/cluster-administration/persistent-volume-and-storage-class/#ceph-rbd。简单来说,你需要用helm安装ceph-rbd chart (https://github.com/kubesphere/helm-charts/tree/master/src/test/rbd-provisioner),然后才能使用ceph-rbd去创建存储卷。当然,这一切的前提是,你已经有一个可用的ceph集群。

          kopnono nfs存储没有安装成功,那错误是什么呢?集群里有没有nfs provisioner的pod在跑?nfs server是不是已经配置好了?

            stoneshi-yunify
            安装日志没有报nfs服务安装的异常,但是集群里也没有nfs provisoner的pod。我用的cephfs+ganesha导出的nfs服务,在kubesphere节点手动测试挂载nfs无异常,就是挂载比较慢,5至8秒才挂载完成,挂载命令和输出如下:

            [root@kubesphere-1 ~]# mount -t nfs4 192.168.17.81:/cephfs /mnt/
            [root@kubesphere-1 ~]# df -h|grep cephfs
            192.168.17.81:/cephfs  9.1T  308G  8.8T   4% /mnt
            [root@kubesphere-1 ~]# 
              2 个月 后
              1 年 后

              楼主解决了吗?我建了ceph-rbd的时候也无法创建卷