Files
kubernetes/contrib/mesos
Dr. Stefan Schimanski a2fa41b73f Implement resource accounting for pods with the Mesos scheduler
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
2015-07-30 21:18:04 +02:00
..

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.

Analytics