BFE Ingress Controller正式发布!
大家期待已久的BFE IngressController终于在近日正式发布!
BFE Ingress Controller是基于 BFE 实现的Kubernetes Ingress Controller,用于支持在 Kubernetes 中使用 Ingress来暴露服务并进行负载均衡、SSL终结等,现已正式发布并可以下载使用。BFE Ingress Controller 采用Apache-2.0 License,项目地址:https://github.com/bfenetworks/ingress-bfe 。
背景
随着云原生、容器化的不断推进,以及用户对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的文档:https://github.com/bfenetworks/ingress-bfe。
如何部署
我们提供了BFE Ingress Controller的Docker镜像、所需的yaml配置文件、完善的手册,您可以根据文档中的“部署指南”,快速上手部署BFE Ingress Controller。
Ingress配置
通过配置Ingress资源,可以定义 Kubernetes 集群内服务对外提供服务时的流量路由规则。BFE Ingress Controller支持Kubernetes原生定义的Host规则、Path规则,并利用注解(Annotation)支持了Header规则、Cookie规则,以及多服务之间的负载均衡。
在文档中的“配置指南”部分,我们提供了详细的说明和多个示例。
后续计划
接下来,我们会将更多的BFE的成熟能力,加入到BFE Ingress Controller当中,并提供对Gateway API的支持。
期待您的使用反馈,并希望有更多人加入BFE开源社区一起建设。
点击下方“阅读原文”,可提交留言和评论。
欢迎关注“BFE开源项目”公众号,获得本项目的更多更新。谢谢!