Based on self-built Kubernetes installation
Summarize
This article will guide you through the Helm command to quickly deploy Rainbond based on your existing Kubernetes cluster.
Precondition
- Kubernetes cluster versions range from 1.19 to 1.27
- For the kubectl command-line tool, see Kubectl installation.
- helm command line tool, see Helm installation
Install Rainbond
1. Install the NFS client mounting tool
During the default installation, Rainbond starts an NFS-Provisioner
; therefore, an NFS client mounting tool needs to be installed on the node, otherwise the installation will fail due to an inability to mount storage. If you customize the configuration, use external shared storage. Then this step can be ignored.
- Centos
- Ubuntu
yum -y install nfs-utils
apt-get install nfs-common
2. Add and update Helm repository
helm repo add rainbond https://openchart.goodrain.com/goodrain/rainbond
helm repo update
kubectl create namespace rbd-system
3. Install Rainbond
Rainbond supports both Docker
and Containerd
container runtimes. When a cluster environment has both Docker
and Containerd
installed, Docker
is used by default. You can specify the actual container runtimes through the environment variables.
- Docker
- Containerd
helm install rainbond rainbond/rainbond-cluster -n rbd-system
If you have a Cluster of public IP, you need to access from outside, please specify Cluster. GatewayIngressIPs
parameters, as shown below, will command the gatewayIngressIPs replace your public IP can:
helm install --set Cluster.gatewayIngressIPs=47.96.3.163 rainbond rainbond/rainbond-cluster -n rbd-system
helm install --set operator.env[0].name=CONTAINER_RUNTIME --set operator.env[0].value=containerd rainbond rainbond/rainbond-cluster -n rbd-system
If you have a Cluster of public IP, you need to access from outside, please specify Cluster. GatewayIngressIPs
parameters, as shown below, will command the gatewayIngressIPs replace your public IP can:
helm install --set Cluster.gatewayIngressIPs=47.96.3.163 --set operator.env[0].name=CONTAINER_RUNTIME --set operator.env[0].value=containerd rainbond rainbond/rainbond-cluster -n rbd-system
4. Installation progress query
After the installation command is executed, run the following command in the cluster to check the installation status.
watch kubectl get po -n rbd-system
The installation is successful when the Pod with the name rdb-app-ui
is in the Running state. If Pod rdd-app-UI-669BB7C74B-7BMLf
is in the Running state, Rainbond is installed successfully.
Installation result
NAME READY STATUS RESTARTS AGE
nfs-provisioner-0 1/1 Running 0 14d
rbd-etcd-0 1/1 Running 0 14d
rbd-hub-64777d89d8-l56d8 1/1 Running 0 14d
rbd-gateway-76djb 1/1 Running 0 14d
dashboard-metrics-scraper-7db45b8bb4-tcgxd 1/1 Running 0 14d
rbd-mq-6b847d874b-j5jg2 1/1 Running 0 14d
rbd-webcli-76b54fd7f6-jrcdj 1/1 Running 0 14d
kubernetes-dashboard-fbd4fb949-2qsn9 1/1 Running 0 14d
rbd-resource-proxy-547874f4d7-dh8bv 1/1 Running 0 14d
rbd-monitor-0 1/1 Running 0 14d
rbd-db-0 2/2 Running 0 14d
rbd-eventlog-0 1/1 Running 0 14d
rbd-app-ui-669bb7c74b-7bmlf 1/1 Running 0 7d12h
rbd-app-ui-migrations--1-hp2qg 0/1 Completed 0 14d
rbd-worker-679fd44bc7-n6lvg 1/1 Running 0 9d
rbd-node-jhfzc 1/1 Running 0 9d
rainbond-operator-7978d4d695-ws8bz 1/1 Running 0 9d
rbd-chaos-nkxw7 1/1 Running 0 8d
rbd-api-5d8bb8d57d-djx2s 1/1 Running 0 47h
5. Access platform
Run the following command in the cluster to obtain the platform access address. If there are multiple gateway nodes, the console can be accessed from any one address.
kubectl get rainbondcluster rainbondcluster -n rbd-system -o go-template --template='{{range.spec.gatewayIngressIPs}}{{.}}:7070{{printf "\n"}}{{end}}'
6. Customize Advanced Settings (Optional)
When you have some additional requirements, such as using self-built mirror repositories, databases, ETCD, StorageClass, specifying gateway nodes, specifying build nodes, etc. Parameters in detail can refer to values. Yaml explanation
Problem troubleshooting
The installation process if not finished for long time, so please refer to the document Helm installation problem troubleshooting guide, for troubleshooting. Use can reference Rainbond use screen or join WeChat group, nailing group Ask for help.
Next step
See quick start to deploy your first app.