Skip to main content
Version: v5.2

基于 K8s 高可用安装

本文描述如何在已有的高可用 Kubernetes 集群上安装高可用的 Rainbond 集群,适用于生产环境。

开始之前

在开始安装部署之前,需要准备以下资源:

  • 高可用的 Kubernetes 集群, 且版本大于等于 1.13
  • 高可用的共享存储,本文以 Glusterfs 为例,参考 Glusterfs分布式存储
  • 高可用的数据库,如 MySQL 8.0 数据库集群或 RDS 数据库服务,创建 consoleregion 两个数据库。
  • ETCD 集群,可以复用 Kubernetes 集群已有的 ETCD 集群。

使用 Helm 3 安装 Rainbond Operator

推荐使用 Helm 来安装 Rainbond Opeartor。

安装 Helm 3

使用以下命令镜像安装(如果已安装了 Helm 3,可以跳过这一步骤):

wget https://goodrain-pkg.oss-cn-shanghai.aliyuncs.com/pkg/helm && chmod +x helm && mv helm /usr/local/bin/

通过以下方式,验证 Helm 已经安装成功:

helm version

安装 Rainbond Operator

  1. 创建 namespace, 推荐使用 rbd-system

    kubectl create ns rbd-system
  2. 添加 Rainbond Operator 的 chart 仓库:

    helm repo add rainbond https://openchart.goodrain.com/goodrain/rainbond
  3. 安装 Rainbond Operator

    helm install rainbond-operator rainbond/rainbond-operator \
    --namespace rbd-system \
    --version 1.1.1
  4. 确认状态

    $ kubectl get pod -n rbd-system
    NAME READY STATUS RESTARTS AGE
    rainbond-operator-0 2/2 Running 0 110s

高可用安装 Rainbond

访问 Rainbond Operator,开始安装 Rainbond。

1 访问 Rainbond Operator

打开浏览器,输入主机 IP 地址:http://<SERVER_IP>:30008. 可以通过以下命令获取 SERVER_IP

echo $(kubectl get po rainbond-operator-0 -n rbd-system -o jsonpath="{..hostIP}")

注意,获取到的 SERVER_IP 是内网地址,请根据实际情况直接使用或替换为外网地址。

2 配置安装模式

3 配置镜像仓库

选择 新安装镜像仓库(支持HA),将会在安装过程中自动安装支持高可用的镜像仓库。

选择 提供已有的镜像仓库,则需要用户提供已存在的镜像仓库的 域名、空间名称、用户名以及密码。

4 配置数据中心数据库

高可用安装环境下,用户务必提供外接高可用的 Mysql 8.0 数据库,该数据库中需要提前创建 region 数据库:

5 配置控制台数据库

高可用安装环境下,用户务必提供外接高可用的 Mysql 8.0 数据库,该数据库中需要提前创建 console 数据库:

6 配置 ETCD

选择 新安装ETCD(支持HA),将会在安装过程中自动安装支持高可用的 ETCD 集群:

选择 提供已有的 ETCD,则需要用户提供已存在的 ETCD 集群实例地址列表:

复用Kubernetes ETCD

  • ETCD地址格式为: IP:PORT 或者 Domain:PORT

    请确认是否通过文档 kubernetes的高可用安装,如不是请确认ETCD地址 Domain:PORT 是否正常或更换ETCD地址为 IP:PORT

  • TLS认证打开:

    • CA证书:/etc/kubernetes/ssl/ca.pem
    • 客户端证书:/etc/etcd/ssl/etcd.pem
    • 客户端密钥:/etc/etcd/ssl/etcd-key.pem

7 配置网关节点

高可用环境中,至少选择 2 个节点作为集群 网关节点 , 默认会选择 Kubernetes 集群中符合条件的 master 节点作为网关节点。

如果你的集群中没有 master 节点(比如使用了各类公有云服务商提供的托管集群),那么你可以 搜索选择 2 个 80、443、6060、7070、8443、10254、18080、18081 端口没有被占用的 node 节点,作为网关节点。

> 提示:如果你无法搜索并选择一个网关 IP,请参考[无法选择网关节点](../../user-operations/install/troubleshooting/#无法选择网关节点)。

8 配置构建服务运行节点

高可用环境中,至少选择 2 个节点作为集群 构建服务运行节点 , 默认会选择 Kubernetes 集群中符合条件的 master 节点作为网关节点。

如果你的集群中没有 master 节点(比如使用了各类公有云服务商提供的托管集群),那么你可以 搜索选择 2 个 node 节点(建议节点具备访问公网的能力),作为构建服务运行节点。

9 配置分配默认域名

当集群具备访问公网的能力时,开启此项功能(默认),该功能可以为集群分配一个可以被公网解析的泛解析域名。

当集群不具备访问公网的能力时,关闭该功能。

10 配置网关公网IP

高可用环境中,该选项为 必填,且只可以在以下两个选项中选择:

11 配置共享存储

在高可用环境,务必提供已有的共享存储:

使用集群中已有的 StorageClass,该存储必须支持多读多写(RWX),如果用户已经安装 Glusterfs分布式存储 或 已经 对接外部NFS存储 则可以直接选择:

如果是阿里云环境,推荐使用 `阿里云 NAS`:

12 配置块设备存储

该选项非必填。

如集群内存在已部署好的 块设备存储驱动 则可以直接选择,如 ceph-rbd块存储

如果是阿里云环境,可以选择 阿里云盘

配置完成后,单击 下一步

13 安装环境检测

Rainbond-Operator 将会自动检测安装环境,全部通过后,点击 检测通过,开始安装

如果安装受阻,可以参考故障排查,或联系相应管理人员。

验证安装

当安装的进度全部走完,会跳转到以下页面:

image-20200204141936123

说明已经安装完成。点击 访问地址,注册并开始使用 Rainbond。

问题排查

在安装和使用过程中出现问题请参考安装过程故障排除文档集群问题诊断文档

安装命令行工具

为了方便运维管理集群请参照文档安装 grctl 命令行工具。

卸载

卸载程序将删除 RBAC 权限,rbd-system 命名空间和所有相关资源。

卸载 Rainbond

访问 Rainbond Operator 的 UI 界面,单击 卸载 即可。

卸载 Rainbond Operator

helm delete rainbond-operator -n rbd-system