Skip to main content

Platform Component Architecture

This article mainly introduces all the service components required for the complete deployment of Rainbond to help users understand the Rainbond technology stack and component architecture.

In the current version, the system component lifecycle is jointly maintained and managed by Kubernetes and Rainbond-Operator.

Rainbond consists of Console (console) + Region (cluster side) + Kubernetes (RKE).

Overview of Console components

Console deployment is currently divided into three types:

  1. Allinone
  2. Highly available console, deployed in Rainbond (based on app store installation)
  3. Helm deployment, running in Kubernetes as a POD.

Overview of Region Cluster-side Components

tip

The advanced usage of Region cluster-side components can be read by clicking the link of the component

The following is the Rainbond service components and their version information that will be installed on the server through one-click deployment.

componentsVersionillustrateController type
rainbond-operatorv2.3.0Maintain the configuration and running status of rainbond componentsDeployment
rbd-api5.xrainbond regional center API service, providing the underlying service interfaceDeployment
rbd-chaos5.xApplication building service, providing source code, Docker image, etc. to create applicationsDaemonset
rbd-db5.xCloud help database service, support MySQL5.6``5.7``8.0Statefulset
rbd-etcdv3.3.18etcdstores metadata information of the cluster, cluster state and network configurationStatefulset
rbd-eventlog5.xrainbond event processing and log aggregation serviceStatefulset
rbd-gateway5.xA global gateway to applications, providing advanced functions such as A/B testing and grayscale publishingDaemonset
rbd-hubv2.6.2Based onDocker Registrypackage, providing docker image storage serviceDeployment
rbd-mq5.xmessage queue serviceDeployment
nfs-provisionerv2.2.1storage serviceStatefulset
rbd-node5.xCluster monitoring and control, docker certificate distributionDaemonset
rbd-resource-proxy1.19Source code build warehouse serviceDeployment
rbd-webcli5.xProvides a service for entering the container command line in the web modeDeployment
rbd-worker5.xCloud help application operation and processing servicesDeployment

Kubernetes (RKE)

The following Kubernetes components are installed through RKE. For details, please refer to RKE documentation.

componentsVersionillustrate
kubeletv1.19.6is the main node agent that runs on each Node node
kube-apiserverv1.19.6Validate and configure data for API objects
kube-controller-managerv1.19.6The management control center inside the Kubernetes cluster
kube-schedulerv1.19.6Responsible for allocating and scheduling Pods to nodes in the cluster
kube-proxyv1.19.6A network proxy for Kubernetes, running on each node

Docker

componentsVersionillustrate
docker19.03.5Application Container Engine

Component Port Description

Public network access: If deployed in a public cloud environment, public network access requires security group release

The port numberillustratepublic network accessservice component
80/443Global Load Balancing ServiceSecurity group release requiredrbd-gateway
6060Websocket service, providing real-time push of logs and performance monitoringSecurity group release requiredrbd-api
7070application console webSecurity group release requiredrbd-app-ui
8443Rainbond API ServiceSecurity group release requiredrbd-api
30008Cluster installation operation and maintenance console webSecurity group release is required, and the cluster is closed after installationrainbond-operator
10248/10250/10255/42645kubelet servicekubelet
10251kube-scheduler servicekube-scheduler
6443/8080kube-apiserver servicekube-apiserver
2379,2380,4001etcd serviceetcd/etcd-proxy
10252/10257kube-controller servicekube-controller
53Cluster internal dns servicerbd-dns
8089Cluster DNS service listening portkube-dns
6362/6363/6365/6366Cluster Event Servicerbd-eventlog
8443Rainbond API Servicerbd-api
6100/6101/6102/9125rbd-node servicerainbond-node
10254/18080/18081Cluster load balancing listening portrbd-gateway
10249/10256/30008kube-proxy servicekube-proxy
10259kube-scheduler servicekube-scheduler
53Cluster internal dns servicerbd-dns
8089Cluster DNS service listening portkube-dns
9999Cluster monitoringrbd-monitor
3306Cluster databaserbd-db
  • 4001 of etcd is a non-secure port, and 2379 is a secure port
  • The rainbond API port does not need to be opened when there is only one data center. When there are multiple data centers and different networks, it needs to be opened to the outside world. 8888 is a non-secure port and 8443 is a secure port.
  • Ports 80 and 443 provided by rbd-gateway are provided for HTTP protocol applications, and 10001~65535 are provided for TCP protocol applications.

For more specific port information, please refer to component port