最近公司上了docker,在考虑容器编排工具时,出于上手简单易用的目的,小范围推广了官方的swarm,试用了一段时间后,做了如下总结:
一、swarm可以解决的问题
1.容器编排问题
2.负载均衡问题
3.集群管理问题
4.应用部署、迭代问题
展开:
1.容器编排问题
关键字:replicas,label,volume
replicas可以控制启动docker实例的数量
label可以控制docker实例在哪些节点启动
volume可以解决数据持久化问题
2.负载均衡问题
待补充
3.集群管理问题
swarm的leader没有单点问题,任一节点都能promote到manager,主节点挂了会自动切换到某一台manager作为leader
swarm的service会监测每个服务的运行状态,任一节点的服务挂了service都会自动重启或自动迁移
扩容、缩容方便快捷
4.应用部署、迭代问题
应用部署可以指定内存、cpu的资源实现资源控制和资源利用
应用部署结合replicas、label、负载均衡以及编排功能可以灵活、方便快捷地在任一节点部署任一多的实例
service update迭代方便
二、swarm和别的容器编排工具比较的优点以及适用场景
优点:
1.docker自带,原生支持
2.上手简单易用
3.安装使用扩展方便
4.不需要很多额外的二次开发工作
缺点:
1.功能比较单一
2.大规模部署运维有待验证
适用场景:
综上所述,适合中小规模docker集群的运维管理以及适合技术能力不是特别强的团队