Chart 安装选项

本文档描述 Rainbond Helm Chart 的安装配置选项

安装Rainbond

您可以配置values.yaml文件来个性化安装Rainbond

1: 首先您要添加和更新仓库

  1. helm repo add rainbond https://openchart.goodrain.com/goodrain/rainbond
  2. helm repo update
  3. kubectl create namespace rbd-system

2: 编辑配置文件

编写下方values.yaml文件

Helm Chart values.yaml 完整示例

values.yaml

  1. #############################################
  2. #
  3. # Copyright 2023 Goodrain Co., Ltd.
  4. #
  5. # This version of the GNU Lesser General Public License incorporates
  6. # the terms and conditions of version 3 of the GNU General Public License.
  7. #
  8. #############################################
  9. # Default values for mychart.
  10. # This is a YAML-formatted file.
  11. # Declare variables to be passed into your templates.
  12. ## Install Default RBAC roles and bindings
  13. rbac:
  14. create: true
  15. apiVersion: v1
  16. ## Service account name and whether to create it
  17. serviceAccount:
  18. create: true
  19. name: rainbond-operator
  20. # Use K3s Containerd
  21. useK3sContainerd: false
  22. # rainbondOperator
  23. operator:
  24. name: rainbond-operator
  25. ## env:
  26. ## variable_name: variable
  27. image:
  28. name: registry.cn-hangzhou.aliyuncs.com/goodrain/rainbond-operator
  29. tag: v5.16.0-release
  30. pullPolicy: IfNotPresent
  31. logLevel: 4
  32. #############################################
  33. # Rainbondcluster install Configuration
  34. #############################################
  35. Cluster:
  36. # 针对于Rainbond平台的高可用,而不是针对自己业务的高可用
  37. # Enable the HA installation
  38. enableHA: false
  39. # Enable cluster environment detectio
  40. enableEnvCheck: true
  41. # Use an external image repository
  42. # 定义是否使用外部镜像镜像仓库,true为开,false为关,需要用户提供已存在的镜像仓库的 域名、空间名称、用户名以及密码。
  43. # 开启的好处:不占用本地储存空间,解耦合
  44. # 开启的弊端:push或者pull镜像时候,可能公网访问镜像仓库,受限于网络传输速度。
  45. imageHub:
  46. enable: false
  47. domain: registry.cn-hangzhou.aliyuncs.com
  48. namespace: rainbond
  49. password: admin
  50. username: admin
  51. # external ETCD, ref: https://www.rainbond.com/docs/installation/ha-deployment/overview/#%E5%85%AB%E5%A4%8D%E7%94%A8-kubernetes-etcd
  52. # Rainbond 集群需要使用 ETCD 用来存储集群的元数据信息,集群状态和网络配置,通常情况下复用 Kubernetes 的 ETCD 即可。看上方链接在安装好k8s之后,执行命令复用k8s ETCD
  53. etcd:
  54. enable: false
  55. endpoints:
  56. - 192.168.0.1:2379
  57. - 192.168.0.2:2379
  58. - 192.168.0.3:2379
  59. secretName: "rbd-etcd-secret"
  60. # External storage, fill storageClassName, ref: https://www.rainbond.com/docs/installation/install-with-helm/vaules-config#%E9%85%8D%E7%BD%AE%E5%A4%96%E9%83%A8%E5%AD%98%E5%82%A8
  61. RWX:
  62. enable: false
  63. type: none
  64. config:
  65. storageClassName: glusterfs-simple
  66. server:
  67. # External storage, fill storageClassName, ref: https://www.rainbond.com/docs/installation/install-with-helm/vaules-config#%E9%85%8D%E7%BD%AE%E5%A4%96%E9%83%A8%E5%AD%98%E5%82%A8
  68. RWO:
  69. enable: false
  70. storageClassName: glusterfs-simple
  71. # Rainbond region database, ref: https://www.rainbond.com/docs/installation/install-with-helm/vaules-config/#%E9%85%8D%E7%BD%AE-rainbond-%E9%9B%86%E7%BE%A4%E7%AB%AF%E6%95%B0%E6%8D%AE%E5%BA%93
  72. # region数据库,true为开,false为关,提供外接高可用的 Mysql 数据库,该数据库中需要提前创建 region 数据库,需要提供 host、用户名、密码
  73. regionDatabase:
  74. enable: false
  75. host: 192.168.0.1
  76. name: region
  77. password: password
  78. port: 3306
  79. username: admin
  80. # Rainbond Console database, ref: https://www.rainbond.com/docs/installation/install-with-helm/vaules-config/#%E9%85%8D%E7%BD%AE-rainbond-%E6%8E%A7%E5%88%B6%E5%8F%B0%E6%95%B0%E6%8D%AE%E5%BA%93
  81. # ui数据库,true为开,false为关,提供外接高可用的 Mysql 数据库,该数据库中需要提前创建 console 数据库,需要提供 host、用户名、密码
  82. uiDatabase:
  83. enable: false
  84. host: 192.168.0.1
  85. name: console
  86. password: password
  87. port: 3306
  88. username: admin
  89. # External gateway IP address
  90. # 对外网关,可以填写任意网关IP或者配置slb负载均衡或者配置vip
  91. # gatewayIngressIPs: 192.168.0.1
  92. # rbd-chaos configuration,ref: https://www.rainbond.com/docs/installation/install-with-helm/vaules-config/#%E9%85%8D%E7%BD%AE%E6%9E%84%E5%BB%BA%E8%8A%82%E7%82%B9
  93. # chaos对应配置,高可用环境中,至少选择 2 个节点作为集群 构建服务运行节点,name为后端服务器节点的 node名称
  94. # nodesForChaos:
  95. # - name: node1
  96. # - name: node2
  97. # rbd-gateway configuration, ref: https://www.rainbond.com/docs/installation/install-with-helm/vaules-config/#%E9%85%8D%E7%BD%AE%E7%BD%91%E5%85%B3%E8%8A%82%E7%82%B9
  98. # 网关节点对应配置,高可用环境中,至少选择 2 个节点作为集群 网关节点 ,推荐将所有节点作为网关节点使用,要求节点的 80、443、6060、7070、8443、 端口没有被占用。name 填写node节点的name即可
  99. # nodesForGateway:
  100. # - externalIP: 192.168.0.1
  101. # internalIP: 192.168.0.1
  102. # name: node1
  103. # - externalIP: 192.168.0.2
  104. # internalIP: 192.168.0.2
  105. # name: node2
  106. # Component unified image repository and namespace, ref: https://www.rainbond.com/docs/installation/install-with-helm/vaules-config/#%E9%85%8D%E7%BD%AE%E9%9B%86%E7%BE%A4%E7%AB%AF%E9%95%9C%E5%83%8F%E8%8E%B7%E5%8F%96%E5%9C%B0%E5%9D%80
  107. rainbondImageRepository: registry.cn-hangzhou.aliyuncs.com/goodrain
  108. # Component image version, ref: https://www.rainbond.com/docs/installation/install-with-helm/vaules-config/#%E9%85%8D%E7%BD%AE%E5%AE%89%E8%A3%85%E7%89%88%E6%9C%AC
  109. installVersion: v5.16.0-release
  110. # Component image pull policy, ref: https://www.rainbond.com/docs/installation/install-with-helm/vaules-config/#%E9%85%8D%E7%BD%AE%E9%9B%86%E7%BE%A4%E7%AB%AF%E9%95%9C%E5%83%8F%E6%8B%89%E5%8F%96%E7%AD%96%E7%95%A5
  111. imagePullPolicy: IfNotPresent
  112. # Number of component copies, ref: https://www.rainbond.com/docs/installation/install-with-helm/vaules-config/#%E9%85%8D%E7%BD%AE%E9%9B%86%E7%BE%A4%E5%89%AF%E6%9C%AC
  113. replicas: 2
  114. ############################################
  115. # Rainbond Component Configuration
  116. ############################################
  117. Component:
  118. # rbd-api component configuration, ref: https://www.rainbond.com/docs/installation/install-with-helm/vaules-config#%E9%85%8D%E7%BD%AE-rbd-api-%E5%8F%82%E6%95%B0
  119. rbd_api:
  120. args:
  121. # 可以单独配置rbd_api端口
  122. # - --api-addr-ssl 0.0.0.0:8443
  123. # - --ws-addr 0.0.0.0:6060
  124. # rbd-gateway component configuration, ref: https://www.rainbond.com/docs/installation/install-with-helm/vaules-config#%E9%85%8D%E7%BD%AE-rbd-gateway-%E5%8F%82%E6%95%B0
  125. rbd_gateway:
  126. args:
  127. # 可以单独配置rbd_gateway端口
  128. # - --service-http-port 80
  129. # - --service-https-port 443
  130. # rbd-node component configuration
  131. rbd_node:
  132. args:
  133. # rbd-hub component configuration
  134. rbd_hub:
  135. args:
  136. # rbd-mq component configuration
  137. rbd_mq:
  138. args:
  139. # rbd-resource-proxy component configuration
  140. rbd_resource_proxy:
  141. args:
  142. # rbd-webcli component configuration
  143. rbd_webcli:
  144. args:
  145. # rbd-monitor component configuration
  146. rbd_monitor:
  147. args:
  148. # rbd-db component configuration
  149. rbd_db:
  150. args:
  151. # rbd-chaos component configuration
  152. rbd_chaos:
  153. args:
  154. # rbd-worker component configuration
  155. rbd_worker:
  156. args:
  157. # rbd-eventlog component configuration
  158. rbd_eventlog:
  159. args:
  160. # rbd-app-ui component configuration
  161. rbd_app_ui:
  162. enable: true
  163. args:
  164. # nfs-provisioner component configuration
  165. nfs_provisioner:
  166. image:
  167. # rbd-etcd component configuration
  168. rbd_etcd:
  169. image:
  170. # metrics-server component configuration
  171. metrics_server:
  172. image:
  173. # dashboard-metrics-scraper component configuration
  174. dashboard_metrics_scraper:
  175. image:
  176. # kubernetes-dashboard component configuration
  177. kubernetes_dashboard:
  178. image:
  179. ## Enable nfs chart, default is false
  180. nfs-client-provisioner:
  181. childChart:
  182. enable: false
  183. nfs:
  184. server:
  185. path:

3: 执行命令安装

  1. helm install rainbond rainbond/rainbond-cluster -f values.yaml -n rbd-system

Operator 配置

配置项默认值说明
operator.namerainbond-operatoroperator 的 deployment 资源名称
operator.image.nameregistry.cn-hangzhou.aliyuncs.com/goodrain/rainbond-operatoroperator 镜像名称
operator.image.tagv5.16.0-releaseoperator 镜像tag
operator.image.pullPolicyIfNotPresentoperator 镜像拉取策略
operator.logLevel4operator 的日志输出级别
operator.env[0].nameCONTAINER_RUNTIME选择集群容器运行时
operator.env[0].value自动选择 docker / containerddocker / containerd

Values.yaml 示例配置

  1. operator:
  2. name: rainbond-operator
  3. image:
  4. name: registry.cn-hangzhou.aliyuncs.com/goodrain/rainbond-operator
  5. tag: v5.16.0-release
  6. pullPolicy: IfNotPresent
  7. logLevel: 4
  8. env:
  9. - name: CONTAINER_RUNTIME
  10. value: docker

Cluster 配置

高可用安装

高可用模式下必须提供外部数据库、外部 Etcd 、外部共享存储(RWX)

配置项默认值说明
Cluster.enableHAfalse启用高可用模式

配置外部镜像仓库

配置项默认值类型说明
Cluster.imageHub.enablefalseBool启用外部镜像仓库
Cluster.imageHub.domain“”String镜像仓库地址
Cluster.imageHub.namespace“”String镜像仓库命名空间
Cluster.imageHub.password“”String镜像仓库密码
Cluster.imageHub.username“”String镜像仓库用户名

配置外部ETCD

配置项默认值类型说明
Cluster.etcd.enablefalseBool启用外部ETCD
Cluster.etcd.endpoints“”ArrayETCD 集群列表
Cluster.etcd.secretName“”StringETCD 集群的证书 secret 文件,需在 rbd-system 命名空间下创建

配置外部存储

如果使用阿里云 NAS 存储,需要配置 Cluster.RWX.type=aliyun Cluster.RWX.config.server=<SERVER>:/,Rainbond 会自动安装阿里云 NAS CSI 并对接使用。

配置项默认值类型说明
Cluster.RWX.enablefalseBool开启外部共享存储RWX
Cluster.RWX.typenoneString公有云存储类型,目前支持aliyun
Cluster.RWX.config.storageClassName“”StringStorageClass 名称
Cluster.RWX.config.server“”String阿里云NAS存储地址
Cluster.RWO.enablefalseBool开启外部共享存储RWO
Cluster.RWO.storageClassName“”StringStorageClass 名称

配置 Rainbond 集群端数据库

配置项默认值类型说明
Cluster.regionDatabase.enablefalseBool启用外部集群端数据库
Cluster.regionDatabase.host“”String数据库地址
Cluster.regionDatabase.name“”String数据库名称
Cluster.regionDatabase.password“”String数据库密码
Cluster.regionDatabase.port“”String数据库端口
Cluster.regionDatabase.username“”String数据库用户

配置 Rainbond 控制台数据库

配置项默认值类型说明
Cluster.uiDatabase.enablefalseBool启用外部控制台数据库
Cluster.uiDatabase.host“”String数据库地址
Cluster.uiDatabase.name“”String数据库名称
Cluster.uiDatabase.password“”String数据库密码
Cluster.uiDatabase.port“”String数据库端口
Cluster.uiDatabase.username“”String数据库用户

配置集群对外 IP

设置 SLB 或 VIP 来保障 Rainbond 网关的高可用

配置项默认值类型说明
Cluster.gatewayIngressIPs“”Array配置网关负责均衡IP

配置网关节点

配置项默认值类型说明
Cluster.nodesForGateway.externalIP“”Array运行网关服务的 Kubernetes 节点外部 IP
Cluster.nodesForGateway.internalIP“”Array运行网关服务的 Kubernetes 节点内部 IP
Cluster.nodesForGateway.name“”Array运行网关服务的 Kubernetes 节点名称

配置构建节点

配置项默认值类型说明
Cluster.nodesForChaos.name“”Array运行集群构建服务的 Kubernetes 节点名称

配置集群端镜像获取地址

配置项默认值类型说明
Cluster.rainbondImageRepositoryregistry.cn-hangzhou.aliyuncs.com/goodrainString集群端安装拉取的镜像地址

配置安装版本

配置项默认值类型说明
Cluster.installVersionlatestString集群安装拉取镜像 tag

配置集群端镜像拉取策略

配置项默认值类型说明
Cluster.imagePullPolicyIfNotPresentString集群镜像拉取策略

配置集群副本

配置项默认值类型说明
Cluster.replicas2int集群POD副本数

配置集群环境检测

配置项默认值类型说明
Cluster.enableEnvChecktrueBool是否开启环境检测

配置 rbd-api 参数

配置项默认值类型说明
Component.rbd_api.argslistrbd-api Component 参数

配置 rbd-gateway 参数

配置项默认值类型说明
Component.rbd_gateway.argslistrbd-api Component 参数

使用 K3s Containerd

配置项默认值类型说明
useK3sContainerdfalsebool使用 K3s Containerd