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是Google开源的容器集群管理系统,其提供应用部署、维护、扩展机制等功能。Mesos是Apache下的开源分布式资源管理框架,它被称为是分布式系统的内核。Mesos最初是由加州大学伯克利分校的AMPLab...
容器 微服务 Docker Mesos Kubernetes 容器技术和微服务”系列公开课 • Docker——⼀一种全新的⼯工作⽅方式 • 容器编排⼯工具Docker Swarm • 数据中⼼心操作系统的内核——Apache Mesos • ⼤大数据、Web服务、C...
其实早在 2015 年 5 月,Kubernetes 在 Google 上的的搜索热度就已经超过了 Mesos 和 Docker Swarm,从那儿之后更是一路飙升,将对手甩开了十几条街。 569.5.png 目前,AWS、Azure、Google、阿里云、腾讯云等主流...
Kubernetes的普及也带动了其他相关技术的发展,例如Docker Swarm和Apache Mesos等,它们提供了与Kubernetes类似或互补的容器管理解决方案。Kubernetes的生态非常丰富,为用户提供灵活的选择,满足各种不同的需求。...
相比之下,Kubernetes在功能、灵活性和可扩展性方面表现出色,能够管理更复杂的部署场景。 PaaS(Platform as a Service)平台如OpenShift和Rancher也采用了Kubernetes作为核心。OpenShift是Red Hat推出的基于...
3. **容器编排**:结合 Kubernetes 或 Docker Swarm,Mesos 提供了一种高效的容器编排解决方案。 五、未来展望 随着云计算和大数据技术的发展,Mesos 的重要性日益凸显。Apache Mesos 1.4.3 版本不仅提升了性能和...
Kubernetes的版本迭代不断引入新功能和改进。例如,1.0版本标志着Kubernetes的成熟,1.1版本增强了性能,1.2版本简化了应用程序部署,1.3版本开始支持云原生和企业级工作负载,1.4版本支持多环境部署,1.5版本进入...
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 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 ...
目前主流的开源编排工具包括Docker Swarm、Kubernetes和Mesos(编排框架通常为 Marathon)等。根据容器编排工具的发展情况和应用现状,以及金融企业在服务化、分布式、容器化等方面的需求,我们首先对 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.
在2015年阿帕奇中国路演中,闫航进行了一次关于“Docker on Mesos: 云计算的革命”的主题演讲。这场演讲不仅深入探讨了Docker和Mesos技术在云计算领域的创新应用,同时也揭示了它们如何联合推动云计算的发展,引起...