在云原生应用管理平台领域,Rainbond是一款表现非常出色的产品。它最大的优势之一就是上手简单,即使你对容器、Kubernetes 以及底层复杂技术了解不多,也能够快速开始使用。Rainbond 不仅支持多 Kubernetes 集群统一管理,还能够覆盖企业应用从开发、部署到运维的整个生命周期管理。Rainbond 始终坚持以应用为中心的设计理念,将容器、Kubernetes 与底层基础设施能力进行统一封装,让用户可以更专注于业务开发本身,避免在非核心技术环节投入过多学习和管理成本。与此同时,Rainbond 还深度整合了应用开发、微服务架构、应用交付、应用运维和资源管理等多个关键环节,实现高度自动化的云原生应用管理,帮助企业统一管理应用、基础设施以及各类 IT 流程。

开发平台
Rainbond 作为开发平台,具备多项实用功能,能够让开发者把更多精力放在业务代码上,而不必过多关注应用部署与底层环境配置。
源码一键部署
源码一键部署功能非常适合快速交付应用,只需填写代码仓库地址,Rainbond 就会自动识别项目语言类型,让传统应用无需改造或仅需少量调整,即可快速转化为云原生应用。
识别策略:Ja va 项目根目录存在 Pom.xml,其他语言项目也有类似识别方式。
支持多种开发语言和构建方式,例如:Ja va、Python、PHP、.NetCore、Go、NodeJS、Dockerfile等。
微服务编排
Rainbond 支持多种 Service Mesh 方案,例如:内置的 Service Mesh,以及基于 Istio 的 Service Mesh。在 Rainbond 的拓扑图中,用户只需通过拖拽操作即可完成微服务编排,使用体验直观高效。
服务之间通过 127.0.0.1:8080 访问,例如:A 服务依赖 B 服务时,Rainbond 会向 A 服务注入 B 服务的访问地址 IP:PORT 127.0.0.1:8080。
应用复制
多套环境搭建往往是企业开发和测试中的难点,在 Rainbond 上可以通过 应用快速复制 功能,将已经搭建完成的环境一键复制出多套实例,实现 1 -> N 的快速扩展。应用复制会将已配置好的 环境变量配置文件依赖关系 等内容完整复制,大幅减少重复操作。
应用、组件管理
Rainbond 支持对应用和组件进行全生命周期管理,包括启停、重启、滚动更新、版本回滚等常见运维操作。
- 关闭组件或应用是 Rainbond 的一项实用特性。当某个应用或服务暂时不需要使用时,可以直接关闭对应服务或应用以释放资源,需要时再一键恢复启动。
- Rainbond 支持单个组件的版本回滚,当某个服务上线后出现异常时,可以通过一键回滚快速恢复服务正常运行。
日志收集:Rainbond 会自动采集每个服务的日志,并展示在组件视图中,方便用户快速排查和定位问题,默认保存 7 天内的日志数据。
组件伸缩:支持一键调整组件的 CPU、内存资源,也可以根据业务需求设置自动伸缩策略。
环境配置:通过图形化界面即可配置组件的 环境变量配置文件,同时还支持将其他组件的配置文件共享到当前组件中。
存储:为组件添加 持久化存储 时,Rainbond 会自动创建 PVCPV 。
网关策略
Rainbond 应用网关只需简单配置即可一键开启对外访问策略,系统会自动创建 ServiceIngress ,让服务对外暴露更加便捷。同时也支持一键开启 TCP 访问策略,满足不同场景下的访问需求。
应用配置组
应用配置组可以将相同的环境变量统一作用到多个组件中,这对于多个服务共用同一套环境变量配置的场景非常有帮助,能够有效避免重复配置,提高管理效率。
交付平台
Rainbond 同样可以作为应用交付平台使用。Rainbond 的 RAM 应用模型配合内置组件库,非常适合应用交付场景,尤其对 ToB 企业应用交付和标准化部署十分友好。
Rainbond 应用模版由多个版本组成,用户可以安装应用模版的任意版本,同时也支持基于应用模板进行升级与回滚,便于版本管理和持续交付。
应用发布
应用发布是指将多个服务组成的应用一键发布到 Rainbond 内置组件库中。发布过程中,应用内所有的 镜像环境变量配置文件依赖关系 等内容都会被一并打包发布,方便后续复用与交付。
导出应用
应用导出是将已经发布到内部组件库的应用一键导出为应用包,这个应用包可以导入到另一套 Rainbond 环境中,从而实现应用交付与跨环境迁移。同时也支持 DockerComposeApp 规范,适用于仅安装了 DockerCompose 的运行环境。
快速使用
下面将以 Ja va + Mysql 作为示例应用进行说明。
Ja va Git 地址:https://gitee.com/rainbond/ja va-ma ven-demo.git
Mysql 选择基于开源应用商店进行安装。
安装 Rainbond
可以先安装单机体验版,这种方式适合希望快速了解 Rainbond 的用户,采用 Docker In Docker 方式进行部署。
# 安装 Docker
$ curl sh.rainbond.com/install_docker | bash
# 设置 EIP
$ export EIP=<你的IP地址>
# 启动 Rainbond
$ docker run --privileged -d -p 7070:7070 -p 80:80 -p 443:443 -p 6060:6060 -p 8443:8443
--name=rainbond-allinone --restart=on-failure
-v ~/.ssh:/root/.ssh
-v ~/rainbonddata:/app/data
-v /opt/rainbond:/opt/rainbond
-v ~/dockerdata:/var/lib/docker
-e ENABLE_CLUSTER=true
-e EIP=$EIP
registry.cn-hangzhou.aliyuncs.com/goodrain/rainbond:v5.7.1-dind-allinone
&& docker logs -f rainbond-allinoneJa va 部署
该服务是标准的 Spring Boot 2.1.2 应用。
- 在团队视图中选择
基于源码创建组件-> 填写相关信息以及 Git 地址。
- 确认创建后,Rainbond 会自动识别项目代码语言类型,稍等片刻即可识别为
Ja va-ma ven,随后创建组件即可。 - 整个过程由 Rainbond 自动完成代码拉取、Jar 包构建和镜像构建,无需人工干预。
- 构建完成后,进入组件内 -> 端口,开启对外服务,访问自动生成的域名即可打开服务页面。
Mysql 部署
Rainbond 开源应用商店是由 Rainbond 提供的在线应用商店,汇集了各类中间件、开源软件等内容,支持用户一键安装,快速完成体验和部署。
通过开源应用商店一键部署 Mysql。
- 在团队视图中选择 基于应用市场创建组件 -> 搜索 Mysql -> 安装。
服务编排
- 在应用视图内切换到
编排模式,将Ja va连接到Mysql并更新 Ja va 组件。 - 访问 Ja va 组件,切换到
Mysql示例(域名/mysql.html)即可看到 Mysql 的连接信息,这说明 Ja va 服务已经成功连接到 Mysql。
应用发布
- 进入发布页面,发布到组件库,创建
应用模版,并填写版本号等相关信息。 - 编辑发布组件信息 (可选)
- 提交发布。
应用安装
发布到内部组件库的应用既可以导出为应用包,也可以直接在当前集群中通过 基于应用市场安装 的方式进行部署。
- 在团队视图内新增
基于应用市场安装,一键安装刚刚发布的应用。
以上就是 Rainbond 的基础使用介绍。实际上,Rainbond 还有更多高级能力和使用场景未在本文展开,建议查看官方文档 https://www.rainbond.com/docs/ 获取更多详细信息。
Github 仓库:https://github.com/goodrain/rainbond
