Mesosphere, the commercial implementation of Apache Mesos, announced that they are offering beta support for Kubernetes on top of their cluster management platform.
Mesosphere, the commercial implementation of Apache Mesos, announced that they are offering beta support for Kubernetes on top of their cluster management platform.
Mesosphere provides a suite of tools needed to operate data-intensive applications such as container orchestration, distributed databases, message queues, data streaming and processing, machine learning, monitoring and management capabilities, security tools and deployment automation. It has its own container orchestrator. Mesosphere’s distributed operating system kernel is called Datacenter Operating System (DC/OS) and supports well known software stacks and both stateless as well as stateful applications. Mesos runs below the orchestration layer.
Kubernetes has seen increasing adoption in recent times. According to the announcement, Kubernetes will run on top of DC/OS. The version of Kubernetes deployed on DC/OS won’t have any modifications and thus it can be upgraded to newer versions seamlessly. Upgrades will be non-disruptive rolling ones and multiple versions can run alongside each other. Since Mesosphere can run in public clouds as well as in their customers’ datacenters, Kubernetes will function as a container engine on top of this infrastructure.
Google had announced in 2014 about a similar collaboration between Mesosphere and Google. That had two components — running Mesosphere on Google cloud with a web application, and incorporating Kubernetes into Mesos to manage Docker container workloads. The latter project seems to have been superseded by the current announcement. A follow-up announcement had mentioned more support for Kubernetes on DC/OS.
One of the challenges faced by container orchestration tools is that of managing stateful applications. Stateful applications include data stores like Cassandra, Redis and databases like MySQL and PostgreSQL. Historically, stateful applications have not been easy to run on containers due to issues like resource isolation, shared backing storage and an inability to automatically scale up and down like stateless applications do in a container environment. Kubernetes has some workarounds by using a feature called StatefulSet but they involve more setup than for stateless ones. Mesosphere also provides some solutions for these persistence challenges. It is not very clear if all these challenges are addressed in a better way with the ability to run Kubernetes on DC/OS, however, splitting responsibilities between the tools seems to be a recommendation.
Another aspect of this announcement is that Kubernetes on DC/OS will eventually support extending stateless workloads to the cloud to add capacity to an on-premise deployment.