当前位置: 首页 > 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.…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言&#xff1a; 双亲委派机制对于面试这块来说非常重要&#xff0c;在实际开发中也是经常遇见需要打破双亲委派的需求&#xff0c;今天我们一起来探索一下什么是双亲委派机制&#xff0c;在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言&#xff1a; 类加载器 1. …...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具&#xff0c;专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑&#xff08;如DBC、LDF、ARXML、HEX等&#xff09;&#xff0c;并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...

React核心概念:State是什么?如何用useState管理组件自己的数据?

系列回顾&#xff1a; 在上一篇《React入门第一步》中&#xff0c;我们已经成功创建并运行了第一个React项目。我们学会了用Vite初始化项目&#xff0c;并修改了App.jsx组件&#xff0c;让页面显示出我们想要的文字。但是&#xff0c;那个页面是“死”的&#xff0c;它只是静态…...

电脑桌面太单调,用Python写一个桌面小宠物应用。

下面是一个使用Python创建的简单桌面小宠物应用。这个小宠物会在桌面上游荡&#xff0c;可以响应鼠标点击&#xff0c;并且有简单的动画效果。 import tkinter as tk import random import time from PIL import Image, ImageTk import os import sysclass DesktopPet:def __i…...

【记录坑点问题】IDEA运行:maven-resources-production:XX: OOM: Java heap space

问题&#xff1a;IDEA出现maven-resources-production:operation-service: java.lang.OutOfMemoryError: Java heap space 解决方案&#xff1a;将编译的堆内存增加一点 位置&#xff1a;设置setting-》构建菜单build-》编译器Complier...

__VUE_PROD_HYDRATION_MISMATCH_DETAILS__ is not explicitly defined.

这个警告表明您在使用Vue的esm-bundler构建版本时&#xff0c;未明确定义编译时特性标志。以下是详细解释和解决方案&#xff1a; ‌问题原因‌&#xff1a; 该标志是Vue 3.4引入的编译时特性标志&#xff0c;用于控制生产环境下SSR水合不匹配错误的详细报告1使用esm-bundler…...

深入浅出JavaScript中的ArrayBuffer:二进制数据的“瑞士军刀”

深入浅出JavaScript中的ArrayBuffer&#xff1a;二进制数据的“瑞士军刀” 在JavaScript中&#xff0c;我们经常需要处理文本、数组、对象等数据类型。但当我们需要处理文件上传、图像处理、网络通信等场景时&#xff0c;单纯依赖字符串或数组就显得力不从心了。这时&#xff…...