金秋十月,BFE的好消息不断。继BFE Ingress Controller开源发布后,BFE控制平面也正式开源发布,BFE完整的开源解决方案已经可以供用户选择使用。
BFE 是一个企业级的七层负载均衡系统,其核心转发引擎于2019年7月开源,并于2020年6月成为CNCF的Sandbox Project。BFE目前承载了包括百度在内的多个互联网、金融、传媒、交通运输等行业头部客户的在线流量。
完整的BFE解决方案可以分为数据平面和控制平面。2019年发布的核心转发引擎属于数据平面。本次我们发布了控制平面的API-Server、Conf-Agent和Dashboard三个组件。至此,用户可以使用BFE已开源的各个组件,组成完整的七层负载均衡和流量接入平台,满足组织和企业的流量接入和管理需求。
BFE API-Server、Conf-Agent、Dashboard均采用Apache-2.0 License,现已可以下载源码及安装包。Github地址:https://github.com/bfenetworks 。
系统架构
当前已开源的BFE控制平面包括以下三个组件:
- API-Server: 对外提供Open API接口,完成BFE(BFE转发引擎)配置的变更、存储和生成。控制面必须组件。
- Conf-Agent: 配置加载组件,从API-Server获取最新配置,并触发 BFE 进行配置热加载。控制面必须组件。
- Dashboard: 为 BFE 用户提供了图形化操作界面,以可视化的方式对 BFE 的主要配置进行管理和查看。可选组件。
控制平面各组件及数据平面BFE转发引擎之间的关系如下图所示:
主要功能
本次发布的BFE控制平面组件,主要有如下功能:
- BFE集群的统一管理:可统一管理一个BFE集群内所有BFE转发引擎实例的配置
- 租户(产品线)管理:提供对配置的多租户管理能力
- 用户和角色管理:管理用户,并赋予其系统管理员或租户管理员权限
- 证书管理:统一管理TLS证书
- 服务后端管理:管理后端服务的实例、子集群和集群,并配置子集群间负载均衡
- 路由管理:管理域名列表和转发规则表
- 配置热加载:配置变更后,自动触发BFE转发引擎热加载最新配置
- 图形化界面:支持Web方式的图形化管理界面
- API接口:支持符合RESTful规范的Open API接口
部署方式
您可以直接在各控制面组件对应的github项目的release页面下载可执行文件和初始配置文件,或者通过编译源码的方式得到。
推荐的部署顺序为:API-Server -> Dashboard -> Conf-Agent。我们提供了详细的部署文档,可按照文档完成控制平面各组件的部署:https://github.com/bfenetwork...
Dashboard
BFE Dashboard提供了以Web网页方式对BFE进行图形化管理操作的界面。因篇幅所限,下面截取子集群管理页面为例,供大家一览。
大家可以关注以下功能:
- 视图选择:系统管理员可以选择系统视图对系统资源进行管理,或选择租户视图对租户内的资源进行管理。租户管理员只有租户视图,对其具有权限的租户内的资源进行管理。
- 语言切换:当前支持中文和英文。
- 导航栏:提供侧边导航栏和顶部导航栏,作为功能页面的入口。
- 功能页面主体:每个功能页面提供一个特定功能,通常是对某个资源/配置的管理,包括查看、搜索、添加、编辑、删除等操作。
更多信息,见BFE Dashboard项目文档:https://github.com/bfenetwork... 。
后续计划
接下来,我们将提供更多文档和最佳实践分享,帮助更多用户方便地搭建BFE流量接入平台。我们也会继续研发投入,将更多的BFE功能纳入控制平面组件的管理,尤其是一些常用的扩展模块。
期待您的使用反馈,并希望有更多人加入BFE开源社区一起建设。
欢迎关注“BFE开源项目”微信公众号,获得本项目的更多更新。谢谢!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。