文档章节

数人云|关于Docker Swarm&K8S,几大要素免踩坑

数人云
 数人云
发布于 2017/08/28 10:43
字数 1488
阅读 3
收藏 0
点赞 0
评论 0

数人云之前分享了《聊聊调度框架,K8S、Mesos、Swarm 一个都不能少》那么你是否仍在Docker和Kubernetes选择上陷入了困扰?所以不要担心,因为这也是很多人的苦恼,这两者都是非常优秀的容器服务,至于那种更好,其实在很大程度上取决于自身和团队的需求。

在深入研究前,我们需要了解什么是“容器”。

容器是轻量级、独立的镜像,可以用来实现软件,包含了成功运行应用所需的所有内容,工作方式类似于虚拟机(VM),但是它只包含必要的库和设置来执行应用。

Docker Swarm、Kubernetes都提供了相同基础设施中部署和隔离软件的容器,也有很好处理应用的方式,但这两者之间也有一些关键性的区别:

很多工程师,都喜欢在Docker Swarm上工作,因为它很容易使用和实现,但选择了Docker Swarm,它就会比Kubernetes更优秀吗?

image

需要先了解一下什么是Docker Swarm、Kubernetes。

Docker Swarm

Docker是一个开源平台,它可能意味着一个公司,一个容器平台或Docker集群,本文讨论的是容器技术,所以这里提到的Docker的意思其实是Docker Swarm,Docker Swarm是一个灵活的容器存储平台,以强大的易用性而著称,另一方面,Docker Swarm则完全是为了管理Docker引擎集群。

image

Kubernetes

Kubernetes是一个流行的开源容器存储程序,它是由谷歌建立的,用来管理其系统,这是一个开源的、可扩展的、强大的工具,可以处理容器,同时提供巨大的可伸缩性和自动化。

去年,作为热门游戏之一的Pokemon Go,也使用了Kubernetes来管理它们的产品和快速扩展,Pokemon Go的成功,自己快速地传播,让人切实地感受到了Kubernetes的力量。

image

对比

安全和设置

每个工具都有自己的安装和设置过程,想在云端或其他基础设置中管理容器 ,很大程度上取决于它是如何建立的,相比之下,Kubernetes对用户的友好度并不如Docker Swarm。

Kubernetes:当涉及到安装和设置时,它会给开发者出一些难题,首先,需要为每个操作系统(OS)重新配置,在线文档在这个过程中有很多的帮助,然而在构建定制环境时,可能会变得十分复杂,唯一的解决办法是:搜谷歌。Kubernetes不容易安装和设置的另一个关键原因在实现之前需要进行规划,需要花费大量的时间和精力去规划节点,而且要进行人工整合,因为它并不是所有的东西都可以自动化,这让Kubernetes难以管理。

Docker Swarm:得益于它的命令行界面(CLI),Docker Swarm很容易设置和管理,它使用CLI和GIT类似的语义,这使得应用开发者能够轻易地将新技术集成到工作流当中,与Kubernetes相比,在实现新操作系统、环境的容器时,无需学习新的东西。

综上所述,在安装和设置方面,Docker Swarm略胜一筹。

监控和日志

一旦部署了容器,下一步就是监控节点集群,Kubernetes和Docker Swarm都成功地提供了一个良好的监控和日志记录流程。

对于Kubernetes来说,监控和日志记录集群的方法不止一种,下面有一些方法以供参考:

  • 监控:Grafana , Heapster , or Influx
  • 日志记录:Kibana (ELK) or Elasticsearch

对于Docker Swarm来说,没有内置的库或进程来监控或记录,但是开发人员可以使用第三方应用来达到目的,第三方监控工具有:Sumo Logic , Retrace , Reimann , and DataDog。

伸缩和性能

使用容器服务的最基本原理是它们提供的可伸缩性,这两个平台都是高度可伸缩的,并且在特定的时间支撑数千个容器,起初,Docker Swarm对大量的容器没有很好的支持,然而,在新的版本后,它就可以支持和Kubernetes的容器数量比肩,两个系统都支持1000个节点集群,这些集群可以支持多大3万个容器。

在性能方面,Kubernetes对Dokcer Swarm有良好的基础,然而,由独立机构完成研究表明,Docker Swarm可以比Kubernetes快5倍的速度去运转容器。

KubernetesDocker Swarm
在市场上最成熟的解决方案。Docker Swarm提供良好的特性,但受限于其API。
Kubernetes也在市场上最受欢迎的解决方案。rDocker Swarm的市场Kubernetes相比相对较弱。
Kubernetes很难安装和配置。Docker Swarm的设置和安装是很容易的。
Kubernetes提供内置的日志记录和监控工具。Docker只支持第三方监控和日志记录工具。
自动定量的CPU利用率是一个很大的因素。可以手动扩展服务。

结论

Kubernetes得到了开发者社区的广泛认可,尽管它的安装过程非常艰难,之所以受到欢迎的原因很大程度取决于它提供的灵活性,以及良好的谷歌背景,而Docker Swarm有一个小型的社区,增长略微缓慢。

Kubernetes的庞大社区意味着新的工具、特定和支持。若你是一个小的开发者,想要学习容器服务,那么Kubernetes会有大量的经验可以借鉴,很多志同道合的朋友可以一起学习,而Docker Swarm同样可以根据自身业务需求更深入了解。

原文作者:Damian Wolf 原文链接:https://dzone.com/articles/docker-vs-kubernetes-prons-and-cons?utm_source=tuicool&utm_medium=referral

© 著作权归作者所有

共有 人打赏支持
数人云
粉丝 16
博文 101
码字总数 328110
作品 0
朝阳
架构师
当容器与CI/CD相遇,7个建议送给你

当容器与CI/CD相遇,7个建议送给你 数人云博客2017-09-193 阅读 ci 数人云: Docker是CI/CD的早期采用者,通过利用如GIT等源代码控制机制的正确集成,Jenkins可以在开发者每次提交代码时启动...

数人云博客
2017/09/19
0
0
如期而至的 Swarm 新工具 Crane 开源解读

中秋节前,数人云技术团队推出了一款新的基于SwarmKit技术栈的工具。大家可能都了解到数人云的容器技术栈是用Mesos驱动的,为什么在Docker刚发布最新的1.12版之后,我们要做出这个工具呢?在...

达尔文
2016/10/17
2.8K
2
Meetup北京报名开启|一起吹响Container+集结号

Meetup北京报名开启|一起吹响Container+集结号 数人云博客2017-08-0112 阅读 container开启 Container技术在国内的落地实践, 已进阶Container+ 8月阅兵仪式,一睹超强装备的风采, 技术圈也...

数人云博客
2017/08/01
0
0
微服务架构企业级增强产品,数人云推出统一配置中心Hawk

微服务架构企业级增强产品,数人云推出统一配置中心Hawk 数人云博客2017-11-221 阅读 架构服务产品配置 11月16日,数人云在PaaS Innovation大会上,正式发布企业应用架构管理体系EAMS,这是数...

数人云博客
2017/11/22
0
0
每日一博 | 基于 Docker 搭建 MySQL 主从复制

本篇博文相对简单,因为是初次使用 Docker ,MySQL 的主从复制之前也在 Centos 环境下搭建过,但是也忘的也差不多了,因此本次尝试在 Docker 中搭建。根据网上教程走还是踩了一些坑,不过所幸...

王练
05/11
0
0
基于Ansible+Docker快速实现DCOS云平台部署

本文根据DCOS联盟第一期线上分享整理而成 大家好,今天给大家分享自动快速部署DCOS服务相关组件的一些实践。 本次分享将包括以下内容: 部署在master1 和 master2 两台主机,通过检查这两台主...

刘金烨
2016/11/24
0
0
数人云容器管理工具 Crane v1.0.5 发布,优化相关功能

数人云容器管理工具 Crane v1.0.5 发布了。Crane 是数人云推出的容器管理工具,它根据 Docker 的原生编排功能,采用轻量化架构,帮助开发者快速搭建 DevOps 环境,体验 Docker 的各种最新功能...

凝小紫
2016/10/01
1K
9
OSC 第 100 期高手问答 —— Apache Mesos

OSCHINA 本期高手问答( 11月25 日- 12月1日)我们请来了数人云平台负责人 @wtzhou 来解答 集群管理器 Apache Mesos 方面的问题。 周伟涛,@wtzhou ,现数人科技云平台负责人,曾就职于国际开源...

叶秀兰
2015/11/25
5.1K
21
Harbor私有仓库中如何彻底删除镜像释放存储空间?

简介: Harbor私有仓库运行一段时间后,仓库中存有大量镜像,会占用太多的存储空间。直接通过Harbor界面删除相关镜像,并不会自动删除存储中的文件和镜像。需要停止Harbor服务,执行垃圾回收...

猫猫maomao
04/09
0
0
CSDN日报20170710——《小公司程序员怎么进大公司》

程序人生 | 小公司程序员怎么进大公司 作者:安晓辉 在小公司工作的程序员,要进大公司,有四种途径:建立个人品牌;人脉推荐;风口;考研。 点击阅读全文 深度学习 | 深度学习的研究方向和发...

blogdevteam
2017/07/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Call to undefined function Workerman\posix_getpid

workerman 在centos下报PHP Fatal error: Call to undefined function Workerman\posix_getpid posix在下面这个包中php-process...

dragon_tech
8分钟前
0
0
mysql 7.4 创建表 时  所建表 字段太多 导致失败

报错:[Err] 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline. 解决方法:把表的引......

qimh
10分钟前
0
0
语法补漏

1.if...elif...else... 代码示例: test=10 if test>9: print(1) elif test>8: print(2) elif test>7: print(3) else: print('nothing') 输出代码: 1...

十年磨一剑3344
10分钟前
0
0
Python -re模块及正则表达式解析

传送门: https://blog.csdn.net/pipisorry/article/details/25909899 ps:上面文章中"命名分组"的语法格式不能执行。正确的如下: (?P<name>正则表达式) #name是一个合法的标识符 除了使用别名...

一口今心
18分钟前
0
0
mybatis中session.getMapper方法源码分析

0开始代码AuthorMapper mapper = session.getMapper(AuthorMapper.class); 1 DefaultSqlSession类 @Override public <T> T getMapper(Class<T> type) { //最后会去调用MapperRegistry.getMap......

writeademo
26分钟前
1
0
spring cloud zuul网关的作用

zuul一般有两大作用,1是类似于Nginx的网址重定向,但zuul的重定向的一般是整个spring cloud里在Eureka注册中心的模块. zuul: ignored-services: '*' sensitiveHeaders: routes: ...

算法之名
26分钟前
9
0
java按比例之原图生成缩略图

package com.wxp.test; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import javax.imageio.ImageIO; import sun.......

恋码之子
36分钟前
1
0
SpringCloud 微服务 (十五) 服务容错 Hystrix

壹 工作中的微服务架构,某个服务通常会被多个服务调用或者多层调用完成需求,如果某个服务不可用,导致一个系统功能不可用或者服务直接没用了的情况,这种情况称为雪崩效应 有A服务调用B服务,B服...

___大侠
38分钟前
1
0
Spring框架中的设计模式(五)

Spring框架中的设计模式(五) 通过以前的4篇文章,我们看到Spring采用了大量的关于创建和结构方面的设计模式。本文将描述属于行为方面的两种设计模式:命令和访问者。 前传: Spring框架中的...

瑞查德-Jack
41分钟前
1
0
解决phpstorm运行很卡问题!

phpStorm一旦达到这个临界值,所有智能提示、自动补全都失效了 这TM就很尴尬了,顿时感觉自己就是个废人了,纯手写代码跟便秘一样 众所周知phpStorm基于JAVA,那么这个内存限制肯定跟JAVA的虚...

sjcehui2010
44分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部