大家期待已久的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开源项目”公众号,获得本项目的更多更新。谢谢!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。