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 的能力,扩展了路由规则描述能力和服务间的流量调度能力。主要功能包括:
1、HTTP/HTTPS 流量路由
支持根据 Host、Path、Header、Cookie 对请求进行路由
支持 Path 的精确匹配、前缀匹配
支持 Host 的精确匹配、通配符匹配
2、多 Service 之间负载均衡
支持在提供相同服务的多个 Service 之间按权重进行负载均衡
3、TLS 终结
4、灰度发布
支持基于 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 开源社区一起建设。
版权声明: 本文为 InfoQ 作者【百度开发者中心】的原创文章。
原文链接:【http://xie.infoq.cn/article/3a81bb22e41b0110a658d37b7】。文章转载请联系作者。
评论