初始化集群时如果不配置存储,则默认安装 NFS 作为存储。

本文介绍对接外部存储的三种方式:

  • 对接阿里云 NAS
  • 对接 GlusterFS
  • 对接其他 StorageClass

对接阿里云NAS

在集群初始化时修改以下参数,参考集群初始化配置

在阿里云NAS页面获取server地址,替换下面 NAS_SERVER_ADDR。

  1. apiVersion: rainbond.io/v1alpha1
  2. kind: RainbondCluster
  3. metadata:
  4. name: rainbondcluster
  5. namespace: rbd-system
  6. spec:
  7. rainbondVolumeSpecRWX:
  8. csiPlugin:
  9. aliyunNas: {}
  10. storageClassParameters:
  11. mountOptions:
  12. - "nolock,tcp,noresvport"
  13. - "vers=4"
  14. - "minorversion=0"
  15. - "rsize=1048576"
  16. - "wsize=1048576"
  17. - "timeo=600"
  18. - "retrans=2"
  19. - "hard"
  20. parameters:
  21. volumeAs: subpath
  22. archiveOnDelete: "true"
  23. server: <NAS_SERVER_ADDR>

对接GlusterFS

参考安装Gluster分布式存储文档进行安装。

安装完成后,在集群初始化时修改以下参数,参考集群初始化配置

通过命令 kubectl get sc 获取 storageClassName 替换 GFS_CLASS_NAME。

如有挂载参数请在 storageClassParameters 中指定。

  1. apiVersion: rainbond.io/v1alpha1
  2. kind: RainbondCluster
  3. metadata:
  4. name: rainbondcluster
  5. namespace: rbd-system
  6. spec:
  7. rainbondVolumeSpecRWX:
  8. storageClassName: <GFS_CLASS_NAME>
  9. storageClassParameters: {}
  10. # mountOptions:
  11. # - "vers=4"

对接其他StorageClass

如需对接其他 StorageClass,Rainbond的要求如下:

  • StorageClass创建出来的PV必须是 spec.nfs spec.glusterfs,以下是示例:
  1. spec:
  2. accessModes:
  3. - ReadWriteMany
  4. capacity:
  5. storage: 1Gi
  6. # nfs or glusterfs
  7. nfs:
  8. path: /export/pvc-94cd9160-adba-4950-a7b0-ed6779ec13fb
  9. server: 10.43.92.23
  10. persistentVolumeReclaimPolicy: Retain
  11. storageClassName: rainbondvolumerwx
  12. volumeMode: Filesystem

如上述内容确认没问题,在集群初始化时修改以下参数,参考集群初始化配置

通过命令 kubectl get sc 获取 storageClassName 替换 CLASS_NAME。

如有挂载参数请在 storageClassParameters 中指定。

  1. apiVersion: rainbond.io/v1alpha1
  2. kind: RainbondCluster
  3. metadata:
  4. name: rainbondcluster
  5. namespace: rbd-system
  6. spec:
  7. rainbondVolumeSpecRWX:
  8. storageClassName: <CLASS_NAME>
  9. storageClassParameters: {}
  10. # mountOptions:
  11. # - "vers=4"
  • 如需对接外部NFS存储请参考文档