Mesos和kubernetes

The last blog post in 15 years, I wanted to talk about  Mesos  and  Kubernetes  . The two have reached a high level of maturity, and there have been many blog posts about them this year. I'm a firm believer that their use will grow even faster in the next year, so it's time to take a look back and get ready for 2016. In this article, I want to discuss the current state of Mesos and Kubernetes, and list the advantages and disadvantages, so that everyone can easily understand the concept of cluster manager.

Mesos和Kubernetes

Before getting started, I want to take the time to briefly compare Mesos and Kubernetes. Such comparisons are not easy because Mesos doesn't do exactly the same work as Kubernetes. To understand why, it takes a quick in-depth look at how Mesos and Kubernetes work.

Mesos is a cluster manager based on two-phase scheduling. Highly simplified, Mesos manages cluster resources and provides it with a high-level "framework" that accepts these resources to launch tasks.

Instead, Kubernetes is a cluster manager based on the idea behind Borg. Google's cluster manager has no concept of two-phase scheduling.

When introducing Mesos, I usually introduce the entire Mesos "stack", as I find it to be very inaccurate to just introduce Mesos: as mentioned earlier, based on its two-phase scheduling nature, users need to be able to use Mesos' "Mesos framework" (eg, Marathon, Aurora, Singularity) to work like a Kubernetes scheduler. A popular (paid) option for managing clusters using Mesos with enterprise support is  DCOS  .

Besides two-phase scheduling, there are many differences between Mesos and Kubernetes, such as their dependencies (Zookeeper, Etcd, etc.) and how they are used. This article does not intend to discuss the internal details of Mesos and/or Kubernetes, so it will directly explore the advantages and disadvantages of both.

Status, strengths and weaknesses

One of the clearer things about Mesos and Kubernetes is that they are in different stages. Mesos, powered by  Mesosphere  , has achieved many successful milestones this year, while Kubernetes only released its first stable version in July. This means using a widely used project product with a relatively long history (Mesos), or a promising, well-designed new project (Kubernetes).

I could spend hours talking about both, but if you're considering using them in a cluster, I don't think there's a clear winner of the two right now, so discussing the pros and cons is helpful before going into practice Reference.

Mesos stack

Advantage

  • Proven ability to scale  , Apple uses 75,000 nodes
  • Extremely flexible  . Today, many enterprises use it in production environments, and there are many different Mesos frameworks for different needs.
  • Relatively mature  , it is easier to find production use cases and best practices for using it.
  • Can use a different format than a docker container.  
    #### Disadvantages
  • Born for different eras  , adapted to the era of docker containers. This is evident from some design decisions, including how the cluster information is exposed, through the Json API, which is actually quite difficult to use.
  • Too many languages  . As a developer and ops, I want to know what's running in the cluster, and when I find issues with the codebase, I want to be able to fix them. To run a Mesos stack, there are many components involved: Mesos (C++), Marathon (Scala), Mesos-DNS (Golang), and more. It's not easy to find developers who are familiar with so many languages.
  • All schedulers are not well abstracted for  microservices like the abstraction of Pod, Service, Namespace. These are easy to implement, but not yet implemented. 

    Governors

    Advantage

  • 设计相当精良的API。
  • Pod,Service,Namespace是 微服务的正确抽象。
  • 充满活力,快速推进的社区。
  • 一种语言,Golang。 

    劣势

  • 还很年轻, 会遇到bug。
  • 还没有有名的大公司大规模使用。 Google本身还在使用BORG,而在撰写本文时,迁移到Kubernetes的很多公司还没有大型生产集群。
  • 只支持Docker (撰写本文时) 

    结论

    很多人在谈论这两种技术,认为关于谁是最好的集群管理器的竞争,还没有明显的结论。如果想要使用集群管理器,我强烈建议Mesos和Kubernetes都试一试,因为这两者中有待学习的地方都很多,在用于生产环境之前,你可能想两个都有所了解。让我们期待2016年会真正成为Kubernetes的成熟之年,能够真正用于生产环境,同时也期待看到Mesos生态系统会如何反击这一强大的竞争对手。

原文链接: 2016, Mesos and Kubernetes (翻译:崔婧雯 )

 

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

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326691150&siteId=291194637