
This patch - set limits (0.25 cpu, 64 MB) on containers which are not limited in pod spec (these are also passed to the kubelet such that it uses them for the docker run limits) - sums up the container resource limits for cpu and memory inside a pod, - compares the sums to the offered resources - puts the sums into the Mesos TaskInfo such that Mesos does the accounting for the pod. - parses the static pod spec and adds up the resources - sets the executor resources to 0.25 cpu, 64 MB plus the static pod resources - sets the cgroups in the kubelet for system containers, resource containers and docker to the one of the executor that Mesos assigned - adds scheduler parameters --default-container-cpu-limit and --default-container-mem-limit. The containers themselves are resource limited the Docker resource limit which the kubelet applies when launching them. Fixes mesosphere/kubernetes-mesos#68 and mesosphere/kubernetes-mesos#304
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.