`
m635674608
  • 浏览: 4939873 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Kubernetes、Swarm、Mesos最新版本功能比较(下)

 
阅读更多

Kubernetes、Docker Swarm、Mesos作为时下流行的容器框架受到了广大开源爱好者和企业的关注。面对用户需求不断的升级和自身产品不断的改进更新,其功能愈发趋于完善,迭代版本也不断的发布。因为篇幅过长,分上下两篇推送,本文为下篇。

6. 弹性缩放和理想状态的调整

Kubernetes通过RC设定Pods数量,其管理器可以自动保持和维持以确保服务的高可用性。Kubernetes Master会时刻检查集群状态,对与既定规则不符的pod进行调整。如,既定当前3份pods一簇运行当前服务,其中一个pod因为某些原因失败或停止,kubernetes管理器会尝试指定的其它worker节点上新规重启pod。针对实时使用的资源大小也会监控,调整并分配最佳数量(在预定上下限内)。

Docker Swarm对于每项服务,你都可以明确想要运行的任务数,当你增加或减少任务数时,Swarm管理器可自动增加或删除任务,以保持理想状态。其管理节点持续对集群状态进行监控,并对实际状态和你明确的理想状态之间的差异进行调整。例如,当你创建一个服务来运行一个容器的10个副本,托管其中两个副本的工作机崩溃时,管理器将创建两个新的副本,代替之前崩溃的两个。另外,管理器会将新的副本分配给正在运行且可用的工作机。

Mesos通过Marathon管控。Mesos master给slave节点分配任务,如果需要调整,它就会通知marathon。Mesos slave负责运行容器,并且报告当前节点的资源使用情况。

7. 网络方面

Kubernetes官方支持Flannel、Calico、Romana、Contiv等众多组网方案。保证每一个pod都拥有一个扁平化,共享网络空间的IP,通过该IP,pod就可以跨网络和其它物理机或pod进行通信。一个pod一个IP创建了一个干净,反向兼容的模型。在该模型中,从端口分配、网络、域名解析、服务发现、负载均衡、应用配置和迁移等角度,pod都能被看成虚拟机和物理机;

Docker Swarm使用多主机网络,保证可以针对用户的服务指定一个覆盖网。Swarm管理器初始化或更新应用时,它会自动将地址分配给覆盖网上的容器;

Mesos在1.0.0保证了对容器网格标准CNI的支持,CNI标准是多家网络厂商参与制定的容器网络标准,Mesos兼容了CNI标准,相当于间接的支持了VxLAN、DC/OS overlay、Calico、Weave、Flannel等多种网络技术。这是继容器IP功能后,Mesos的又一重要的网络功能。

8. 服务发现和负载均衡

Kubernetes通过Services定义了由容器所发布的可被发现的服务/端口,以及外部代理通信。服务会映射端口到外部可访问的端口,而所映射的端口是跨多个节点的Pod内运行的容器的端口。也可利用nginx-ingress等外部负载均衡器。其服务内部均衡使用kube-proxy。

Docker Swarm管理节点给Swarm集群上的每项服务分配一个唯一的DNS名称以及负载均衡的运行容器。可通过嵌入Swarm的DNS服务器对集群上运行的各个容器进行查询。

Mesos则使用Mesos-DNS。Mesos上的应用和服务可以通过DNS的方式来发现对方。Mesos-DNS的特点是轻量、无状态,易于部署和维护。

9. 安全方面

Kubernetes引入了RBAC(基于Role的访问管理控制)功能,该实现源于OpenShift项目。(该RBAC系统建立于Kubernetes资源之上,可以让角色、权限和关系动态作用于first-class的API交互,将之前Kubernetes版本的authZ设施中的静态平面文件放置于其后面。该RBAC功能被添加进了Kubernetes 1.3中,简化了针对不同企业群体、团队或者会计制度的关于多租户环境中的创建情况。)

Docker Swarm通过各个节点强制TLS相互授权和加密,从而确保自身与其他所有节点之间的通讯安全。可选择使用自签的根证书或自定义根CA证书。

Mesos在1.0.0中通过提供更细粒度的授权验证机制对此作出了响应。首先,在1.0.0中,Mesos的所有敏感数据入口都是经过SSL/TLS加密的;其次,Mesos管理员现在可以通过配置ACLs来限制用户只能在WebUI/API看到自己的任务了,而这就是企业用户的must-have要求;最后,Mesos也提供了完善的authorizer接口,企业用户可以通过该接口添加自己特有的安全策略。

10. 滚动升级方面

三者都保持相同的功能,即升级时,可以将新老版本服务共存,逐步减少老版本数量增加新版本数量,直至全部更新。如果出错,可以回退到升级前的既定版本。

11. GPU支持

三者都对NVIDA GPU有一定程度的支持,可是在调度的时候将NVIDA GPU作为资源进行调度。

12. 社区优势和合作方面

Kubernets基于Google数十年运行大规模容器的经验,RedHat多年部署和管理企业中的开源软件的经验,CoreOS的敏捷开发经验和很多其他组织和社区成员的优势。亦有全球级大技术公司的支持,比如微软、华为等。

Docker Swarm属于Docker自身设计,研发和维护;

Mesos作为老牌技术也有着广泛的支持团队,如IBM,Microsoft,Nvidia。其中,IBM已经成为紧随Mesosphere之后的第二大Mesos代码贡献厂商,未来IBM会在Mesos的optimistic offers,资源分配优化和兼容POWER平台方面投入力量。同时,Mesos也推出了Mesos运行在Micrisoft上的试验功能。

13. 其他

Kubernetes在v1.3中增加了vsphere_volume卷管理。通过结构体VSphereConfig可以看出来,kubernetes的vsphere卷管理插件可以直接连接到VMware vCenter上。如果kubernetes是部署在vsphere上面的虚拟机里面,那么可以通过给虚拟机挂载硬盘的方式来给kubernetes添加卷。

Mesos近期内在做的有关容器的开发。第一个是Nested Container,当我们跑容器的时候,可以在容器里面将它分割成更小的容器。当大容器里面可以管理一定资源boundary的时候,重新再贴上更小的容器,这个对于跑CI/CD、Jenkins在Mesos上时很有用,每一个Jenkins都可以有自己的一个资源上限,它要跑十个CI job,Mesos就把已经有的资源给它们,但是它们确保不会跑出Mesos给的资源上限。

VM support就是Mesos可以不跑容器,直接跑VM,对于比较传统的一些IT企业来说,他们还没有办法从OpenStack或者从VM里面直接跳到容器里面,所以这是非常重要的一个功能。

本文作者来自轻元科技郭威,该文为下篇。

相关文章: Kubernetes、Swarm、Mesos最新版本功能比较(上)

 

 

http://www.tuicool.com/articles/NZvuQzv

分享到:
评论

相关推荐

    Kubernetes、Mesos和Swarm:Rancher编排引擎的比较

    【编者的话】Kubernetes是Google开源的容器集群管理系统,其提供应用部署、维护、扩展机制等功能。Mesos是Apache下的开源分布式资源管理框架,它被称为是分布式系统的内核。Mesos最初是由加州大学伯克利分校的AMPLab...

    “容器技术和微服务”IBM系列公开课 (超值精品 全套八讲)

    容器 微服务 Docker Mesos Kubernetes 容器技术和微服务”系列公开课 • Docker——⼀一种全新的⼯工作⽅方式 • 容器编排⼯工具Docker Swarm • 数据中⼼心操作系统的内核——Apache Mesos • ⼤大数据、Web服务、C...

    kubernetes手册2018最新版_强烈推荐_书签版

    其实早在 2015 年 5 月,Kubernetes 在 Google 上的的搜索热度就已经超过了 Mesos 和 Docker Swarm,从那儿之后更是一路飙升,将对手甩开了十几条街。 569.5.png 目前,AWS、Azure、Google、阿里云、腾讯云等主流...

    Packt.Native.Docker.Clustering.with.Swarm

    different from Fleet, Kubernetes and Mesos. The chapter proceeds with the Docker tools installation and finally with two Swarms provisionings: A local Swarm Standalone and a remote Swarm Mode cluster ...

    DevOps+with+Kubernetes-Packt+Publishing(2017).pdf )

    Swarm mode, Amazon ECS, and Apache Mesos and you’ll have an understanding of which the best approach is for your business. Kubernetes is open. This chapter will teach you how to get in touch with ...

    Swarm的进化和大规模应用

    目前在容器编排领域,Kubernetes、Mesos以及Swarm呈现“三分天下”的格局,各自都有着不同的应用场景。短期内,很难看到“一统天下”的局面,本文,来自阿里云高级专家陈萌辉将带你了解阿里内部在推行容器化过程中的...

    DevOps with Kubernetes accelerating software delivery with container orch

    Swarm mode, Amazon ECS, and Apache Mesos and you’ll have an understanding of which the best approach is for your business. Kubernetes is open. This chapter will teach you how to get in touch with ...

    Mesos+Kubernetes集成安装部署

    因为Docker本身没有提供集群管理能力,对于docker集群一台台的登陆操作不太现实,因此需要引进容器集群的管理工具,主流的有mesosphere的marathon、谷歌的Kubernetes、docker社区的swarm,目前成熟度最高的是...

    2018 年开源容器云,你的技术路线选对了吗? 开源软件成熟度评测报告-容器编排工具

    目前主流的开源编排工具包括Docker Swarm、Kubernetes和Mesos(编排框架通常为 Marathon)等。根据容器编排工具的发展情况和应用现状,以及金融企业在服务化、分布式、容器化等方面的需求,我们首先对 Kubernetes 和...

    DevOps with Kubernetes

    Containerization is said to be the best way to implement DevOps.... At the end of the book, other orchestration frameworks, such as Docker Swarm mode, Amazon ECS, and Apache Mesos will be discussed.

    Docker+k8s的微服务实战课程

    2 了解kubernetes(下) 3 环境搭建前奏 4 预先准备环境 5 基础集群部署(上) 6 基础集群部署(下) 7 小试牛刀 8 kube-proxy和kube-dns 9 理解认证、授权 10 为集群添加认证授权(上) 11 为集群添加认证授权(下...

    kubernetes 学习日志 – 介绍说明

     MESOS,Docker Swarm,kubernetes borg架构介绍 由BorgMaster和BorgLet组成 1、BorgMaster:负责请求的分发,存在多个副本(奇数) 2、BorgLet:监听paxos中的请求,并处理请求 3、scheduler:调度器,将请求写入...

    Microservices.Deployment.Cookbook.epub

    We will look at how to deploy microservices on Mesos and Marathon and will also deploy microservices on Kubernetes. Next, you will implement service discovery and load balancing for your ...

    matlab代码如何加密-References:参考

    Swarm诉Fleet诉Kubernetes诉Mesos | Google容器| 在Google App Engine上部署微服务| 码头工人 osx上的Docker | #卡桑德拉 C#杀手视频演示| 教程| #GraphQL GraphQL | 令人敬畏的graphql | 使用Node.js和SQL构建...

    Rancher部署Traefik实现微服务的快速发现

    它支持多种后台(Rancher、Docker、Swarm、Kubernetes、Marathon、Mesos、Consul、Etcd、Zookeeper、BoltDB、RestAPI、file…)来自动、动态的刷新配置文件,以实现快速地服务发现。它非常快无需安装其他依赖,通过Go...

    docker从入门到实践(2016年最新版)

    01 Docker简介 02 基本概念 03 安装 04 镜像 05 容器 06 仓库 07 数据管理 08 使用网络 09 高级网络配置 10 实战案例 11 安全 12 Dockerfile ...16 Docker Swarm项目 ...20 Kubernetes项目 21 Mesos项目

    The+DevOps+2.2+Toolkit_Self-Healing+Clusters-Packt+Publishing(2018).epub

    One idea was to do a deep comparison of different schedulers (for example, Docker Swarm, Kubernetes, and Mesos/Maraton). The another was to explore serverless. Even though it is a terrible name ...

Global site tag (gtag.js) - Google Analytics