1

大家期待已久的BFE Ingress Controller终于在近日正式发布!

BFE Ingress Controller是基于 BFE 实现的Kubernetes Ingress Controller,用于支持在 Kubernetes 中使用 Ingress来暴露服务并进行负载均衡、SSL终结等,目前已正式发布并可以下载使用。BFE Ingress Controller采用Apache-2.0 License,项目地址:https://github.com/bfenetwork...

背景

随着云原生、容器化的不断推进,以及用户对BFE强大能力的使用和了解,我们不断收到社区的反馈,希望能够为在Kubernetes环境中部署的服务,使用BFE进行流量接入和转发。

在Kubernetes中,对外暴露服务有Ingress、LoadBalancer、NodePort等多种方式。Ingress 是对服务的外部HTTP/HTTPS访问进行管理的 API 对象。采用Ingress暴露服务时,需要部署Ingress Controller,以根据 Ingress 资源上定义的规则对流量进行控制和路由。

今年2月,BFE开源社区的开发者们发起了基于BFE的Ingress Controller的项目,目的是提供一款Ingress Controller,使用户能够在使用Ingress进行流量接入时,享受到BFE的众多优秀特点和强大能力。经过大半年的开发和测试,BFE Ingress Controller终于在本月发布了。

主要功能

BFE Ingress Controller实现了Kubernetes原生Ingress的功能,并基于BFE的能力,扩展了路由规则描述能力和服务间的流量调度能力。主要功能包括:

  • HTTP/HTTPS流量路由

    • 支持根据Host、Path、Header、Cookie对请求进行路由
    • 支持Path的精确匹配、前缀匹配
    • 支持Host的精确匹配、通配符匹配
  • 多Service之间负载均衡

    • 支持在提供相同服务的多个Service之间按权重进行负载均衡
  • TLS终结
  • 灰度发布

    • 支持基于HTTP Header/Cookie的服务灰度发布

更多信息,见BFE Ingress Controller的文档

如何部署

我们提供了BFE Ingress Controller的Docker镜像、所需的yaml配置文件、完善的手册,您可以根据手册中的“部署指南”,快速上手部署BFE Ingress Controller。

Ingress配置

通过配置Ingress资源,可以定义 Kubernetes 集群内服务对外提供服务时的流量路由规则。BFE Ingress Controller支持原生定义的Host规则、Path规则,并利用注解(Annotation)支持了Header和Cookie规则、多服务之间负载均衡的支持。
在手册中的“配置指南”部分,我们提供了详细的说明和多个示例。

后续计划

后续,我们会将更多的BFE的成熟能力,加入到BFE Ingress Controller当中,并提供对Gateway API的支持。

期待您的使用反馈,并希望有更多人加入BFE开源社区一起建设。

欢迎关注“BFE开源项目”公众号,获得本项目的更多更新。谢谢!

公众号二维码.png


BFE开源项目
7 声望7 粉丝

BFE定位于“为企业级使用场景而设计的七层负载均衡开源软件”。BFE于2012年由百度开始研发,每天转发超过万亿的请求;2019年对外开源,2020年6月成为中国在网络方向首个被CNCF接受的开源项目。