一、docker swarm历史
傻傻分不清楚的docker swarm经典版、swarmkit、 swram mode
1.docker swarm经典版
项目地址 :https://github.com/docker/swarm 重定向到claasicswarm
https://github.com/docker-archive/classicswarm
项目2014年开始开发,2021年1月归档停止开发
创建集群命令
docker pull swarm
...做一些配置
sudo docker run --rm swarm create
可以看到,经典版用于早期的docker,并且不是内置命令
2.swarmkit
项目地址 https://github.com/moby/swarmkit
使用命令 swarmd 和 swarmctl。
创建集群
swarmd -d /tmp/node-1 --listen-control-api /tmp/node-1/swarm.sock --hostname node-1
滚动更新
swarmctl service update redis --image redis:3.0.6
可以看到,swarmctl命令可以看到docker swarm的影子。
3.swarm mode
swarm模式,指的是docker当前状态是否是在集群里。默认情况下集群模式默认是禁用的。我们可以通过初始化集群和加入集群来改变这个状态。
官网文档:https://docs.docker.com/engine/swarm/
官网:https://www.mirantis.com/software/swarm/
Docker 1.12.0以及之后的版本包括现在的版本内置的工具,基于swarmkit开发,时间节点大约是2016年后。
项目地址仍然是swarmkit:https://github.com/moby/swarmkit
常用命令
查看是否处于集群模式 ,inactive是非集群模式,active是集群模式。
docker info|grep -i swarm
创建集群
docker swarm init [OPTIONS]
滚动更新
docker swarm update [OPTIONS]
这个才是我们日常使用的docker swarm,他本是是基于swarmkit项目进行开发的。目前还在更新功能。
二、Mirantis收购对docker swarm的影响
Mirantis公司在2019年11月13日收购了Docker Enterprise(原Docker EE),
最初Mirantis表示将停止更新Swarm,仅提供两年的技术支持。但是2020年2月又改变了当初的想法,宣称Swarm将继续开发并与Kubernetes共存。
现在官网宣称
Mirantis将继续维护、增强和支持Docker Swarm,将其作为Mirantis Kubernetes Engine(MKE)产品不可分割的一部分。我们有一个专门的Swarm开发团队,专注于Swarm的改进,并不断推出新功能。我们还拥有一支由专家组成的服务和支持团队,随时准备为您的部署和日常维护提供帮助。
可以看到,Docker Swarm仍在发展。
早期的docker swarm支持存储服务是通过docker volume driver,目前发布的最新版Docker 23.0.0已经支持 CSI volumes。不得不感叹,docker swarm长得越来越像Kubernetes了。
关于CSI的支持可以看这个#41982的pull:https://github.com/moby/moby/pull/41982
三、与Kubernetes比较
Swarm是开发人员为开发人员编写的,Kubernetes是DevOps为DevOps编写的。
四、选用Kubernetes还是docker swarm
1.谁应该使用Swarm?
开发人员领导的组织
运营团队较小的组织
刚接触容器编排的团队
需要快速大规模部署生产就绪型集群,但不需要仅在Kubernetes中提供的扩展和定制的团队
2.Swarm优点
Swarm比Kubernetes简单,更易于学习和部署
默认情况下是安全的
它包括自动负载平衡
它与Docker CLI配合使用,因此如果您来自Docker环境,则无需学习其他CLI
3.结论
显而易见,如果没有专门的运维团队,而且还是小团队的话,最好还是选用Swarm集群而非k8s。如果有运维团队,优先选择k8s。
注意:阿里云在2019年12月31日下线了阿里云容器Swarm集群版,参见:https://help.aliyun.com/noticelist/articleid/1060032055.html
阿里云当时的官方建议是迁移到k8s版。但是迁移需要多花集群管理费、NAT网关费。费用超过自购服务器。文章来源:https://www.toymoban.com/news/detail-457140.html
这说明使用托管云厂商版本虽然省事,但还是有停服迁移的风险。有能力自建集群还是自建集群。文章来源地址https://www.toymoban.com/news/detail-457140.html
到了这里,关于docker swarm没有淘汰并且已经支持CSI接口的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!