阿里超大规模Docker化之路

  • 时间:
  • 浏览:0
  • 来源:彩神3D_神彩3D官方

b)         触发朋友Docker化的主要原困二:DevOps是一2个 更好的方向,阿里巴巴做了所以运维和研发融合的调整。Docker是真正帮助DevOps思想真正落地的三种手段,所有的思想最终都体现在工具或框架上,变成一2个 强制性的手段,Docker会通过Dockerfile的描述,来声明应用的整个运行环境是怎么的,也就原困在编写Dockerfile过程中,就不可能 清楚在不同环境中的依赖请况到底是怎么的,怎么让,你这名 环境是通过一2个 团队来维护的。

第一轮Docker

在推进过程中,朋友还遇到规模大什么的问题:

通过改造增强HA机制后,能必须做到每次切换、简单发布。

在整个Docker化的过程中,朋友在“慢”你这名 大什么的问题上遇到了最大的挑战,不管是编译慢还是发布慢,都做了所以突击的改造项目,最后才让整个编译过程、发布过程做到可控的响应速率内。

林昊:花名毕玄,阿里巴巴研究员。4007年加入当时的淘宝网,在阿里巴巴的九年时间中经历了多个不同技术领域。打造了阿里目前使用最为广泛的核心里面件之一的服务框架;建设了阿里的HBase团队,发展到今天HBase不可能 是阿里最重要的NoSQL产品;打造阿里基于LXC的虚拟化系统,以及集群资源管理系统,不断降低阿里巴巴在机器资源上投入的成本;设计并带领团队实现了阿里巴巴技术发展史上具有里程碑意义的异地多活,使阿里巴巴电商系统具备了在中国范围内任意城市部署,并在线热切换的能力。

Docker化之路

除了里面四轮次比较明显的大什么的问题,在整个Docker化过程中,还做了所以的Bugfix和功能增强,具体有以下几方面:

规模朋友做到从支撑4000到3W+,压力减小了所以。而Swarm的稳定性对朋友来讲,最大的大什么的问题在HA上,一2个 Swarm实例不可能 挂掉,重新拉起是必须时间的。所以朋友在用Swarm时进行了改造,在前面加了一层Proxy,不同业务、不同场景都能必须通过Proxy转换到另一方不同的Swarm实例上。另外,所有的Swarm节点朋友也有用一2个 备方案在旁边,怎么让也有不同机房去备。

2016年7月,阿里巴巴制定了2个 Docker化目标:

朋友在Docker的镜像模式基础上做出一2个 crofix的模式,你这名 模式也有绕开镜像,所以从镜像中拉起朋友必须的文件,去做覆盖等动作,原先就能必须完成整个发布。Docker化镜像模式是必须坚持的,怎么让被抛弃了Docker化的意义。

1.         交易核心应用400%Docker化;

第二轮Docker

继续推进到所以应用切换到Docker的事先,朋友又遇到了更大的大什么的问题:

不可能 规模比较大,开源软件很容易碰到支撑规模欠缺,稳定性差的大什么的问题。目前朋友使用Swarm来管理,Swarm的规模能力共不需要 必须支撑4000个节点、400000个容器,而朋友必须单Swarm实例健康节点数在3W+,对此,朋友对Swarm进行了优化。

第四轮Docker

经历了这麼 多坎坷,朋友终于完成了完整篇 目标,实现双11时交易所有核心应用都AliDocker化,DB其中一2个 交易单元完整篇 AliDocker化,生产环境共几十万的AliDocker。

Docker化目标

2.         DB其中一2个 交易单元完整篇 Docker化。



a)         触发朋友Docker化的主要原困一:Docker最重要的你这名 是镜像化,能必须做到拿着镜像就能必须从一台完整篇 空的机器的应用环境搭建起来,能必须把单机环境完整篇 从零搭好。Docker化事先,阿里巴巴的应用部署依据主要由java、C来编写的,不同的业务BU不可能 采用完整篇 不同的部署依据,这麼 统一标准。内部内部结构尝试通过基线来建立部署标准,定义的基线包括应用依赖的基础环境(OS、JDK版本等)、应用依赖的脚本,基础环境的配置(启动脚本、Nginx配置等)、应用目录行态、应用包、应用依赖的DNS、VIP、ACI等,但不成功。部署标准做不了,直接原困自动化太难做到。

12月6-7日,由阿里巴巴集团、阿里巴巴技术发展部、阿里云云栖社区联合主办,以“2016双11技术创新”为主题的阿里巴巴技术论坛上,阿里巴巴研究员林昊分享了阿里超大规模Docker化之路。阿里在Docker化的这条路上,碰到了规模、多元化场景所带来的各种挑战,这次分享中将给朋友介绍阿里为什么会儿 要引入Docker,以及怎么完成这次超大规模Docker化,完整篇 介绍了四轮Docker化的历程。

容器化的好处是能必须把所以对物理机型的强制要求虚拟化,不可能 也必须Docker在内核层面的改造,对于未来,阿里不可能 做好了准备,朋友希望:

在推进的过程中,朋友又遭遇了新的大什么的问题。Docker的发布模式是典型的通过镜像,拉到镜像后将原先的容器销毁,重新创建一2个 容器,把镜像装进 去,拉起来。Docker单一化的发布依据支持不了多种发布模式,更改velocity模板发布速率低;有本地内存cache的发布,重启本地内存cache就会消失。怎么在基于镜像模式请况下又能支持多种发布模式呢?

Bugfix和功能增强

Docker化事先,阿里主要交易业务不可能 容器化。采用T4做容器化,T4是2011年开发的一套系统,基于LXC开发,在开发T4的过程中,跟业界很大的不同在于,T4更像VM的容器。当用户登进T4后,看起来与标准的KVM等几乎完整篇 一样,对用户来讲是非常透明化的。所以,容器化也有朋友推进Docker的原困。

第三轮Docker

未来

朋友碰到了所以大什么的问题:

推进Dcoker事先,朋友有一2个 准备的过程。在准备阶段,朋友必须Docker更像VM和更贴合阿里运维体系的Docker,朋友将改造过的Docker称为AliDocker;除了AliDocker以外,朋友必须支持AliDocker的工具体系,比如编译、镜像库、镜像埋点机制,在完成你这名 准备工作后,朋友认为能必须一帆风顺的就让开始 大规模的AliDocker上线。但事实不必这麼 。

Docker化事先