当前位置: 首页 > news >正文

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节点

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,本示例为longhorn,能够同时支持RWO及RWX两种类型。longhorn数据存储路径/var/lib/longhorn/所在磁盘大小推荐200G.

# kubectl get sc
NAME                 PROVISIONER                    RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
longhorn (default)   driver.longhorn.io             Delete          Immediate              true                   48m

添加Rainbond Helm 仓库

helm repo add rainbond https://openchart.goodrain.com/goodrain/rainbond

安装rainbond

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=longhorn \
--set Cluster.RWO.enable=true \
--set Cluster.RWO.storageClassName=longhorn

参数说明:

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

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

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

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卷

$ kubectl -n rbd-system get pvc
NAME                  STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
data                  Bound    pvc-47df4ec7-db05-4205-9f6a-520a9531bde3   20Gi       RWO            longhorn       25m
data-rbd-monitor-0    Bound    pvc-50ae8cbc-e904-42a0-ac0e-544c6ce17154   20Gi       RWO            longhorn       26m
rbd-api               Bound    pvc-7c6b7721-8056-4b93-8a9e-2f1002f78773   1Gi        RWX            longhorn       26m
rbd-app-ui            Bound    pvc-7e4f6720-e1c0-43f5-a86a-6095ed089c31   10Gi       RWX            longhorn       24m
rbd-chaos-cache       Bound    pvc-e13698a0-f4cb-4378-a272-4f2647b7fd1b   10Gi       RWX            longhorn       25m
rbd-cpt-grdata        Bound    pvc-778b8ae0-c37d-4d2e-9267-6e922505fb8a   20Gi       RWX            longhorn       27m
rbd-db-rbd-db-0       Bound    rbd-db                                     1Gi        RWO            manual         26m
rbd-etcd-rbd-etcd-0   Bound    rbd-etcd                                   1Gi        RWO            manual         27m
rbd-hub               Bound    pvc-b17d53bb-b382-45b8-b18b-e37da729d28f   10Gi       RWX            longhorn       26m

访问rainbond UI

查看网关所在节点IP

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地址

http://192.168.72.17:7070

总览:

在这里插入图片描述

集群信息
在这里插入图片描述

相关文章:

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

rainbond简介 rainbond 是 一个 开源的Kubernetes 云原生应用管理平台。 Rainbond 核心100%开源&#xff0c;Serverless体验&#xff0c;不需要懂K8s也能轻松管理容器化应用&#xff0c;平滑无缝过渡到K8s&#xff0c;是国内首个支持国产化信创、适合私有部署的一体化应用管理…...

jemter连接数据json断言

文章目录 一、jmeter连接数据库1、加载JDBC驱动2、连接数据3、SQL Query的Query Type使用方法&#xff1a;4、Variable Name使用方法&#xff1a;5、Result variable name使用方法&#xff1a; 二、Json响应断言1、添加 》 断言 》 JSON断言2、JSON断言界面参数说明&#xff1a…...

JavaFX 加载 fxml 文件

JavaFX 加载 fxml 文件主要有两种方式&#xff0c;第一种方式通过 FXMLLoader 类直接加载 fxml 文件&#xff0c;简单直接&#xff0c;但是有些控件目前还不知道该如何获取&#xff0c;所以只能显示&#xff0c;目前无法处理。第二种方式较为复杂&#xff0c;但是可以使用与 fx…...

(三)Redis——Set

SADD key value SMEMBERS 127.0.0.1:6379> SADD set aaa 1 127.0.0.1:6379> SMEMBERS set aaa 127.0.0.1:6379> SADD set aaa 0 127.0.0.1:6379> SMEMBERS set aaaSISMEMBER 判断 aaa 是否在 set 中 127.0.0.1:6379> SISMEMBER set aaa 1 127.0.0.1:6379>…...

Vue组件通信方式详解(全面版)

在Vue应用开发中&#xff0c;组件通信是一个重要的话题。不同的组件可能需要在不同的情况下进行数据传递和交互。Vue提供了多种方式来实现组件通信&#xff0c;每种方式都有其适用的场景。本文将详细介绍Vue中实现组件通信的各种方式&#xff0c;并为每种方式提供通俗易懂的代码…...

什么是Promise对象?它的状态有哪些?如何使用Promise处理异步操作?以及 async、await

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ Promise对象⭐ 创建Promise对象⭐ 使用Promise处理异步操作⭐ async、await⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅…...

Android 之自定义绘制一

绘制的基本要素 onDraw(Canvas) 绘制方法 Canvas 绘制工具 Paint 调整风格 粗细等 坐标系: x y ,3D 会有z轴,x 左到右,y 上至下,与数学中y颠倒 尺寸单位: 布局中 dp ,sp ,代码中 px;dp 为了适配不同的尺寸 绘制的关键: draw(Canvas )......(关键类:Paint) Paint.ANTI_A…...

vue3 计算两个表单得到第三个表单数据

<el-formref"ruleFormRef"label-width"150px"label-suffix":":rules"rules":disabled"drawerProps.isView":model"drawerProps.rowData"><el-form-item label"云平台名称" prop"cloudId&…...

Premiere Pro软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 Adobe Premiere Pro&#xff0c;简称PR&#xff0c;是Adobe公司开发的一款非线性视频编辑软件&#xff0c;被广泛应用于电影、电视剧、广告、纪录片、独立电影和音乐会等影视制作领域。它被公认为是行业内的标准工具&#xff0c…...

springboot设置文件上传大小,默认是1mb

问题排查和解决过程 之前做了个项目&#xff0c;需要用到文件上传&#xff0c;启动项目正常&#xff0c;正常上传图片也正常&#xff0c;但这里图片刚好都小于1M&#xff0c;在代码配置文件里面也写了配置&#xff0c;限制大小为500M&#xff0c;想着就没问题&#xff08;测试…...

Unity 之transform.LookAt() 调整一个物体的旋转,使其朝向指定的位置

文章目录 总的介绍补充&#xff08;用于摄像机跟随的场景&#xff09; 总的介绍 transform.LookAt 是 Unity 引擎中 Transform 组件的一个方法&#xff0c;用于调整一个物体的旋转&#xff0c;使其朝向指定的位置。通常情况下&#xff0c;它被用来使一个物体&#xff08;如摄像…...

linux————haproxy

一、概述 HAProxy是一个免费的负载均衡软件&#xff0c;可以运行于大部分主流的Linux操作系统上&#xff08;CentOS、Ubuntu、Debian、OpenSUSE、Fedora、麒麟、欧拉、UOS&#xff09;。 HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力&#xff0c;具备丰富的功能。HAProxy具…...

【80天学习完《深入理解计算机系统》】第十天 3.3 条件码寄存器【CF ZF SF OF】【set】

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客&#xff0c;如有问题交流&#xff0c;欢迎评论区留言&#xff0c;一定尽快回复&#xff01;&#xff08;大家可以去看我的专栏&#xff0c;是所有文章的目录&#xff09;   文章字体风格&#xff1a; 红色文字表示&#…...

使用WSL修改docker文件存储位置

按照以下说明将其重新定位到其他驱动器/目录&#xff0c;并保留所有现有的Docker数据。 首先&#xff0c;右键单击Docker Desktop图标关闭Docker桌面&#xff0c;然后选择退出Docker桌面&#xff0c;然后&#xff0c;打开命令提示符&#xff1a; wsl --list -v您应该能够看到&a…...

软件设计师学习笔记6-存储系统

1.层次化存储体系 1.1层次化存储结构 局部性原理是层次化存储结构的支持 时空局部性&#xff1a;刚被访问的内容&#xff0c;立即又被访问(eg: 循环体 ) 空间局部性&#xff1a;刚被访问的内容&#xff0c;临近的空间很快被访问(eg:数组) 1.2层次化存储结构的分类 DRAM&…...

【TI毫米波雷达笔记】CCS雷达工程内存RAM指定(DATA_SECTION,以IWR6843AOP为例)

【TI毫米波雷达笔记】CCS雷达工程内存RAM指定&#xff08;DATA_SECTION&#xff0c;以IWR6843AOP为例&#xff09; 工程建立好以后会有一个cmd文件 此文件描述的是内存map /*----------------------------------------------------------------------------*/ /* r4f_linker…...

安卓移动应用开发实训室建设方案

一 、系统概述 安卓移动应用开发作为新一代信息技术的重点和促进信息消费的核心产业&#xff0c;已成为我国转变信息服务业的发展新热点&#xff1a;成为信息通信领域发展最快、市场潜力最大的业务领域。互联网尤其是移动互联网&#xff0c;以其巨大的信息交换能力和快速渗透能…...

我的编程学习过程

自信与经验 在毕业的时候就觉得繁体字很难。大陆都在使用简体字&#xff0c;戴季陶说这是在亡国&#xff0c;没有这么严 重。繁体字会意&#xff0c;简体字简单&#xff0c;中国文盲很多&#xff0c;为了加快经济建设的步伐&#xff0c;不得不牺牲很多 东西。为了解决温饱&…...

亚马逊云科技 云技能孵化营 初识机器学习

目录 前言 一、课程介绍 二、什么是机器学习 三、机器学习算法进阶过程 四、亚马逊云科技能给我们什么 总结 前言 近期参加了“亚马逊云科技 云技能孵化营”&#xff0c;该孵化营的亚马逊云科技培训与认证团队为开发者准备了云从业者的精要知识及入门课程&#xff0c;帮助…...

多种编程语言运行速度排名-10亿次除7求余数为0的数量

最佳方式是运行10次&#xff0c;取平均数&#xff0c;用时秒数显示3位小数。 因为第一次打开&#xff0c;可能CPU还没优化好&#xff0c;多次取平均&#xff0c;比较准确 第1次共10次&#xff0c;用时3秒&#xff0c;平均3秒 第2次共10次&#xff0c;用时4秒&#xff0c;平均3.…...

如何处理SQL递归层次结构更新_通过触发器维护父子关系

UPDATE父子路径未更新的主因是触发器中仅修改NEW.path而未递归更新后代path&#xff0c;且AFTER触发器中直接UPDATE同表会报错&#xff0c;需用临时表或存储过程中转&#xff0c;并同步维护level等衍生字段。UPDATE 时父子路径没更新&#xff0c;触发器里忘改 NEW.path递归结构…...

终极指南:三分钟掌握全网盘高速下载神器LinkSwift

终极指南&#xff1a;三分钟掌握全网盘高速下载神器LinkSwift 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘…...

别再手动刷新了!Qt5/Qt6下用信号槽优雅处理串口热插拔(避坑QTimer的误用)

Qt串口热插拔检测&#xff1a;从定时轮询到事件驱动的架构升级 在工业控制、医疗设备和物联网终端开发中&#xff0c;串口通信的稳定性直接关系到系统可靠性。传统QTimer轮询方案虽然实现简单&#xff0c;但在实际项目中常遇到两个典型问题&#xff1a;一是频繁的端口扫描造成C…...

2026届最火的AI论文助手解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在人工智能生成内容&#xff08;AIGC&#xff09;技术迅猛发展之际&#xff0c;它一方面提升…...

基于SSM框架的传统服饰文化平台体验(10034)

有需要的同学&#xff0c;源代码和配套文档领取&#xff0c;加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码&#xff08;前后端源代码SQL脚本&#xff09;配套文档&#xff08;LWPPT开题报告/任务书&#xff09;远程调试控屏包运行一键启动项目&…...

5分钟快速上手:Python大麦网自动抢票脚本终极指南

5分钟快速上手&#xff1a;Python大麦网自动抢票脚本终极指南 【免费下载链接】Automatic_ticket_purchase 大麦网抢票脚本 项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase 还在为抢不到心仪演唱会门票而烦恼吗&#xff1f;Python自动化抢…...

用STM32 HAL库和MPU6050 DIY平衡小车:PID参数整定实战与小车‘站起来’的调试日记

STM32平衡小车PID调参实战&#xff1a;从剧烈抖动到稳定站立的调试手记 1. 平衡小车的核心挑战 当我第一次按下电源开关&#xff0c;看着这个小家伙像醉汉一样左右摇摆然后轰然倒下时&#xff0c;才真正理解到平衡控制的精妙之处。基于STM32和MPU6050的平衡小车项目&#xff0c…...

3个简单步骤掌握gInk:Windows上最轻量的免费屏幕画笔工具

3个简单步骤掌握gInk&#xff1a;Windows上最轻量的免费屏幕画笔工具 【免费下载链接】gInk An easy to use on-screen annotation software inspired by Epic Pen. 项目地址: https://gitcode.com/gh_mirrors/gi/gInk gInk屏幕画笔工具是一款专为Windows用户设计的实时…...

Postman数据迁移实战:如何用导入导出功能,在团队间高效同步你的接口集合和环境变量

Postman团队协作指南&#xff1a;接口资产迁移与标准化管理实践 在分布式团队和敏捷开发成为主流的今天&#xff0c;API开发工具的高效使用直接影响着协作效率。作为被全球超过2000万开发者使用的API工具&#xff0c;Postman的集合与环境变量功能已经成为团队间接口定义传递的事…...

efinance:Python量化交易的免费金融数据终极解决方案

efinance&#xff1a;Python量化交易的免费金融数据终极解决方案 【免费下载链接】efinance efinance 是一个可以快速获取基金、股票、债券、期货数据的 Python 库&#xff0c;回测以及量化交易的好帮手&#xff01;&#x1f680;&#x1f680;&#x1f680; 项目地址: https…...