rainbond云原生应用管理平台部署

rainbond简介

rainbond 是 一个 开源的Kubernetes 云原生应用管理平台。

Rainbond 核心100%开源,Serverless体验,不需要懂K8s也能轻松管理容器化应用,平滑无缝过渡到K8s,是国内首个支持国产化信创、适合私有部署的一体化应用管理平台。

官方网站:https://www.rainbond.com/

项目地址:https://github.com/goodrain/rainbond

helm安装rainbond

Helm chart地址:https://github.com/goodrain/rainbond-chart

前置要求:

准备3个kubernetes节点

bash 复制代码
root@node1:~# kubectl get nodes -o wide
NAME    STATUS   ROLES           AGE   VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
node1   Ready    control-plane   33d   v1.27.3   192.168.72.30   <none>        Ubuntu 22.04.2 LTS   5.15.0-76-generic   containerd://1.6.21
node2   Ready    control-plane   33d   v1.27.3   192.168.72.31   <none>        Ubuntu 22.04.2 LTS   5.15.0-76-generic   containerd://1.6.21
node3   Ready    control-plane   33d   v1.27.3   192.168.72.32   <none>        Ubuntu 22.04.2 LTS   5.15.0-76-generic   containerd://1.6.21

准备可用的storageclass,支持RWO及RWX,本示例为openebs-hostpath 以及openebs-nfs

bash 复制代码
root@node1:~# kubectl get sc
NAME                         PROVISIONER                    RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
openebs-hostpath (default)   openebs.io/local               Delete          WaitForFirstConsumer   false                  33d
openebs-kernel-nfs           openebs.io/nfsrwx              Delete          Immediate              false                  17h

添加Rainbond Helm 仓库

bash 复制代码
helm repo add rainbond https://openchart.goodrain.com/goodrain/rainbond

安装rainbond

bash 复制代码
helm install rainbond rainbond/rainbond-cluster \
-n rbd-system --create-namespace \
--set operator.env[0].name=CONTAINER_RUNTIME \
--set operator.env[0].value=containerd \
--set Cluster.RWX.enable=true \
--set Cluster.RWX.config.storageClassName=openebs-kernel-nfs \
--set Cluster.RWO.enable=true \
--set Cluster.RWO.storageClassName=openebs-hostpath

参数说明:

  • CONTAINER_RUNTIME ,指定容器运行时为containerd,与kubernetes集群一致
  • storageClassName,指定rainbond使用的存储类

等待rainbond部署完成,查看运行的pods

bash 复制代码
root@node1:~# kubectl -n rbd-system get pods
NAME                                        READY   STATUS    RESTARTS   AGE
dashboard-metrics-scraper-6948f9475-lmgd4   1/1     Running   0          12m
kubernetes-dashboard-cd594bb64-mn29s        1/1     Running   0          12m
metrics-server-56df97f57-snb7t              1/1     Running   0          12m
rainbond-operator-85bb988bb8-wxwmm          1/1     Running   0          12m
rbd-api-7d7b876b74-xg4vt                    1/1     Running   0          12m
rbd-app-ui-765669864b-jwrf4                 1/1     Running   0          11m
rbd-chaos-nbn4d                             1/1     Running   0          12m
rbd-chaos-qgxfs                             1/1     Running   0          12m
rbd-db-0                                    2/2     Running   0          12m
rbd-etcd-0                                  1/1     Running   0          12m
rbd-eventlog-0                              1/1     Running   0          12m
rbd-gateway-8tqkr                           1/1     Running   0          12m
rbd-gateway-bpzkp                           1/1     Running   0          12m
rbd-hub-868ccb6645-nfbqs                    1/1     Running   0          12m
rbd-monitor-0                               1/1     Running   0          12m
rbd-mq-5c766bf9cf-2rqp6                     1/1     Running   0          12m
rbd-node-d7cjv                              1/1     Running   0          12m
rbd-node-j57vw                              1/1     Running   0          12m
rbd-node-kjfcf                              1/1     Running   0          12m
rbd-resource-proxy-947f9fc96-jhkjg          1/1     Running   0          12m
rbd-webcli-6b785c49b5-74fl2                 1/1     Running   0          12m
rbd-worker-7d7786c46f-mxp9t                 1/1     Running   0          12m

查看service

bash 复制代码
root@node1:~# kubectl -n rbd-system get svc
NAME                        TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)                      AGE
dashboard-metrics-scraper   ClusterIP   10.96.0.201   <none>        8000/TCP                     27m
kubernetes-dashboard        ClusterIP   10.96.0.180   <none>        443/TCP                      27m
metrics-server              ClusterIP   10.96.1.195   <none>        443/TCP                      27m
rbd-api-api                 ClusterIP   10.96.1.178   <none>        8443/TCP                     26m
rbd-api-api-inner           ClusterIP   10.96.2.253   <none>        8888/TCP                     26m
rbd-api-healthz             ClusterIP   10.96.2.237   <none>        8889/TCP                     26m
rbd-api-websocket           ClusterIP   10.96.1.102   <none>        6060/TCP                     26m
rbd-app-ui                  ClusterIP   10.96.2.126   <none>        7070/TCP                     25m
rbd-chaos                   ClusterIP   10.96.3.227   <none>        3228/TCP                     26m
rbd-db-exporter             ClusterIP   None          <none>        9104/TCP                     27m
rbd-db-rw                   ClusterIP   None          <none>        3306/TCP                     27m
rbd-etcd                    ClusterIP   None          <none>        2379/TCP,2380/TCP            28m
rbd-eventlog                ClusterIP   10.96.1.219   <none>        6363/TCP,6362/TCP,6166/TCP   26m
rbd-hub                     ClusterIP   10.96.1.97    <none>        5000/TCP                     28m
rbd-monitor                 ClusterIP   10.96.1.73    <none>        9999/TCP                     27m
rbd-resource-proxy          ClusterIP   10.96.0.152   <none>        80/TCP                       27m

查看pvc卷

bash 复制代码
root@node1:~# kubectl -n rbd-system get pvc
NAME                  STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS         AGE
data                  Bound    pvc-be13276d-4948-466e-9df6-6f56c3062c52   20Gi       RWO            openebs-hostpath     27m
data-rbd-monitor-0    Bound    pvc-1a35e6b9-45a6-4c21-9e4a-ff6e5a97731e   20Gi       RWO            openebs-hostpath     27m
rbd-api               Bound    pvc-4436a9ae-f85e-4b37-ac73-1123514dd3d1   1Gi        RWX            openebs-kernel-nfs   26m
rbd-app-ui            Bound    pvc-6d1591d0-c3dc-42a0-91dd-b34c155a419e   10Gi       RWX            openebs-kernel-nfs   25m
rbd-chaos-cache       Bound    pvc-cd7d1dcc-fea9-4b7b-bf6b-afcc53905788   10Gi       RWX            openebs-kernel-nfs   26m
rbd-cpt-grdata        Bound    pvc-f59fa5d4-32bb-4b80-98b1-0704d2bf255f   20Gi       RWX            openebs-kernel-nfs   28m
rbd-db-rbd-db-0       Bound    rbd-db                                     1Gi        RWO            manual               27m
rbd-etcd-rbd-etcd-0   Bound    rbd-etcd                                   1Gi        RWO            manual               28m
rbd-hub               Bound    pvc-5571e2cb-ad56-4f40-9235-7e408c73e1a7   10Gi       RWX            openebs-kernel-nfs   28m

访问rainbond UI

查看网关所在节点IP

bash 复制代码
root@node1:~# kubectl -n rbd-system get pods -l name=rbd-gateway -o wide
NAME                READY   STATUS    RESTARTS   AGE   IP              NODE    NOMINATED NODE   READINESS GATES
rbd-gateway-8tqkr   1/1     Running   0          16h   192.168.72.32   node3   <none>           <none>
rbd-gateway-bpzkp   1/1     Running   0          16h   192.168.72.31   node2   <none>           <none>

浏览器访问rainbond UI,其中192.168.72.31为任意网关节点IP地址

bash 复制代码
http://192.168.72.17:7070

总览:

集群信息

相关推荐
不灭的程序员阿澄11 小时前
在飞牛 NAS 上用 Docker 运行 DeepSeek Harness
运维·docker·容器
林浅不想努力12 小时前
k8s集群部署的方法原理
云原生·容器·kubernetes
輝太くん13 小时前
k8s中的pod管理
云原生·容器·kubernetes
大大大大晴天13 小时前
大数据平台为什么必须走向云原生:从资源孤岛到弹性数据基础设施
大数据·云原生
潘正翔14 小时前
k8s高级_调度器Deployment
linux·运维·云原生·容器·kubernetes·jenkins·devops
阿里云云原生14 小时前
云效 AI 助手深度解析:如何贯穿需求、代码、测试与发布的全链路闭环?
云原生
angushine16 小时前
Docker部署镜像管理
运维·docker·容器
潘正翔16 小时前
jenkins构建cicd流水线
运维·服务器·ci/cd·容器·自动化·jenkins·cicd
Lost of 程序猿16 小时前
Kubernetes 排障实战:从 CrashLoopBackOff 到网络不通
网络·容器·kubernetes
javachen__17 小时前
Docker一键清理 + 全局限制,告别日志报满
java·docker·容器