喜大普奔!BFE 控制平面正式开源发布!
金秋十月,BFE 的好消息不断。继 BFE Ingress Controller 开源发布后,BFE 控制平面也正式开源发布,BFE 完整的开源解决方案已经可以供用户选择使用。
本次我们发布了控制平面的 API-Server、Conf-Agent 和 Dashboard 三个组件,均采用Apache-2.0 License,现已可以下载源码及安装包。Github地址:https://github.com/bfenetworks
概述
BFE 是一个企业级的七层负载均衡系统,其核心转发引擎于2019年7月开源,并于2020年6月成为 CNCF 的 Sandbox Project。BFE 目前承载了包括百度在内的多个互联网、金融、传媒、交通运输等行业头部客户的在线流量。
完整的 BFE 解决方案可以分为数据平面和控制平面。2019年发布的核心转发引擎属于数据平面,本次我们发布了控制平面的核心组件后,用户已经可以使用 BFE 已开源的各个组件,组成完整的七层负载均衡和流量接入平台,满足组织和企业的流量接入和管理需求。
系统架构
当前已开源的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/bfenetworks/api-server/blob/develop/docs/zh_cn/deploy.md
Dashboard
BFE Dashboard 提供了以 Web 网页方式对 BFE 进行图形化管理操作的界面。因篇幅所限,下面截取了子集群管理页面为例,供大家一览。
界面的布局包括如下几部分:
视图选择:系统管理员可以选择系统视图对系统资源进行管理,或选择租户视图对租户内的资源进行管理。租户管理员只有租户视图,对其具有权限的租户内的资源进行管理。
语言切换:当前支持中文和英文。
导航栏:提供侧边导航栏和顶部导航栏,作为功能页面的入口。
功能页面主体:每个功能页面提供一个特定功能,通常是对某个资源/配置的管理,包括查看、搜索、添加、编辑、删除等操作。
更多信息,见BFE Dashboard项目文档:https://github.com/bfenetworks/dashboard
后续计划
接下来,我们将提供更多文档和最佳实践分享,帮助更多用户方便地搭建BFE流量接入平台。我们也会继续研发投入,将更多的BFE功能纳入控制平面组件的管理,尤其是一些常用的扩展模块。
期待您的使用反馈,并希望有更多人加入BFE开源社区一起建设。
点击下方“阅读原文”,可提交留言和评论。
欢迎关注“BFE开源项目”公众号,获得本项目的更多更新。谢谢!