作者:中国移动云能力中心——蒋贤强
概要:SDN-Native是一套云原生的通用网络方案,针对容器内、外部网络均做了优化。具有高可靠、低延迟、高性能的特点。
一、背景介绍
•移动云容器网络现状
移动云容器化产品采用 K8s Service 的 NodePort 方式对外提供访问服务,外部流量经过集群外负载均衡后,到达集群内某一节点,随后由该节点的 Kube-Proxy 利用 iptables/IPVS 来将流量转发到后端容器。该方案的存在如下几个痛点:
1.高并发下 SNAT 问题:源端口冲突导致 Conntrack 插入失败,数据包丢弃
2.Iptables 模式下,规则太多带来性能问题
3.Overlay 带来损耗:以 IPIP 为例,解封包过程网络性能损耗在 20%到25%,VXLAN 更高
4.不支持跨 AZ 高可用
5.外部负载均衡可能带来性能瓶颈
针对上述痛点,需要找到一种既能解决容器内外网性能问题,同时支持跨 AZ 高可用的网络方案。
二、SDN-Native 解决方案
容器集群外部网络采用 SLB+BGP 的双 AZ 高可用方案。AZ 内 SLB 采用集群化部署,保证 SLB 级别的多活高可用;AZ 间 SLB 宣告相同 VIP,保证 AZ 级别的容灾。客户云主机流量通过 SDN 网关透传到 Underlay