安全的 Kubernetes Ingress 和 Egress Controller

本文旨在描述如何部署 VoltMesh 集群,以充当部署至现有 Kubernetes 基础架构中的出海应用工作负载的高可用型Ingress 和 Egress Controller。

本文提供了两种设计方式:

设计一利用 BGP (Calico) 实现最佳负载均衡性能,同时提供最大冗余

设计二利用 NodePort 服务实现最大兼容性,但负载均衡特性欠佳,出口流量可能会丢失冗余

设计一:使用 CALICO 和 BGP 的 POD 路由

在此设计中,将 1 个三节点 VoltMesh 集群部署至现有 Kubernetes 集群前端,并安装Calico CNI 网络插件,以便为应用工作负载提供进出流量路由和网络安全防护。尽管这一解决方案设计侧重于 Calico,但也可在未封装的情况下替代其他支持 BGP 的 CNI 插件。

您可以通过 Volterra 服务发现与 Kubernetes API 服务器的集成自动发现应用端点,从而执行实时检测。随着应用工作负载不断横向扩展和收缩,这些应用端点或 Pod IP 将自动在 VoltMesh 源池中进行添加和删除,有助于实现零接触负载均衡器重新配置。

通过服务发现识别应用 Pod IP 后,VoltMesh 集群和应用 Pod 之间的 3 层路由将通过 Pod IP 路由的 BGP 通告启用。该集群中的所有 VoltMesh 节点将直接对等互连 Calico 节点,或通过中间的“架顶式”路由器对等互连。VoltMesh 支持eBGP 和 iBGP 对等互连。

在直接对等互连 VoltMesh 节点与 Calico 节点时,请务必注意 VoltMesh 不是路由反射器服务器 —Calico 节点之间的内部对等互连对于在 Kubernetes 集群内共享 Pod IP 信息必不可少,这样方可避免向每个 Pod 到 Pod 请求添加额外的跳数,甚至破坏 Pod 到 Pod 通信。内部对等互连可通过全网状部署(适用于小规模部署)或通过充当路由反射器的指定Calico 节点(适用于大中规模部署)实现。

 为了针对应用工作负载启用 VoltMesh Egress Controller 功能,VoltMesh 集群需要检查离开 Kubernetes 集群的所有流量,以便在 3、4 和 7 层应用可配置的安全策略。

 如果直接对等互连 VoltMesh 节点与 Calico 节点,则集群中的单个 VoltMesh 节点将成为所有离开 Kubernetes 集群的流量的默认网关或“下一跳”。默认路由通过 BGP 从 VoltMesh 集群通告给所有 Kubernetes 节点,并由 Calico 安装至主机操作系统。如果用作默认网关的 VoltMesh 节点因任何原因发生故障,VoltMesh 集群均可检测到,并通过 BGP 自动将新的网关地址传播到 Kubernetes 节点。

 通过中间路由器对等互连 VoltMesh 节点可以在 VoltMesh 集群和路由器之间创建等价多路径 (ECMP) 路由,以支持出口流量通过所有三个 VoltMesh 节点而非单个节点进行路由,从而充分利用全主配置,而非主/备/备配置。由 VoltMesh 集群通过 BGP 传播的默认网关不会通告给 Kubernetes 节点,每个 Kubernetes 节点的下一跳仍然是路由器。

 虚拟 IP 或 VIP 均被用于部署在 VoltMesh 集群上的所有 HTTP(S) 和 TCP 负载均衡器。当一个 VoltMesh 节点发生故障时,每个 VIP 均可使用 VRRP 实现高可用性,并通过 BGP 进行通告。

总结

这一设计能够为关键任务应用提供高可用性和容错性,是推荐的部署配置。

我们是设计师、工程师、梦想者,是您扬帆出海的私人顾问专家


相关内容:
[亚马逊开店深圳办事处地址在哪里]
[亚马逊开店深圳办事处地址在哪里]
亚马逊开店深圳办事处地址揭秘:一站式开店服务,轻松拥抱财富!各位亲爱的创业者们,你们好!今天要给大家带来一个好消息——亚马逊开店深圳办事处地址终于揭开了神秘面纱!在这里,
亚马逊开店卖翡翠怎么样?
亚马逊开店卖翡翠怎么样?
亚马逊开店卖翡翠:珠宝行业的巨大商机等你来挖掘!在炎热的夏季,一杯清凉的饮料、一本好书和一个精美的翡翠饰品,想必是很多人的首选。翡翠作为中国传统文化中的瑰宝之一,以其晶莹

TG客服:@SSjiejie — 官方频道:@SSwangluo

三生网络 © 2009-2023 超15年出海经验,跨境项目专家