Skip to main content
Version: V6.2

概述

概述

本运维指南旨在帮助运维人员更好地管理和维护 Rainbond 平台。Rainbond 是一个云原生应用管理平台,由 Console(控制台)、Region(集群端) 和 Kubernetes 三大核心部分组成。作为运维人员,需要关注以下几个主要方面:

核心组件

Rainbond 的核心组件包括:

控制台组件(Console)

  • 负责平台的 Web 界面展示和用户交互
  • 负责跟多个 Region 端交互
  • 仅支持在 K8S 中以 Pod 方式部署(rbd-app-ui)

集群端组件(Region)

rbd-api 接口服务

Region 端 API 服务,提供 Region 端接口。

组件版本控制器类型
rbd-apiv6.xDeployment
rbd-chaos 应用构建服务

rbd-chaos 是应用构建服务,提供源码,Docker镜像等方式创建应用以及导入导出应用包。

组件版本控制器类型
rbd-chaosv6.xDaemonset
rbd-db 数据库服务

rbd-db 是数据库服务,支持MySQL 5.7 8.0。可对接外置数据库

组件版本控制器类型
rbd-db8.0Statefulset
rbd-gateway 应用全局网关

rbd-gateway 是应用的全局网关,它是基于 APISIX 封装,提供应用的统一入口。

组件版本控制器类型
apisix3.9.1-debianDeployment
apisix-ingress-controllerv1.8.3Deployment
rbd-hub 镜像存储服务

rbd-hub 是基于 Docker Registry 封装,提供镜像存储服务。可配置外部镜像仓库

组件版本控制器类型
rbd-hubv6.xDeployment

推送镜像到 rbd-hub 仓库

  1. 登录私有镜像仓库
docker login goodrain.me -uadmin -padmin1234
  1. 推送镜像
# 修改镜像名字
docker tag nginx goodrain.me/nginx:v1
# push镜像
docker push goodrain.me/nginx:v1
rbd-mq 消息队列服务

rbd-mq 是消息队列服务,提供消息队列功能。

组件版本控制器类型
rbd-mqv6.xDeployment
rbd-monitor 监控服务

rbd-monitor 是监控服务,基于 Prometheus 封装,提供平台与组件的资源监控。

组件版本控制器类型
rbd-monitorv2.20.0Deployment
rbd-worker 应用操作与服务处理

rbd-worker 是应用操作与服务处理(跟组件、应用相关的操作都是由该组件执行)。

组件版本控制器类型
rbd-workerv6.xDeployment
local-path-provisioner 本地存储服务

local-path-provisioner 是本地存储服务,提供组件的本地存储功能。

组件版本控制器类型
local-path-provisionerv0.0.30Deployment
minio 对象存储服务

minio 是对象存储服务,是离线导入导出应用包的存储服务。

组件版本控制器类型
minioRELEASE.2023-10-24T04-42-36ZDeployment
rainbond-operator 集群维护服务

rainbond-operator 控制着 Rainbond 所有组件的配置与运行状态,持续的监控各个组件的状态,做出不同的动作,比如,rbd-api 的 pod 实例被删除或者参数修改了,operator立即会做出反馈。

rainbond-operator 是基于 kubebuilder 实现。

在安装集群端时,首先会安装 rainbond-operator,接下来会创建一些 CRD 资源,如下:

  • rainbondclusters.rainbond.io
  • rbdcomponents.rainbond.io

rainbondclusters.rainbond.io

rainbondclusters.rainbond.io 是集群端的配置文件,例如设置网关节点、构建节点等。

在安装了集群后,我们可以通过此 CRD 资源来修改网关节点、构建节点、数据库连接信息等。

kubectl edit rainbondclusters.rainbond.io -n rbd-system
spec:
gatewayIngressIPs: # 网关对外IP
- xxxx
imageHub:
domain: goodrain.me
password: xxx
username: admin
nodesForChaos: # 构建节点
name: 192.168.3.161
name: 192.168.3.162
nodesForGateway: # 网关节点
- externalIP: 192.168.3.161
internalIP: 192.168.3.161
name: 192.168.3.161
- externalIP: 192.168.3.162
internalIP: 192.168.3.162
name: 192.168.3.162
rainbondImageRepository: registry.cn-hangzhou.aliyuncs.com/goodrain
regionDatabase: # 集群端数据库
host: xxx
password: xxx
port: 3306
username: region
uiDatabase: # 控制台数据库
host: xxx
password: xxx
port: 3306
username: console
installVersion: v6.x.x-release # 集群安装版本
suffixHTTPHost: xxx.nip.io # 平台泛域名

rbdcomponents.rainbond.io

rbdcomponents.rainbond.io 是控制台集群端所有 POD 的 CRD 资源,会创建出所有控制器以及POD,也可以在安装完成后修改对应组件的配置。

# 查询组件
kubectl get rbdcomponents.rainbond.io -n rbd-system

# 编辑 rbdcomponents 所有组件配置
kubectl edit rbdcomponents.rainbond.io -n rbd-system

# 编辑 rbdcomponents rbd-api 配置
kubectl edit rbdcomponents.rainbond.io rbd-api -n rbd-system