ECS容器网络最佳实践-多网卡方案

本文介绍了ECS容器网络的多网卡方案,通过虚拟网络接口卡(NIC)绑定到容器,实现高性能、易管理和强隔离的容器网络。方案详细描述了容器网络直通vSwitch的流程,强调了VPC直通、跨VPC、高性能、强隔离和易管理等优势,并对比了传统方案。此外,文章提供了业务实测数据,展示多网卡方案在性能和延迟方面的提升。
摘要由CSDN通过智能技术生成

摘要: 容器是相比于虚拟机(Virtual Machine,VM)更轻便,部署更方便快捷的一种虚拟化技术。 Docker是目前主流的容器引擎,支持Linux,Windows等多种平台,同时支持Kubernetes(K8S), Swarm及Rocket(RKT)等主流Docker编排系统。

概述

容器是相比于虚拟机(Virtual Machine,VM)更轻便,部署更方便快捷的一种虚拟化技术。 Docker是目前主流的容器引擎,支持Linux,Windows等多种平台,同时支持Kubernetes(K8S), Swarm及Rocket(RKT)等主流Docker编排系统。常见的容器网络支持Bridge,Overlay,Host及用户自定义网络等多种模型,K8S等系统依赖于容器网络接口(Container Network Interface, CNI)插件来完成网络管理,常见的有Calico/Flannel等知名CNI插件。本文将介绍一些容器网络的基本知识,基于阿里云的弹性网络接口(Elastic Network Interface, ENI)技术实现了ECS容器网络的高性能,易部署及维护, 具有强隔离的高安全容器网络。

多网卡容器网络

当VM拥有多张网络接口卡(Network Interface Card, NIC),而且这些NIC是能够动态热插拔时,NIC就能够用于容器网络, 这样容器网络将不再需要利用Linux VETH及Bridge等技术,同时报文转发下移到了位于宿主机上的虚拟交换机(Virtual Switch,vSwitch),通过减少流程提升网络性能。

方案介绍

如下图所示,在宿主机上运行有vSwitch,用于转发VM及容器的流量, 在vSwitch上连接有多张虚拟NIC。在VM内启动容器时,在宿主机上动态地将虚拟NIC绑定容器所在的VM,然后在VM内部将NIC绑定到容器所在的网络命名空间,容器内的网络流量能够直接通过这块NIC直接发送到位于宿主机上的vSwitch(容器网络直通vSwitch), vSwith内应用ACL/QoS/Session等规则过后将流量进行转发。当位于宿主机1上的VM内运行的容器访问位于宿主机2上的VM内运行的容器时,流量大致会经历如下流程:

 

1>  网络报文经过容器内核网络协议栈,查找路由后通过eth0网卡发送报文;

2>  宿主机上的vSwitch从虚拟端口收到来自容器的报文,运行vSwitch的转发逻辑,将报文通过物理网络端口发送到ToR交换机 (Top of Rack Switch, ToR Switch),如果针对容器或者虚拟机网络建立了虚拟私有云 (Virtual Private Cloud, VPC)则需要对报文使用VxLAN等隧道技术进行封装;

3>  ToR Switch通过查询路由信息,通过连接宿主机2的物理端口将报文转发;

4>  位于宿主机2上的vSwitch接收物理端口报文,经转发逻辑发送到连接容器的虚拟端口;

5>  容器内协议栈eth0收到由另一端发送来的报文,由容器内网络协议栈进行处理。

方案特点

与传统的在VM内运行容器的方案对比,本方案具有高性能,易管理及强隔离等特点。

VPC直通

让容器通过多网卡直通的方案,直接接入VPC网络平面,能让每个容器具备全量的VPC网络功能,包括:EIP、SLB、高防、安全组、HAVIP、NAT、用户路由等众多高级功能。

跨VPC

容器多网卡直通方案,直接接入了VPC网络平面,因此可以可以使用VPC的一些高级功能,例如能够使用peer 功能,也可以使用跨VPC的弹性网卡访问云产品, 也可以给容器分配多个不通VPC内的弹性网卡,使其能够同时跨多个VPC。

高性能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值