- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
蚂蚁金服Docker网络插件
开发和实践
署名:辺客
职称:高级技术专家
docker网络分析
docker网络插件开发
蚂蚁金服网络插件实践
Docker
网络分析
BridgeNetwork
OverlayNetwork
WeaveNetwork
DockerBridgeNetwork
docker启动会在宿主机上创建docker0的网桥作为容器的网关
不同宿主机的容器无法直接通信
通过iptablesSNAT/DNAT和容器外网络通信
DockerOverlayNetwork
docker会创建docker
docker会创建docker_gwbridge网桥作为overlay容器的默认网关
每个overlay网络有独立namespace和br0网桥
ARP:使用gossip协议管理节点成员关系(Serf)、广播L3Miss
不同宿主机的容器通过vxlan隧道直接通信
WeaveNetwork
主机间通过weave容器建立连接(gossip协议)
同一主机内的容器间直接通过weave网桥通信,无需经过weaverouter
跨主机的容器通过datapath,vxlan隧道通信
Weaver容器处理datapath上的FlowMiss,把转发规则注入到datapath
小结:
容器的跨主机通信的需求
ARP的广播增加网络负担
Gossip协议的运维复杂度
多种docker网络环境(aliyun经典VM/VPC混合云)
高性能网络业务(带宽延迟)
Docker网络插件开发
CNM模型
插件架构和开发
CNM模型
Sandbox:一个隔离的网络配置环境
Endpoint:隶属于某一个network的通讯端口,多个Endpoint也可以在一个sandbox中共存。Network:一个唯一的、可识别的endpoint组,组内endpoint可以相互通讯。你可以创建一个
Frontend和Backendnetwork,然后这两个network是完全隔离的。
插件架构和开发
/var/run/docker/plugins
.sock/.spec/.json
DockerpluginAPI
/engine/extend/plugin_api/
开发dockerplugin的利器
/docker/go-plugins-helpers
//Driverrepresenttheinterfaceadrivermustfulfill.
typeDriverinterface{
GetCapabilities()(*CapabilitiesResponse,error)
CreateNetwork(*CreateNetworkRequest)error
CreateEndpoint(*CreateEndpointRequest)(*CreateEndpointResponse,error)
EndpointInfo(*InfoRequest)(*InfoResponse,error)
Join(*JoinRequest)(*JoinResponse,error)
Leave(*LeaveRequest)error
DiscoverNew(*DiscoveryNotification)error
DiscoverDelete(*DiscoveryNotification)error
}
蚂蚁金服网络插件
Vlan/SRIOVDriver
VPCDriver
VxlanDriver(Smartnic)
VlanDriver
宿主机的管控流量和容器的流量隔离在两个不同的vlan
ARP广播风暴,交换机PPS压力(ARP带回)
大二层,交换机MAC表象有限(MACNAT)
最适配现有物理网络,对业务影响最小(企业内部,物理机)
SRIOVDriver
VF/PF不同vlan隔离容器和宿主机流量
VF直接assign给Container,低延迟高带宽
PFLacpbonding,VFXOR双活bonding
适用于对网络带宽,延迟有较高要求的业务场景(DB等)
VPCDriver
自定义路由的方式实现网络可达,阿里云openapi支持
利用专线可以实现和用户中心的Docker互联
适用于在阿里云的VPC上使用docker(公有云业务,公司业务上云)
VxlanDriver
网络拓扑静态
您可能关注的文档
- 钟忻—Ceph的PB级存储实践.docx
- 祝效国—互联网+大健康:美国前沿技术、新兴产业及合作机会.docx
- 【PDF】从德国工业4.0看传统机械装备智能化升级_阿里巴巴技术文档.docx
- 【PDF】分布式消息引擎Apache RocketMQ最佳实践_阿里巴巴技术文档.docx
- 【PDF】高效Mysql的N个习惯_阿里巴巴技术文档.docx
- 【PDF】高血压云服务生态的健康梦_阿里巴巴技术文档.docx
- 【PDF】工业云促进智慧水务发展_阿里巴巴技术文档.docx
- 【PDF】国家开放大学“六网融通”教学模式的实践与探索_阿里巴巴技术文档.docx
- 【PDF】聊聊涂鸦、云、硬件和平台那些事_阿里巴巴技术文档.docx
- 【PDF】品友:撮合经济、人工智能、大数据与开放生态_阿里巴巴技术文档.docx
文档评论(0)