rainbond-operator

运行方式

运行于Kubernetes集群内部,POD运行

简要说明

rainbond-operator - 图1tip

rainbond-operator 控制着 Rainbond 所有组件的配置与运行状态,持续的监控各个组件的状态,做出不同的动作,比如,rbd-db 的 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

  1. spec:
  2. configCompleted: true
  3. enableHA: true # 开启高可用安装
  4. gatewayIngressIPs: # 网关对外IP
  5. - xxxx
  6. imageHub:
  7. domain: goodrain.me
  8. password: xxx
  9. username: admin
  10. installVersion: v5.6.0-release # 集群安装版本
  11. nodesForChaos: # 构建节点
  12. - internalIP: 192.168.3.161
  13. name: 192.168.3.161
  14. - internalIP: 192.168.3.161
  15. name: 192.168.3.161
  16. nodesForGateway: # 网关节点
  17. - internalIP: 192.168.3.161
  18. name: 192.168.3.161
  19. rainbondImageRepository: registry.cn-hangzhou.aliyuncs.com/goodrain
  20. regionDatabase: # 集群端数据库
  21. host: xxx
  22. password: xxx
  23. port: 3306
  24. username: region
  25. suffixHTTPHost: xxx.grapps.cn # 平台泛域名
  26. uiDatabase: # 控制台数据库
  27. host: xxx
  28. password: xxx
  29. port: 3306
  30. username: console
  31. version: v5.2.2-release # 集群版本

rbdcomponents.rainbond.io

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

  1. # 查询组件
  2. kubectl get rbdcomponents.rainbond.io -n rbd-system
  3. # 编辑 rbdcomponents 所有组件配置
  4. kubectl edit rbdcomponents.rainbond.io -n rbd-system
  5. # 编辑 rbdcomponents rbd-api 配置
  6. kubectl edit rbdcomponents.rainbond.io rbd-api -n rbd-system