【经验分享】安装高可用的Rainbond,高可用的共享存储是必要的吗

Rainbond版本:5.2
如题~
安装高可用的Rainbond,高可用的共享存储是必要的吗
没有的话,还能正常使用吗

目前版本,选择高可用安装后,在配置共享存储步骤,一定 会要求用户提供可用的高可用存储。这种存储是以识别到 K8s 集群内存在可用的 StorageClass 为前提的。

这样做的目的,是因为高可用环境一定要提供外部存储来实现数据高可用。

对于共享存储,Rainbond 的要求如下:

  • 支持 Nfs 协议(默认 v4,指定协议版本 v3 会在后续迭代中加入)
  • 支持文件锁 原因详见 如何保证 NFS 文件锁的一致性?
  • 支持常见的 NFS 参数,务必开启 no_root_squash

基于这些要求,Rainbond 官方文档中推荐的 Glusterfs 可以满足这个要求。同时,还可以有以下选择:

  • 常见的 NAS 设备。NAS 是基于 Nfs 协议实现的硬件存储设备,从硬件层面已经实现了高可用性。
  • 自行搭建的 nfs-server。nfs 是最常见的软件实现的共享存储,但是本身不支持高可用,生产环境并不推荐

当用户具备上述类型的共享存储时,可以通过下面这个项目,在 K8s 集群中,创建一个基于 Nfs-client 的 StorageClass , 在安装 Rainbond 时,就可以在配置共享存储的步骤选择了:

这些工作应该在安装 Rainbond Operator 之前完成。

PS:所以,如果用户在验证 Rainbond 阶段,不想费力搞一套高可用的存储,又希望安装高可用,那么安装 Nfs 就可以满足你的需要。但是记得不要在生产 Rainbond 环境中这么做 !!!!

minio是否可以替换Glusterfs,因为我们目前用的是minio

minio 是基于 S3 协议的对象存储,本身不能提供共享存储的功能,或者说,二者就不是同一层次的东西。所以也不能使用它。

再者,K8s 官方并没有提供 Minio 的 StorageClass。