113、stack的优势 (Swarm20)

 
stack 将应用所包含的service,依赖的secret volume 等资源,以及他们之间的关系定义在一个YAML文件中。相比手工执行命令或是脚本,stack有明显的优势。
 
1、YAML 描述的是 what,是stack 最终要达到的状态。
 
    比如 service 有几个副本?使用哪个image,映射的端口是什么?而脚本测试描述如何执行命令来达到这个状态,也就是 How 。显而易见,What 更直观,也更容易理解。至于如何将What 翻译成 How ,这就是docker swarm的任务了,用户只需要告诉docker 想达到什么效果。
 
2、重复部署应用变得非常容器。
 
    部署应用所需要的一切信息都已经写在YAML 中,要部署应用只需要一条命令 docker stack deploy 。stack 的这种自包含特性使得在不同的docker环境中部署应用变的机器简单。在开发、测试和生产环境中部署可以完全采用同一份YAML,而且每次部署的结果都是一致的。
 
3、可以像管理代码一样管理部署。
 
    YAML本质上将应用的部署代码化了,任何对应用部署环境的修改都可以直接修改YAML来实现。可以将YAML纳入到版本控制系统中进行管理,任何对YAML的修改都会被记录和跟踪,甚至可以像评审代码一样对YAML执行code review。应用部署不再是一个黑盒子,也不再是经验丰富的工程师专有的技能,所有的细节都在YAML中,清晰可见。
 
 
posted @ 2019-05-17 13:42  三角形  阅读(226)  评论(0编辑  收藏  举报