Docker集群的两种模式K8s和swarm究竟有何异同?未来企业应用哪个会更加广泛?

二者究竟有何本质区别,在生产环境中哪个应用范围更广?希望和大家一起在这里探讨下。

参与27

6同行回答

jack161641jack161641  系统运维工程师 , wanda
1、出生不同,Google根据其在Linux上容器管理经验,改造到docker管理上,就是kubernetes。他的在许多方面表现良好。最重要的是构造于Google多年的宝贵经验只上。kubernetes并不是为了docker写的,kubernetes把集群带到了一个全新的高度,代价是学习曲线比较陡。docker-swarm 使用...显示全部

1、出生不同,Google根据其在Linux上容器管理经验,改造到docker管理上,就是kubernetes。他的在许多方面表现良好。最重要的是构造于Google多年的宝贵经验只上。kubernetes并不是为了docker写的,kubernetes把集群带到了一个全新的高度,代价是学习曲线比较陡。docker-swarm 使用了一个不同的方式。它是docker原生的集群工具。最方便的部分是它暴露了docker标准的编程接口,意味着你之前一直在使用的任何与docker沟通的工具(docker命令行接口,docker compose,dokku,krane等等),都可以无缝的在docker swarm上使用。

2、安装配置不同,安装设置swarm非常简单,简单明了并且很灵活。我们需要做的就是安装一个服务发现工具,然后在所有的节点上安装swarm容器。相比较而言,kubernetes的安装就有点复杂晦涩了。不同的操作系统上安装都不同。每个操作系统都有自己的独立安装指令。

3、运行方式不同,使用Swarm和使用容器没有什么不同。比如,你习惯于使用Docker CLI(命令行接口),你可以继续使用几乎相同的命令。如果你习惯于使用Docker Componse来运行容器,你可以继续在Swarm集群中使用。不管你之前习惯于怎么使用容器,你仍旧可以使用,只是在更大级别的集群中使用。Kubernetes要求你去学习它自己的CLI(命令行接口)和配置。你不能使用你之前创建的docker-compose.yml配置,你必须要去新建与Kubernetes对应的配置。你也不能使用之前学习的Docker CLI(命令行接口)。你必须要去学习 Kubernetes CLI(命令行接口)


最后,当需要在Docker Swarm 和 Kubernetes做出选择时,可以考虑如下几点。你是否想依赖于Docker自己来解决集群的问题。如果是,选择Swarm。如果某些功能在Docker中不支持,那它也非常可能在Swarm中找不到,因为Swarm是依赖于Docker API的。另外一方面,如果你想要一个工具可以解决Docker的限制,Kubernetes将是不错的选择。Kubernetes不是基于Docker,而是基于Google多年对于管理容器的经验。它是按照自己的方式来行事。
收起
互联网服务 · 2017-06-28
浏览4394
shendbshendb  技术经理 , 太保
各有所长,包括kb,swarm,mesos等都各有所长,相对来说kb提供完整解决方案,但自住可控性就差一些,mesos需要有实施人员有更多的去定制。swarm没有太深入的研究过。kb更多的推荐作为开发和持续交付中使用会比较好,生产上可能会增加故障定位的难度。。...显示全部

各有所长,包括kb,swarm,mesos等都各有所长,相对来说kb提供完整解决方案,但自住可控性就差一些,mesos需要有实施人员有更多的去定制。swarm没有太深入的研究过。kb更多的推荐作为开发和持续交付中使用会比较好,生产上可能会增加故障定位的难度。。

收起
保险 · 2017-06-29
浏览4010
luck_libiaoluck_libiao  系统工程师 , 华安
swarm:比较使用与轻量级的容器编排管理,学习起来比较容易,但是高可靠性无法保障k8s:容器的高可用性,集群的精细管理,复杂的网络场景,个人觉得k8s功能更加强大,不需要二次开发,比较适合需要提供高可靠的服务;不过学习的门槛还是有一点高,需要了解里面的技术比较多;再者k8s是google公...显示全部

swarm:比较使用与轻量级的容器编排管理,学习起来比较容易,但是高可靠性无法保障
k8s:容器的高可用性,集群的精细管理,复杂的网络场景,个人觉得k8s功能更加强大,不需要二次开发,比较适合需要提供高可靠的服务;不过学习的门槛还是有一点高,需要了解里面的技术比较多;再者k8s是google公司十几年容器编排工具的borg的开源版本,具有更成熟、更可靠性。

可以参考这篇博客,感觉博主写的很到位: http://www.aixchina.net/Article/178601

收起
保险 · 2017-06-28
浏览4207
bryanbryan  软件架构设计师 , 金融研发
k8s已经成为行业的事实标准,并且由google巨头维护,后续的生态圈发展会更完备。显示全部

k8s已经成为行业的事实标准,并且由google巨头维护,后续的生态圈发展会更完备。

收起
银行 · 2019-01-15
浏览2850
zhubingbingzhubingbing  软件开发工程师 , 99cloud
我觉得从自己需求出发,然后去选择技术方案。swarm:比较使用与轻量级的容器编排管理, docker官网推荐三戟叉之一。k8s:容器的高可用性,集群的管理等等这些特点,无疑就是一个容器平台的解决方案,功能大而全。但是相应的有更多的复杂精度。如果,业务只是需要容器化docker+swarm足够...显示全部
  1. 我觉得从自己需求出发,然后去选择技术方案。
    swarm:比较使用与轻量级的容器编排管理, docker官网推荐三戟叉之一。
    k8s:容器的高可用性,集群的管理等等这些特点,无疑就是一个容器平台的解决方案,功能大而全。但是相应的有更多的复杂精度。
    如果,业务只是需要容器化docker+swarm足够解决。
    如果,是需求一个容器管理平台,那k8s是个好选择。
    例如我们kolla直接使用docker,编排使用ansible来做。安全简单高效。
  2. 这个问题得靠时间来回答,目前k8s势头很猛,但是真的能市场的考验,现在还不知道答案
收起
互联网服务 · 2017-06-30
浏览3996
邱倪慧珠邱倪慧珠  软件架构设计师 , 银行
目前这个阶段研究这个问题意义不大,市场已经给出了选择,k8s这个主流会持续很长一段时间,趋势已经很明确了。显示全部

目前这个阶段研究这个问题意义不大,市场已经给出了选择,k8s这个主流会持续很长一段时间,趋势已经很明确了。

收起
银行 · 2017-06-28
浏览4051

提问者

bryan
bryan0514
软件架构设计师金融研发
擅长领域: 云计算容器容器云

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-06-28
  • 关注会员:7 人
  • 问题浏览:9160
  • 最近回答:2019-01-15
  • X社区推广