Docker发布集群工具SwarmKit

作者: 云计算机网 分类: 动态 发布时间: 2019-09-24 19:48

最近Docker公司开源了Docker集群管理和容器编排工具SwarmKit,其主要功能包括节点发现、基于raft算法的一致性和任务调度等。基本概念服务器上运行SwarmKit工具的swarmd命令后,即可将其加入到服务器集群中,该服务器就成为集群中的一个节点。SwarmKit将节点分为两类:工作节点负责通过执行器运行任务。SwarmKit的默认执行器为Docker容器执行器(Docker Container Executor)。

管理节点负责接收和响应用户的请求,将集群状态调节成最终状态。

用户可以动态调整节点的角色。任务被组合成为服务,服务定义了任务类型和任务运行和更新的方式(如任务运行数量、启动间隔等)。特性服务编排SwarmKit在服务编排方面的特性主要有:服务状态一致性:SwarmKit会不断对比服务期望状态和实际状态,发现二者不符时(如服务扩容、节点失效),SwarmKit会自动将服务中的任务调度到其他节点。

服务类型:目前SwarmKit支持两种服务类型

复制型服务(Replicated Services),针对这类服务SwarmKit会在节点上启动期望数量的副本;

全局服务(Global Services),这类服务SwarmKit会在所有可用几点上启动一个任务;

配置项升级:用户可以在任何时候修改服务的一个或多个配置。当配置被修改后,SwarmKit会协调升级服务中的所有任务,默认的升级策略是批量同时升级。目前支持的升级策略选项有:

并行度:定义并行更新的任务数量;

延迟:设置一组更新完成之后的最小等待时间。当配置升级时,SwarmKit会重启任务,并且等待任务状态为运行中,再等待配置的延迟后,继续执行后续的更新批次;

重启策略:用户可以定制重启的条件、延迟和最大尝试次数。SwarmKit会检测任务状态,并按照这些配置进行重启,同时SwarmKit会决定是否在不同节点启动任务,避免失效节点对服务产生影响。

调度SwarmKit在调度功能上功能有:资源感知:SwarmKit能够感知节点上的资源,并以此分配和执行任务。

资源约束:用户可以通过约束表达式,将任务约束到符合表达式的节点上。对节点的约束条件包括节点ID、名称和标签等。

调度策略:目前SwarmKit实现的调度策略是在满足约束条件的前提下,尽可能的分配到负载最低的节点。

集群管理SwarmKit对于集群及其节点的管理支持:状态存储:SwarmKit在内存中维护集群的状态,并能够在集群状态发生异常时迅速作出调整;

拓扑状态管理:SwarmKit支持通过API或者命令行动态修改节点角色;

节点管理:SwarmKit API支持用户修改节点状态。例如可以将节点状态设置为中止(Paused),以避免在该节点上创建新的任务;或者设置为枯竭(Drained)状态,除了禁止创建新任务外,当前节点上的其他任务也会被调度到其他节点上。

总结相比于之前的Swarm,这次发布的SwarmKit使用更加方便,无需再依赖外部协调软件进行服务发现。同时对容器运行进行了抽象,API更加间接。SwarmKit特性和其他服务编排框架如mesos,kubernetes等比较类似,目前SwarmKit还在活跃开发中,能否攻城略地,让我们拭目以待吧。

来源:InfoQ

聚焦云计算,扫描二维码,关注HostUCan云计算

  • 这篇文章最初发表于2015年10月,不过研究报告最近一次更新是在2016年6月。

    由于成千上万的公司使用Datadog产品来跟踪基础设施,我们可以实时看到出现的软件趋势。今天,我们很高兴分享我们在Docker实际采用情况方面看到的真相,而不是炒作。

    Docker可能是2016年最热议的基础设施技术。我们开展这项研究是为了调查Docker在生产环境中的使用情况,以及实际采用率提高得多快。我们发觉这些问题的答案引人入胜。

    下面的研究基于针对10000家公司的样本,跟踪了实际使用情况,而不是道听途说的使用情况。据我们所知,这是业内发布的最全面、最准确地评析Docker采用情况的报告。

    我们在整篇文章中将公司的采用状况称为:已采用、涉猎或抛弃。

    第一个真相:Docker的实际采用率在一年内提高了30%。

    2015年5月份开始,Datadog的客户中8.2%采用了Docker。一年后,这个数字已提高到10.7%。市场份额在12个月内增长了近30%。

    第二个真相:Docker如今在我们监测的所有主机中的10%上运行。

    这是个令人惊讶的真相:18个月前,Docker的市场份额还只有大约2%,而现在它在我们监测的所有主机中的10%上运行。

    然而,下面这张图显示了另外两个有趣的发现结果。首先,2015年8月份前后,运行Docker的主机的百分比出现了局部最大值。这可能是由于Datadog接触的新客户当时还没有使用Docker,或者是由于虽然Docker在成熟,但企业组织对这项技术态度冷淡,或者是两者兼而有之。其次,运行Docker的主机所占的百分比其增长态势似乎从增长极快转变成之后增长快速。

    第三个真相:大企业采用最积极。

    这个真相一改大企业行动比较缓慢的传统印象。公司使用的主机数量越多,试用Docker的可能性就越大,因而采用Docker的可能性也就越大。这个真相尤其令人惊奇,因为公司使用的主机数量越多,该公司就要使用数量越多的Docker容器,那样才能被认为是采用者。值得注意的是,在这篇文章最初发表后的八个月里,这一发现结果得到了进一步的强化。

    编辑总结:Docker在解决拥有主机数量较多的企业感觉最突出的问题。

    第四个真相:试用Docker的公司中三分之二采用了它。

    对Docker来说,好消息接踵而来。我们惊讶地发现,试用Docker的许多公司实际上采用了它,而且迅速采用。采用Docker的公司大多数已经在初次在生产环境中使用Docker的30天内就采用了它,几乎所有剩余的采用者在60天内采用了Docker。

    第五个真相:采用者在9个月内将容器数量增加至5倍。

    在使用容器的第1个月到第10个月之间,Docker采用者将其在生产环境中运行的容器的平均数量大约增加至5倍。这种显著的内部使用增长速度呈现出明显的线性增长,丝毫没有显示出在第11个月后逐渐减少的迹象。

    第六个真相:最广泛使用的镜像仍是注册中心、NGINX和Redis。

    Docker中运行的最常见的几种技术如下:

    注册中心:运行Docker的公司中21%在使用注册中心(Registry)。虽然注册中心仍占据第一位,不过其份额比八个月前的25%有所下降。

    NGINX:Docker似乎用来包含大量的HTTP服务器。值得关注的是,Apache(httpd的)并没有进入前十名。

    Redis:这个流行的内存键/值数据存储系统经常用作内存数据库、消息队列或高速缓存。

    Elasticsearch:这个全文搜索比上一次的第6位有了上升。

    MySQL:这个世界上使用最广泛的开源数据库比上一次的第9位有了上升。

    Logspout:用于收集来自主机上所有容器的日志,并将它们发送到需要前往的任何目的地。

    Quay:注册中心的份额下降了一点,Quay则首次跻身排行榜。

    etcd:etcd是排行榜的新成员,它是唯一上榜的分布式配置存储系统。

    Postgres:世界上使用第二广泛的开源数据库。加上MySQL和Postgres数字后,使用Docker来运行关系型数据库似乎非常常见。

    CAdvisor:被Kubernetes用来收集来自容器的度量指标。

    被挤出排行榜:

    Ubuntu:Ubuntu原本保留名次,但结果之所以被挤出,是由于许多全然不同的镜像建立在这个默认的基本镜像上。MongoDB:这是一种使用广泛的NoSQL数据库。

    第七个真相:Docker常常一次运行五个容器。

    就中位数而言,采用Docker的公司在每个主机上同时运行五个容器,而八个月前同时运行四个容器。这一发现结果似乎表明Docker实际上经常用作一种共享计算资源的轻量级方式;提供一种可认知的、版本控制的运行时环境不是唯一体现其价值的用途。支持这一发现结果的是,25%的公司同时平均运行10个以上的容器。

    第八个真相:虚拟机的寿命比容器长6倍。

    在采用Docker的那些公司,容器的平均寿命是2.5天,而综观所有公司,传统虚拟机和基于云的虚拟机其平均寿命是近15天。而仅仅8个月前,这些数字分别还是3天和12天。一个可能的解释是,由于更多的公司将动态工作负载迁移到Docker,容器的平均寿命随之缩短,因而让传统主机在更长的时间内运行。

    正如在第七个真相中探讨的那样,每个主机同时运行五个容器司空见惯。所以,你可能认为,就中位数而言,虚拟机在其生命周期中会总共运行30个容器(6代5个同时运行的容器)。但由于分布不均,就中位数而言,虚拟机在其生命周期中实际上只运行14个容器。

    容器的寿命短、密度提高,这給基础设施监测带来了显著影响。这意味着需要单独监测的对象数量出现了数量级增加。以主机为中心而不是以角色为中心的监测解决方案迅速变得无法使用。因而,我们预计Docker会继续促使云计算几年前开始带来的监测方法出现巨大变化。

    来源:云头条

    聚焦云计算,扫描二维码,关注HostUCan云计算

  • 相关推荐:

  • 关于Docker实际采用情况的
  • 有消息称:微软试图斥资
  • "2016中国APP分类排行榜
  • Docker使用率虽上升但高便
  • 2016中国大数据企业排行
  • 我能在Docker平台上使用微
  • 微软发布全年财报云计算
  • IBM发布企业级专属云平台
  • 智东西晚报:华为发布基
  • 一口气发布上百款新服务
  • 网站内容禁止违规转载,转载授权联系中国云计算网