
- move assigned slave to T.Spec.AssignedSlave - only create the BindingHost annoation in prepareTaskForLaunch - recover the assigned slave from annotation and write it back to the T.Spec field Before this patch the annotation were used to store the assign slave. But due to the cloning of tasks in the registry, this value was never persisted in the registry. This patch adds it to the Spec of a task and only creates the annotation last-minute before launching. Without this patch pods which fail before binding will stay in the registry, but they are never rescheduled again. The reason: the BindingHost annotation does not exist in the registry and not on the apiserver (compare reconcilePod function).
Kubernetes-Mesos
Kubernetes-Mesos modifies Kubernetes to act as an Apache Mesos framework.
Features On Mesos
Kubernetes gains the following benefits when installed on Mesos:
- Node-Level Auto-Scaling - Kubernetes minion nodes are created automatically, up to the size of the provisioned Mesos cluster.
- Resource Sharing - Co-location of Kubernetes with other popular next-generation services on the same cluster (e.g. Hadoop, Spark, and Chronos, Cassandra, etc.). Resources are allocated to the frameworks based on fairness and can be claimed or passed on depending on framework load.
- Independence from special Network Infrastructure - Mesos can (but of course doesn't have to) run on networks which cannot assign a routable IP to every container. The Kubernetes on Mesos endpoint controller is specially modified to allow pods to communicate with services in such an environment.
Features On DCOS
Kubernetes can also be installed on Mesosphere DCOS, which runs Mesos as its core. This provides the following additional enterprise features:
- High Availability - Kubernetes components themselves run within Marathon, which manages restarting/recreating them if they fail, even on a different host if the original host might fail completely.
- Easy Installation - One-step installation via the DCOS CLI or DCOS UI. Both download releases from the Mesosphere Universe, Multiverse, or private package repositories.
- Easy Maintenance - See what's going on in the cluster with the DCOS UI.
For more information about how Kubernetes-Mesos is different from Kubernetes, see Architecture.
Release Status
Kubernetes-Mesos is alpha quality, still under active development, and not yet recommended for production systems.
For more information about development progress, see the known issues or the kubernetes-mesos repository where backlog issues are tracked.
Usage
This project combines concepts and technologies from two already-complex projects: Mesos and Kubernetes. It may help to familiarize yourself with the basics of each project before reading on:
To get up and running with Kubernetes-Mesos, follow the Getting started guide.