Apache的Mesos和Google的Kubernetes有什么区别 [英] What's the difference between Apache's Mesos and Google's Kubernetes

查看:163
本文介绍了Apache的Mesos和Google的Kubernetes有什么区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Apache的Mesos和Google的Kubernetes有什么区别?
我了解两者都是服务器集群管理软件。

What exactly is the difference between Apache's Mesos and Google's Kubernetes? I understand both are server cluster management software. Can anyone elaborate where the main differences are - when would which framework be preferred?

为什么要使用

Why would you want to use Kubernetes on top of Mesosphere?

推荐答案

Kubernetes是一个开源项目,为虚拟机世界或金属场景带来Google风格集群管理功能。它与现代操作系统环境(如CoreOS或Red Hat Atomic)一起工作,提供为您管理的轻量级计算节点。它是用Golang编写的,是轻量级,模块化,便携和可扩展。我们(Kubernetes团队)正在与许多不同的技术公司(包括策略Mesos开源项目的Mesosphere)合作,建立Kubernetes作为与计算集群交互的标准方式。这个想法是重现我们看到的人们需要基于我们在Google的经验构建集群应用程序的模式。其中一些概念包括:

Kubernetes is an open source project that brings 'Google style' cluster management capabilities to the world of virtual machines, or 'on the metal' scenarios. It works very well with modern operating system environments (like CoreOS or Red Hat Atomic) that offer up lightweight computing 'nodes' that are managed for you. It is written in Golang and is lightweight, modular, portable and extensible. We (the Kubernetes team) are working with a number of different technology companies (including Mesosphere who curate the Mesos open source project) to establish Kubernetes as the standard way to interact with computing clusters. The idea is to reproduce the patterns that we see people needing to build cluster applications based on our experience at Google. Some of these concepts include:


  • pods - 将容器分组

  • 复制控制器 - 处理容器生命周期的方法


  • services - 一组执行常见功能的容器。

  • pods — a way to group containers together
  • replication controllers — a way to handle the lifecycle of containers
  • labels — a way to find and query containers, and
  • services — a set of containers performing a common function.

因此,单独使用Kubernetes,您将拥有简单,易于上手和运行,可移植和可扩展的东西,集群作为一个名词,你以最轻的方式管理的事情可能。在集群上运行应用程序,并停止担心单个计算机。在这种情况下,集群是一个灵活的资源,就像一个VM。它是一个逻辑计算单元。打开它,使用它,调整它的大小,快速,轻松地下降。

So with Kubernetes alone you will have something that is simple, easy to get up-and-running, portable and extensible that adds 'cluster' as a noun to the things that you manage in the lightest weight manner possible. Run an application on a cluster, and stop worrying about an individual machine. In this case, cluster is a flexible resource just like a VM. It is a logical computing unit. Turn it up, use it, resize it, turn it down quickly and easily.

使用Mesos,在基本视觉方面存在相当多的重叠,但是产品在它们的生命周期中具有不同的点,并且具有不同的甜蜜点。 Mesos是一个分布式系统内核,将许多不同的机器连接在一起成为逻辑计算机。它诞生于一个拥有大量物理资源以创建大型静态计算集群的世界。伟大的事情是,大量的现代可扩展的数据处理应用程序运行良好在Mesos(Hadoop,Kafka,Spark),它是很好,因为你可以运行他们所有在相同的基本资源池,以及你的新时代容器打包应用程序。它比Kubernetes项目有点更重,但由于像Mesosphere这样的人的工作,它变得更容易和更容易管理。

With Mesos, there is a fair amount of overlap in terms of the basic vision, but the products are at quite different points in their lifecycle and have different sweet spots. Mesos is a distributed systems kernel that stitches together a lot of different machines into a logical computer. It was born for a world where you own a lot of physical resources to create a big static computing cluster. The great thing about it is that lots of modern scalable data processing application run well on Mesos (Hadoop, Kafka, Spark) and it is nice because you can run them all on the same basic resource pool, along with your new age container packaged apps. It is somewhat more heavy weight than the Kubernetes project, but is getting easier and easier to manage thanks to the work of folks like Mesosphere.

现在真正有趣的是,Mesos目前正在适应添加了很多Kubernetes概念并支持Kubernetes API。因此,它将是一个网关,为您的Kubernetes应用程序获得更多的功能(高可用性主控,更高级的调度语义,能够扩展到非常大量的节点),如果你需要它们,并且非常适合运行生产工作负载(Kubernetes

Now what gets really interesting is that Mesos is currently being adapted to add a lot of the Kubernetes concepts and to support the Kubernetes API. So it will be a gateway to getting more capabilities for your Kubernetes app (high availability master, more advanced scheduling semantics, ability to scale to a very large number of nodes) if you need them, and is well suited to run production workloads (Kubernetes is still in an alpha state).

当被问及时,我倾向于:

When asked, I tend to say:


  1. Kubernetes是一个很好的开始,如果你是新的到聚类世界;它是最快,最简单和最轻的方式踢的轮胎,开始试验集群的发展。它提供了非常高的可移植性,因为它被许多不同的提供程序(Microsoft,IBM,Red Hat,CoreOs,MesoSphere,VMWare等)支持。

  1. Kubernetes is a great place to start if you are new to the clustering world; it is the quickest, easiest and lightest way to kick the tires and start experimenting with cluster oriented development. It offers a very high level of portability since it is being supported by a lot of different providers (Microsoft, IBM, Red Hat, CoreOs, MesoSphere, VMWare, etc).

如果您有现有的工作负载(Hadoop,Spark,Kafka等),Mesos为您提供了一个框架,让您将这些工作负载互相交错,并混用一些新的东西,包括Kubernetes应用程序。

If you have existing workloads (Hadoop, Spark, Kafka, etc), Mesos gives you a framework that let's you interleave those workloads with each other, and mix in a some of the new stuff including Kubernetes apps.

如果您需要Kubernetes框架中的社区尚未实现的功能,Mesos为您提供了一个逃生阀。

Mesos gives you an escape valve if you need capabilities that are not yet implemented by the community in the Kubernetes framework.

这篇关于Apache的Mesos和Google的Kubernetes有什么区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆