Editor's note - This blog post reflects our Kubernetes efforts in 2017. To learn more about Kubernetes on DC/OS, see Kubernetes-as-a-Service Now Available in DC/OS 1.11.
Mesosphere was founded with a simple mission: to take the amazing tools used by the brightest and most innovative technology brands to build and scale world changing technology, and make them easy to adopt and use by mainstream enterprise IT teams and startups alike.
Concepts like microservices, containerization, "fast data" analysis and response, distributed computing, and edge data collection and response were groundbreaking concepts when the company began in 2013. Building on top of Apache Mesos, Mesosphere sought to bring together all of the tools needed to operate data-intensive modern applications such as container orchestration, distributed databases, message queues, data streaming and processing, machine learning, monitoring and management capabilities, security tools, deployment automation, and more. Since its launch in 2015, the Mesosphere DC/OS "operating system" has made it easy to deploy, connect, and elastically scale over 100 open source and commercial services with a single click, and underpins everything from web-scale applications, to IoT and autonomous cars, to banking and trading systems.
As the best platform for running both stateless and stateful services without compromise, Mesosphere DC/OS enables you to pick the right tool for your requirements. Whether choosing between Mongo or Redis, NGINX or HAProxy, Elastic or Cassandra, we have focused on providing freedom of choice.
We have been working closely with K8s maintainers at Google Cloud Platform to bring this popular container orchestration tool to our platform. Mesosphere was an early contributor to K8s when it was first released, and is excited to see the project reach maturity. Google has done an incredible job of stewarding this project to the benefit of tens of thousands of commercial users, and we're excited to help support that mission.
This initial beta release is the first step towards making DC/OS the best place to run Kubernetes. Where are we going with this effort?
Making DC/OS the best way to run Kubernetes across any infrastructure
Our goal is to enable enterprise operations teams to deliver a public cloud-like "Containers-as-a-Service" experience to their teams using any infrastructure. Developers, Operators, and Data Engineers will all find that Kubernetes on DC/OS gives them the best experience to get their job done. Kubernetes on DC/OS is totally unique among all other on premise options;
100% Pure Kubernetes, Not Watered Down
We've brought the Kubernetes community mainline distribution to DC/OS. This mean there's no restriction on features you can use, and you will always have the latest version of Kubernetes available through DC/OS.
Kubernetes on DC/OS is the official code base and not a vendor-managed or altered distribution. If it exists in Kubernetes, you got it. You won't be using kubectl for certain commands and then some other vendor-specific command line interfaces for others. You get to directly benefit from the massive OSS ecosystem and the vibrant community of contributors. For those who really want to know how Kubernetes works, running the pure mainline Kubernetes distribution gives you complete visibility on what's going on.
It also means any new Kubernetes versions can be quickly run on DC/OS.
Easy Kubernetes Operations on DC/OS
Kubernetes on top of Mesos through DC/OS allows our customers to deploy the popular container orchestrator on top of a powerful distributed systems platform. With this unique architectural approach, Mesosphere DC/OS can provide an experience like the public cloud providers' container engines within our customers' data centers or across hybrid cloud.
Within this, we are making Kubernetes on DC/OS highly available and secure by default, and plan to support non-disruptive, rolling upgrades.
In this "managed Kubernetes" model, Mesosphere DC/OS will allow you to run multiple Kubernetes clusters (of different versions) alongside each other. This allows for not just distinct production clusters (e.g., for different departments, users, apps, etc.), but also means you will be able to run dev and production side by side on the same infrastructure. Kubernetes clusters running on DC/OS deploy in just a few minutes from the Universe and can be scaled up elastically to add capacity.
Containers and Data Services, United
If a customer chooses to run Kubernetes without DC/OS, they typically run data services as a siloed application separate from their Kubernetes deployment. In this model, there is no out-of-the-box automation or coordination between the different parts of the application. That means that a customer needs to "DIY" any automation for monitoring, failover, scaling, adding storage volumes, and more. While this more manual process might work for some, we believe that it's additional effort that can easily be avoided.
Running Kubernetes on DC/OS allows you to run different types of workloads (more explicitly, both the stateless and stateful components that make up most modern applications) on the same infrastructure. This is already why customers choose to run DC/OS, and we will bring this unique capability to the Kubernetes community.
On DC/OS, users can connect to data services from containers running on Kubernetes and vice versa. Running Kubernetes on top of Mesosphere DC/OS means customers get to use the container orchestrator they want, but immediately benefit from automated operations for the data services that back most containerized applications.
A True Hybrid Cloud for Kubernetes
Kubernetes on DC/OS will eventually support burst of stateless workloads to the cloud to add capacity to an on-premise deployment. This fulfills on the ideal state of hybrid cloud for containerized applications; where customers can have a single platform and control plane, turning an elastically scalable collection of public cloud and datacenter resources into one logical computer, and that allows them to control where workloads run and where data resides.
Try this initial release of Kubernetes on DC/OS for yourself today, and help us improve the product to suit you. Existing DC/OS users can install Kubernetes by following these instructions. If you are not already a DC/OS user, here's how to get started. Once you are up and running, please share your feedback with us here. Please note that we will be releasing regular updates to this beta over the next few months as we work towards general availability.