Gimbal:多集群层7负载均衡器的未来选择
项目介绍
Gimbal,一个基于Contour构建的层7负载均衡平台,是一个已经退役但仍然可供参考的开源项目。它利用Envoy代理作为反向代理和负载平衡器,为Kubernetes提供可扩展、多团队和API驱动的入口层,同时也支持传统基础设施如OpenStack。
该项目由gimbal和Yahoo Japan Corporation子公司Actapio合作开发,旨在不中断对OpenStack的投资情况下,将Yahoo Japan的基础设施现代化为Kubernetes。
项目技术分析
Gimbal的核心在于其跨Kubernetes和OpenStack集群的服务发现能力。通过Contour与Envoy的结合,它能够实现灵活的路由配置,确保流量高效、安全地到达正确的目标。早期版本支持Kubernetes 1.7+和OpenStack Mitaka,且在Kubernetes 1.9+上运行最佳。
主要特性包括:
- 多集群管理:Gimbal允许在多个独立的Kubernetes集群之间管理和分配入站流量。
- 云原生兼容性:与Kubernetes紧密集成,提供云原生的负载均衡解决方案。
- 传统基础设施兼容:同时支持OpenStack等传统基础设施,提供一致性负载均衡体验。
- API驱动的配置:开发团队可以通过API自管理路由配置,提高效率并降低错误率。
应用场景
- 多集群环境:适用于拥有多个独立Kubernetes集群,并希望统一管理入口流量的企业。
- 混合云部署:对于同时使用Kubernetes和OpenStack的企业,Gimbal提供了统一的负载均衡解决方案。
- 自我服务模式:开发团队可以自主管理其服务路由,以快速响应需求变化。
- 裸机或本地基础设施:即使在没有云基础设施的情况下,也能享受到类似云的负载均衡功能。
图解工作原理
下图概述了Gimbal如何协调不同的上游集群和服务:
获取与支持
要开始使用Gimbal,请参阅部署指南中的快速启动应用。详细的组件文档可在文档目录中找到。如果你遇到任何未解决的问题,欢迎在GitHub问题页面提交问题,或者加入Kubernetes Slack频道#gimbal
进行讨论。
虽然这个项目不再维护,但对于希望了解过去的技术趋势和探索多集群管理策略的人来说,Gimbal依然有价值。
尽管如此,我们还是鼓励社区成员参与更活跃的项目,例如Contour或其他新兴的Kubernetes入口控制器,以获取持续的支持和更新。
请注意,由于Gimbal已废弃,它可能不再适合用于生产环境。然而,它的设计理念和技术实践仍值得学习和借鉴。