功能列表
本文档列举Rainbond开源版
具备的重点基础功能,随着版本升级本文档列举不一定完全,如有疑问请于社区留言咨询。
集群管理
功能 | 功能描述 |
---|---|
Kubernetes 集群托管 | Kubernetes 作为基础设施是 Rainbond 的基础资源 |
云资源对接 | 支持阿里云 ACK 集群创建,初始化 |
支持阿里云存储资源对接 | |
集群一键化安装和扩容 | 支持便捷安装 Kubernetes 集群和 Rainbond 集群初始化 |
支持 Kubernetes 集群节点伸缩 | |
多集群应用调度 | 应用(组件)支持在多个集群间调度 |
多集群应用编排 | 支持部署应用到多个集群 |
应用的部署
功能 | 功能描述 |
---|---|
支持 Helm 应用安装 | 支持从 Helm 应用商店安装应用 |
支持 Helm 应用配置和持续升级 | |
支持源代码持续构建 | 支持 PHP 源码编译,支持 PHP 源代码、PHP5.3~7 版本运行时,apace、nginx 构建应用,并支持流行的 PHP 开发框架 |
支持 Java 源码编译,支持 Java(maven)源代码、war 包、jar 包构建应用,并支持流行的 java 开发框架 | |
支持 Python 源码编译,支持 Python 源代码、Python 2.6~3.2 运行时构建应用,并支持流行的 Python 开发框架 | |
支持 Node.js 源码编译,支持 Node.js 源代码、Nods.js 6.x~10.x 运行时构建应用,流行的 Node.js 开发框架,包括前端类项目。 | |
支持 Golang 源码编译、Golang 1.8.x,1.9.x 运行时构建应用,并支持流行的 Golang 开发框架 | |
支持 dotnet 源码编译、支持选择多个版本的编译和运行环境(.netcore linux 运行) | |
支持 Dockerfile 识别和构建,支持 Dockerfile 源码的方式构建应用 | |
Docker 镜像持续构建 | 支持基于 DockerRun 命令识别服务运行方式构建服务组件 |
支持解析 DockerCompose 文件识别服务运行方式批量构建服务组件 | |
支持从私有镜像仓库、公有镜像仓库获取 Docker 镜像 | |
支持镜像仓库 Webhook 服务的持续部署与发布 | |
支持集成 Git 源码仓库 | 分租户的代码仓库管理,针对不同的团队隔离代码仓库 |
支持 GitWebhook 自动回调功能,实现应用的持续部署与发布 | |
支持代码分支、tag 部署,支持使用不同的代码分支、tag 构建应用 | |
支持集成 Svn 源码仓库 | 支持从 Svn 代码仓库获取源码,支持账户授权和子目录构建 |
支持第三方服务集成管理 | 支持管理运行于 Rainbond 集群外的服务,并与 Rainbond 应用网关和 ServiceMesh 网络无缝集成。 |
支持应用 12 要素原则 | 平台遵循或兼容 PaaS 平台应用的12 要素原则 |
一键部署及回滚 | 实时显示部署及回滚过程,应用的部署与回滚过程要实时可见,方便排查问题 |
版本构建历史可追溯,显示版本详细信息,要可以追溯到应用的各个部署版本及详细的部署信息,包括代码提交信息,操作人员等 | |
支持自动不间断滚动升级,应用部署,升级过程中不能影响现有业务,提供不间断业务的升级机制 | |
支持一键回滚,支持应用的快速回滚,且不应影响现有业务 | |
支持自定义的 pipeline | 支持基于 API 对接 Jenkins Pipeline, Jenkins 处理完成后由 Rainbond 完成后续 CI/CD 流程 |
组件管理与运维
功能 | 功能描述 |
---|---|
组件生命周期管理 | 支持对组件的启动、停止、更新、升级、持续构建管理 |
支持无状态组件的滚动升级,升级过程不影响业务 | |
支持有状态组件的滚动升级,集群组件升级过程不影响业务 | |
支持基于应用市场的组件升级策略 | |
支持针对组件操作的严格的权限管理机制与审计机制 | |
组件持续开发 | 支持基于代码仓库 Webhook,镜像仓库 Webhook,自定义 API 自动构建 |
组件版本管理 | 支持查询组件构建版本列表 |
支持查看构建版本与源码版本的对应关系 | |
支持版本回滚 | |
组件实例管理 | 支持查询组件运行实例的详细信息(基础信息、运行容器信息、事件信息) |
支持查询组件实例异常重启、OOM 等异常信息 | |
组件环境配置管理 | 支持基于环境变量的组件配置管理 |
直接基于动态配置文件的组件配置管理 | |
支持基于动态注入的连接信息配置管理 | |
组件存储管理 | 支持共享存储、本地存储和内存存储类型(5.1.X 及以前) |
支持基于 StorageClass 扩展存储支持类型,默认包括(Ceph-RBD, GlusterFS, 阿里云块设备等)(5.2.0 及以后) | |
可共享类型的存储支持存储组件间共享 | |
组件构建源管理 | 支持持续调整组件构建源设置 |
支持设置组件源码构建参数,根据不同的语言设置 Runtime 版本,编译参数等 | |
组件日志管理 | 支持实时应用级汇总,存储,分割和实时展示,能实时显示组件的日志、汇总分析日志、日志存储与下载功能 |
支持基于插件对接 ELK 等日志分析服务,能够对接业界流行的日志分析工具,如 ELK 进行展示与分析 | |
组件伸缩管理 | 支持不中断组件的的水平伸缩和垂直伸缩操作,平台应用应具备生产级(不中断业务)水平与垂直伸缩服务的能力 |
支持基于内存、CPU 资源的自动伸缩策略 | |
支持基于业务级分析指标的自动伸缩策略,平台具备根据业务分析指标来达到自动伸缩服务的能力(TODO) | |
GPU 资源管理 | 支持基于显存调度 GPU 资源(企业版) |
支持组件设置需要的 GPU 显存,平台为其智能分配(企业版) | |
组件高可用保证 | 支持便捷部署高可用分布式组件,将数据与计算分离,网关与计算分离。 |
赋予大多数 Web 组件分布式部署能力 | |
组件性能分析 | 支持常用应用协议的实时性能(响应时间和吞吐率)分析,支持常用应用协议,如 HTTP、TCP、MYSQL 的实时性能分析,如响应时间,吞吐率等功能 |
支持请求 Top 实时展示,组件的性能分析以列表的形式展示,并能将影响性能最大的 URL/SQL 语句进行排序 | |
支持历史分析数据查询,组件的性能分析日志支持按小时与日期进行查询 | |
支持组件实例实时状态展示和 实例内存实时状态展示和监控 | |
组件健康检测 | 支持基于多种策略的应用健康检测,平台对运行的不同协议类型的应用进行实时的监控检查 |
支持不健康组件实例的自动下线,针对异常的组件,支持配置不同的处理策略 | |
组件管理终端 | 支持基于 web 的终端管理,平台应用具备 web 控制台功能,方便开发人员登录应用内部临时调试程序。 |
支持基于命令行的终端管理,平台应支持命令行的方式进行管理,如创建应用,启/停组件,扩容组件等操作 | |
组件业务监控 | 支持自定义定义组件监控目标(Prometheus 规范) |
支持插件化扩展支持 Mysql、Redis 等业务监控 | |
支持自定义定义业务监控可视化视图 | |
业务链路追踪 | 支持 Java 类组件对接 Pinpoint 链路追踪 |
第三方组件管理 | 支持基于 API 动态注册第三方组件通信地址 |
支持静态管理第三方组件通信地址 | |
支持第三方组件健康检测 | |
支持通过 ServiceMesh 访问第三方组件 | |
支持通过应用网关访问第三方组件 | |
支持基于 kubernetes service 资源注册第三方组件(5.3.1 版本以后) |
应用管理
功能 | 功能描述 |
---|---|
应用级生命周期管理 | 支持应用级启动、停止、构建、升级操作 |
支持动态维护组件内部组件之间依赖关系 | |
应用服务治理框架切换 | 支持内置 ServiceMesh 治理框架 |
支持 kubernetes service 原生模式 | |
支持 Istio 服务治理框架(5.3.X 版本计划) | |
拓扑图可视化 | 全局业务拓扑实时状态展示,能实时显示业务组的连接(网络)拓补图展示功能 |
支持可视化编辑组件间依赖关系 | |
支持拓扑流量实时展示,具备拓扑图的流量监控及监控状态显示功能 | |
应用复制 | 基于已部署应用快速复制 |
支持跨集群、跨租户复制应用 | |
支持复制应用时批量修改构建源版本 | |
组件备份与恢复 | 支持应用级整体全量备份 |
支持备份跨租户、跨数据中心迁移和恢复 | |
支持备份数据的导入和导出 | |
支持云端备份到对象存储,默认支持 S3 和 AliOSS | |
应用发布 | 支持应用发布到企业中台组件库 |
支持应用发布到云端应用市场 | |
支持发布记录管理 | |
应用升级 | 支持基于企业中台内部组件库自动化升级和回滚 |
支持基于云应用市场应用持续升级 | |
应用配置组 | 支持应用级配置组,定义多个组件的通用环境配置 |
应用网关管理
功能 | 功能描述 |
---|---|
HTTP 应用访问策略 | 支持基于域名、访问路径、请求头、Cookie 的访问路由控制 |
支持 HTTPs 访问策略 | |
支持 HTTP 与 HTTPs 共存,HTTP Rewrite HTTPs 策略 | |
支持泛域名策略 | |
自定义负载均衡算法,支持轮询算法,会话保持算法 | |
TCP/UDP 组件访问策略 | 默认支持基于 IP+端口的 TCP\UDP 访问策略管理。 |
支持内网 IP 和外网 IP 隔离的访问策略。 | |
支持获取所有网关节点的 IP 地址,包括虚 IP。 | |
TLS 证书管理 | 支持导入第三方签发的 TLS 证书 |
支持证书的状态监控和管理 | |
支持自动签发 TLS 证书(TODO) | |
服务测试升级策略 | 支持 A/B 测试控制 |
支持灰度发布控制 | |
服务安全控制 | 插件化支持 JWT 业务安全认证(定制) |
插件化支持白名单、黑名单控制管理(定制) | |
插件化支持 WAF 防火墙(定制) | |
网关监控 | 对接 Prometheus 监控域名、组件的实时访问数据 |
监控网关运行的实时数据 | |
组件访问日志管理 | 支持与第三方日志组件对接,发送组件访问日志到第三方平台(定制) |
组件插件的管理与设计
功能 | 功能描述 |
---|---|
具备完善的应用高级功能扩展架构 | 组件除本身功能以外可以无侵入的扩展其他高级功能,例如防火墙,日志处理,性能分析,网络治理等,建立标准的应用插件体系规范非常关键。插件是独立存在,与组件绑定运行的程序,与组件具有相同的运行环境,可以定义插件独有的配置信息。 |
具备插件与组件协同工作的基础运行环境,例如提供服务发现,配置发现,环境配置等。 | |
具有完善的组件插件开发,部署流程,与应用可以便捷的绑定。能够自助完成应用插件设计 | |
组件插件支持标准化传播共享 | 组件插件具备标准化传播能力,可以单独或与组件绑定分享到应用市场 |
支持从应用市场安装和使用插件 | |
提供常用的组件插件 | 提供生产可用的插件用例,例如日志分析、MySQL 数据备份、应用性能分析、网络治理等。 |
微服务架构
功能 | 功能描述 |
---|---|
提供 Service Mesh 架构支持 | 支持跨语言和跨协议服务调用 |
支持多种 Service Mesh 框架实现(envoy、linkerd 等),针对不同场景可实时替换 | |
支持组件自动注册和发现 | |
支持透明的负载均衡,组件可以随时伸缩 | |
支持组件治理:高级路由、限流、熔断机制 | |
支持组件拓扑显示 | 通过拓扑图显示组件之间的依赖关系 |
支持组件动态编排 | 不需要修改配置文件,动态编排组件依赖关系 |
支持对接其他微服务架构 | 支持对接 Dubbo |
支持对接 Spring cloud | |
支持云原生应用治理模式动态切换 | 灵活选择应用治理模式,将业务架构和技术架构解耦合,治理模式对于业务开发者无需关注。 |
支持 API gateway | 支持通过插件扩展 API gateway 的功能 |
支持对接第三方登录,对接 Oauth 2.0 | |
支持限流和熔断 | |
支持访问控制 | |
支持通过插件机制实现组件之间的网络治理 | 故障处理及恢复,熔断/限流 |
传输加密 | |
网络策略管理 | |
性能分析 | |
支持 tracing | |
支持内部组件 A/B 测试和灰度发布 | |
支持基于域名/Path/header 的业务路由 |
企业组件库(应用市场)管理
功能 | 功能描述 | 说明 |
---|---|---|
应用发布和安装和升级 | 支持自助发布一组组件到应用市场,包括程序,环境与配置,数据,拓扑关系,插件扩展。 | |
用户可以在应用市场一键安装,不需要懂技术 | ||
支持跨数据中心发布组件和安装组件 | ||
发布新版本后,应用可以一键升级 | ||
在线和离线的组件交付 | 支持应用市场间组件同步 | |
支持组件导出安装包兼容 docker-compose。 | ||
支持组件离线导入与导出,导入后可以一键安装使用 | ||
应用市场展示功能 | 支持组件多级分类显示,用户可以分类筛选 | |
支持组件搜索 | ||
显示组件名、logo、简介和版本 | ||
支持应用市场的审核机制 | ||
应用模版版本管理 | 支持设置应用模版版本状态,管理多个应用发行版 | |
多级应用市场 | 支持三级应用市场隔离,发布组件时可选组件可见的粒度。 | |
支持对接公有应用市场,其他应用市场 |
系统运维与安装
功能 | 功能描述 |
---|---|
基于 Operator 的 UI 化平台安装 | 支持定义存储类型 |
支持定义各类安装参数 | |
支持 UI 化管理安装过程和升级过程 | |
支持多个集群并行安装 | |
支持对接已有 Kubernetes 集群 | |
支持基于公有云的在线便捷安装 | 支持基于阿里云 ACK 的在线便捷安装 |
支持动态集群扩容 | 自动跟随 Kubernetes 集群的扩容 Rainbond 集群自动扩容 |
平台其他功能及技术架构
功能 | 描述 |
---|---|
标准 RestfulAPI 开放设计,支持二次开发 | 支持应用标准化管理 API 开放,基于用户授权的安全验证策略 |
平台管理 API 开放,支持对用户,租户,权限等管理 | |
资源管理 API 开放,支持对集群节点,资源调度情况进行管理 | |
Oauth2.0 | 支持对接多个 Oauth2.0 服务 |
支持基于 Oauth2.0 的第三方用户登录 | |
支持 Oauth2.0 对接代码仓库服务,接入组件持续构建流程 | |
Oauth 支持类型包括 Github Gitlab 钉钉 阿里云 | |
应用与资源解耦合 | 架构思路上应用不与计算资源绑定,支持根据需要随处迁移 |
支持多功能命令行工具 | 命令行工具支持组件的启动,停止,调度,综合状态查询功能 |
命令行工具支持租户查询,批量操作功能 | |
命令行工具支持集群节点管理,资源调度管理 | |
权限管理 | 支持在租户级别自定义角色名称,自定义分配权限,用户自定义支持多种角色 |
支持组件级别权限精确控制,可继承租户级别权限 | |
控制权限严格验证,做到 API 级别安全控制 | |
Overlay 网络架构支持 | 支持多租户网络隔离的 Overlay 网络模型 |
支持虚拟机、容器统一的网络资源(IP,路由)自动化分配,虚拟机与容器可以同时组成租户网络 | |
支持多种类型的存储系统对接 | 支持组件级别自助设置多种存储设备对接,包括:分布式文件系统,块设备,内存虚拟存储等 |
支持存储数据的备份,快照与恢复 | |
应用调度系统 | 基于 Kubernetes 的 docker 容器调度系统,不必要暴露过多的容器技术概念,支持平台级的应用调度参数设置 |
支持自定义调度策略的设置和二次开发 | |
组件间内部负载均衡 | 内部服务之间的访问能够自动进行服务发现和负载均衡 |
组件之间的负载均衡功能可插件化扩展,支持高级的服务治理 | |
全平台操作记录审计 | 企业版提供 |
应用状态感知与报警 | 企业版提供 |
集群监控可视化 | 企业版提供 |