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.…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...

通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...

对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...

初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...