蚂蚁金服Docker实践的挑战与方案Agenda•蚂蚁容器服务(ACS)简介•ACS实践•计算•网络•服务编排•快速交付•总结ACS简介应用场景与架构ACS简介(一)•以容器为载体,为PaaS/SaaS按需提供计算存储网络资源,提高资源的利用率与交付速度•适配多种IaaS环境,对PaaS/SaaS屏蔽IaaS实现细节•实现容器/集群级别的标准化与可复制/可迁移ACS简介(二)ACS搜索服务网关服务消息队列高速缓存其他PaaSSaaSSaaS其他BootstrapX-LinkAliyunIaaSACS整体架构DockerclusterManagementPaaSACSSwarmACSDockerACSDockerACSSwarmACSDockerBootstrapACS应用场景(一)金融云平台中实现了基于ACS/Docker的全流程管理。ACS应用场景(二)ACS在蚂蚁内部当前主要作为IaaS平台,为了兼容已有架构与运维体系,基本原则是把容器作为VM使用。ContainerPaaSContainerContainerContainerContainersClusterSSH计算动态,优化的cpuset资源分配,Swarm集群下依然能够简易透明的控制cpu资源调度。Cpuset设置存在的问题(一)012Core0Socket0CPU113Core1214Core2315Core3416Core4517Core5618Core0Socket1719Core1820Core2921Core31022Core41123Core5Cpuset设置存在的问题(二)012Core0Socket0CPU113Core1214Core2315Core3416Core4517Core5618Core0Socket1719Core1820Core2921Core31022Core41123Core5Cpuset分配的解决方案DockerDaemonSwarmManagercpuset=21,23cpuset=6,7DockerDaemonDockerDaemonDockerDaemoncpuset=8,9cpuset=12,13dockercreate–lcpuset.ncpu=2网络为了屏蔽不同的IaaS,ACS提供了VLANdriver和VXLANdriver适配物理网络与阿里云ECS经典网络。VLAN网络基于VLAN的大二层网络,同时带来了MACNAT和ARPProxy功能;改进的Endpoint生命周期将更适合IaaS平台。对网络的需求跨host的容器直连容器需要有独立IP兼容现有的网络架构ACSVLANdriverDockerDaemonVLANPluginKV(Zookeeper)NodeDockerDaemonVLANPluginNodeDockerDaemonVLANPluginNodeSwarmManagerSwarmClusters大二层网络的经典问题易环路整网MAC地址过多,易超出交换机CAM表容量广播流量大,影响范围大,ARP报文数量多会带给交换机巨大压力MAC=m2IP=ip2MACNAT与ARPProxyovsbr0bond0veth1veth2eth0eth0MAC=m0MAC=m1IP=ip1MAC=m3IP=ip3veth3eth0srcMACm1dstMACmsrcMACm0dstMACmsrcMACmdstMACm0dstIPip3srcMACmdstMACm3dstIPip3ARPop=1IPip3ARPop=2MACm0libnetwork官方DockerIP地址引发的问题•容器重启后...