喜大普奔!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 开源社区一起建设。
版权声明: 本文为 InfoQ 作者【百度开发者中心】的原创文章。
原文链接:【http://xie.infoq.cn/article/05a089182b5ba4017a34ca143】。文章转载请联系作者。
评论