• 1. 编译CSI CephFS plugin
    • 1.1. 编译二进制
    • 1.2. 编译Docker镜像
  • 2. 配置项
    • 2.1. 命令行参数
    • 2.2. volume参数
    • 2.3. provisionVolume
      • 2.3.1. 管理员密钥认证
      • 2.3.2. 普通用户密钥认证

    1. 编译CSI CephFS plugin

    CSI CephFS plugin用来提供CephFS存储卷和挂载存储卷,源码参考:https://github.com/ceph/ceph-csi 。

    1.1. 编译二进制

    1. $ make cephfsplugin

    1.2. 编译Docker镜像

    1. $ make image-cephfsplugin

    2. 配置项

    2.1. 命令行参数

    Option Default value Description
    --endpoint unix://tmp/csi.sock CSI endpoint, must be a UNIX socket
    --drivername csi-cephfsplugin name of the driver (Kubernetes: provisioner field in StorageClass must correspond to this value)
    --nodeid empty This node’s ID
    --volumemounter empty default volume mounter. Available options are kernel and fuse. This is the mount method used if volume parameters don’t specify otherwise. If left unspecified, the driver will first probe for ceph-fuse in system’s path and will choose Ceph kernel client if probing failed.

    2.2. volume参数

    Parameter Required Description
    monitors yes Comma separated list of Ceph monitors (e.g. 192.168.100.1:6789,192.168.100.2:6789,192.168.100.3:6789)
    mounter no Mount method to be used for this volume. Available options are kernel for Ceph kernel client and fuse for Ceph FUSE driver. Defaults to “default mounter”, see command line arguments.
    provisionVolume yes Mode of operation. BOOL value. If true, a new CephFS volume will be provisioned. If false, an existing CephFS will be used.
    pool for provisionVolume=true Ceph pool into which the volume shall be created
    rootPath for provisionVolume=false Root path of an existing CephFS volume
    csiProvisionerSecretName, csiNodeStageSecretName for Kubernetes name of the Kubernetes Secret object containing Ceph client credentials. Both parameters should have the same value
    csiProvisionerSecretNamespace, csiNodeStageSecretNamespace for Kubernetes namespaces of the above Secret objects

    2.3. provisionVolume

    2.3.1. 管理员密钥认证

    provisionVolume=true时,必要的管理员认证参数如下:

    • adminID: ID of an admin client
    • adminKey: key of the admin client

    2.3.2. 普通用户密钥认证

    provisionVolume=false时,必要的用户认证参数如下:

    • userID: ID of a user client
    • userKey: key of a user client

    参考文章:

    • https://github.com/ceph/ceph-csi/blob/master/docs/deploy-cephfs.md