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%开源,Serverless体验,不需要懂K8s也能轻松管理容器化应用,平滑无缝过渡到K8s,是国内首个支持国产化信创、适合私有部署的一体化应用管理…...
jemter连接数据json断言
文章目录 一、jmeter连接数据库1、加载JDBC驱动2、连接数据3、SQL Query的Query Type使用方法:4、Variable Name使用方法:5、Result variable name使用方法: 二、Json响应断言1、添加 》 断言 》 JSON断言2、JSON断言界面参数说明:…...
JavaFX 加载 fxml 文件
JavaFX 加载 fxml 文件主要有两种方式,第一种方式通过 FXMLLoader 类直接加载 fxml 文件,简单直接,但是有些控件目前还不知道该如何获取,所以只能显示,目前无法处理。第二种方式较为复杂,但是可以使用与 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应用开发中,组件通信是一个重要的话题。不同的组件可能需要在不同的情况下进行数据传递和交互。Vue提供了多种方式来实现组件通信,每种方式都有其适用的场景。本文将详细介绍Vue中实现组件通信的各种方式,并为每种方式提供通俗易懂的代码…...
什么是Promise对象?它的状态有哪些?如何使用Promise处理异步操作?以及 async、await
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ Promise对象⭐ 创建Promise对象⭐ 使用Promise处理异步操作⭐ async、await⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索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,简称PR,是Adobe公司开发的一款非线性视频编辑软件,被广泛应用于电影、电视剧、广告、纪录片、独立电影和音乐会等影视制作领域。它被公认为是行业内的标准工具,…...
springboot设置文件上传大小,默认是1mb
问题排查和解决过程 之前做了个项目,需要用到文件上传,启动项目正常,正常上传图片也正常,但这里图片刚好都小于1M,在代码配置文件里面也写了配置,限制大小为500M,想着就没问题(测试…...
Unity 之transform.LookAt() 调整一个物体的旋转,使其朝向指定的位置
文章目录 总的介绍补充(用于摄像机跟随的场景) 总的介绍 transform.LookAt 是 Unity 引擎中 Transform 组件的一个方法,用于调整一个物体的旋转,使其朝向指定的位置。通常情况下,它被用来使一个物体(如摄像…...
linux————haproxy
一、概述 HAProxy是一个免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上(CentOS、Ubuntu、Debian、OpenSUSE、Fedora、麒麟、欧拉、UOS)。 HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力,具备丰富的功能。HAProxy具…...
【80天学习完《深入理解计算机系统》】第十天 3.3 条件码寄存器【CF ZF SF OF】【set】
专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录) 文章字体风格: 红色文字表示&#…...
使用WSL修改docker文件存储位置
按照以下说明将其重新定位到其他驱动器/目录,并保留所有现有的Docker数据。 首先,右键单击Docker Desktop图标关闭Docker桌面,然后选择退出Docker桌面,然后,打开命令提示符: wsl --list -v您应该能够看到&a…...
软件设计师学习笔记6-存储系统
1.层次化存储体系 1.1层次化存储结构 局部性原理是层次化存储结构的支持 时空局部性:刚被访问的内容,立即又被访问(eg: 循环体 ) 空间局部性:刚被访问的内容,临近的空间很快被访问(eg:数组) 1.2层次化存储结构的分类 DRAM&…...
【TI毫米波雷达笔记】CCS雷达工程内存RAM指定(DATA_SECTION,以IWR6843AOP为例)
【TI毫米波雷达笔记】CCS雷达工程内存RAM指定(DATA_SECTION,以IWR6843AOP为例) 工程建立好以后会有一个cmd文件 此文件描述的是内存map /*----------------------------------------------------------------------------*/ /* r4f_linker…...
安卓移动应用开发实训室建设方案
一 、系统概述 安卓移动应用开发作为新一代信息技术的重点和促进信息消费的核心产业,已成为我国转变信息服务业的发展新热点:成为信息通信领域发展最快、市场潜力最大的业务领域。互联网尤其是移动互联网,以其巨大的信息交换能力和快速渗透能…...
我的编程学习过程
自信与经验 在毕业的时候就觉得繁体字很难。大陆都在使用简体字,戴季陶说这是在亡国,没有这么严 重。繁体字会意,简体字简单,中国文盲很多,为了加快经济建设的步伐,不得不牺牲很多 东西。为了解决温饱&…...
亚马逊云科技 云技能孵化营 初识机器学习
目录 前言 一、课程介绍 二、什么是机器学习 三、机器学习算法进阶过程 四、亚马逊云科技能给我们什么 总结 前言 近期参加了“亚马逊云科技 云技能孵化营”,该孵化营的亚马逊云科技培训与认证团队为开发者准备了云从业者的精要知识及入门课程,帮助…...
多种编程语言运行速度排名-10亿次除7求余数为0的数量
最佳方式是运行10次,取平均数,用时秒数显示3位小数。 因为第一次打开,可能CPU还没优化好,多次取平均,比较准确 第1次共10次,用时3秒,平均3秒 第2次共10次,用时4秒,平均3.…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
Qt 事件处理中 return 的深入解析
Qt 事件处理中 return 的深入解析 在 Qt 事件处理中,return 语句的使用是另一个关键概念,它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别:不同层级的事件处理 方…...
在树莓派上添加音频输入设备的几种方法
在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...
[USACO23FEB] Bakery S
题目描述 Bessie 开了一家面包店! 在她的面包店里,Bessie 有一个烤箱,可以在 t C t_C tC 的时间内生产一块饼干或在 t M t_M tM 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC,tM≤109)。由于空间…...
