docker swarm没有淘汰并且已经支持CSI接口

Posted gsls200808

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker swarm没有淘汰并且已经支持CSI接口相关的知识,希望对你有一定的参考价值。

一、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

官网文档:https://docs.docker.com/engine/swarm/

官网:https://www.mirantis.com/software/swarm/

Docker 1.12.0以及之后的版本包括现在的版本内置的工具,基于swarmkit开发,时间节点大约是2016年后。

常用命令

创建集群

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网关费。费用超过自购服务器。

这说明使用托管云厂商版本虽然省事,但还是有停服迁移的风险。有能力自建集群还是自建集群。

以上是关于docker swarm没有淘汰并且已经支持CSI接口的主要内容,如果未能解决你的问题,请参考以下文章

Docker Swarm介绍

Docker系列之swarm集群搭建

(转) Docker swarm - 使用体验 1+2

Docker Swarm滚动更新回滚服务

swarm私募价格docker swarm 部署服务到集群

Swarm 如何实现 Failover?- 每天5分钟玩转 Docker 容器技术(98)