mesos/

directory
v1.1.0-alpha.1....-c317020 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 29, 2015 License: Apache-2.0

README

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

Directories

Path Synopsis
cmd
k8sm-controller-manager
This package main implements the executable Kubernetes Mesos controller manager.
This package main implements the executable Kubernetes Mesos controller manager.
k8sm-executor
This package main implements the executable Kubernetes Mesos executor.
This package main implements the executable Kubernetes Mesos executor.
k8sm-redirfd
This package main is used for testing the redirfd package.
This package main is used for testing the redirfd package.
k8sm-scheduler
This package main implements the executable Kubernetes Mesos scheduler.
This package main implements the executable Kubernetes Mesos scheduler.
km
This package main morphs all binaries under cmd/ and several other stock Kubernetes binaries into a single executable.
This package main morphs all binaries under cmd/ and several other stock Kubernetes binaries into a single executable.
pkg
archive
Package archive provides utilities to archive and unarchive filesystem hierarchies.
Package archive provides utilities to archive and unarchive filesystem hierarchies.
assert
Package assert is an utility package containing reusable testing functionality extending github.com/stretchr/testify/assert
Package assert is an utility package containing reusable testing functionality extending github.com/stretchr/testify/assert
backoff
Package backoff provides backoff functionality with a simple API.
Package backoff provides backoff functionality with a simple API.
controllermanager
Package controllermanager is largely a clone of the upstream implementation, with additional functionality to select between stock or a customized endpoints controller.
Package controllermanager is largely a clone of the upstream implementation, with additional functionality to select between stock or a customized endpoints controller.
election
Package election provides interfaces used for master election.
Package election provides interfaces used for master election.
executor
Package executor includes a mesos executor, which contains a kubelet as its member to manage containers.
Package executor includes a mesos executor, which contains a kubelet as its member to manage containers.
executor/config
Package config contains executor configuration constants.
Package config contains executor configuration constants.
executor/messages
Package messages exposes executor event/message names as constants.
Package messages exposes executor event/message names as constants.
executor/service
Package service contains the cmd/k8sm-executor glue code.
Package service contains the cmd/k8sm-executor glue code.
hyperkube
Package hyperkube facilitates the combination of multiple kubernetes-mesos components into a single binary form, providing a simple mechanism for intra-component discovery as per the original Kubernetes hyperkube package.
Package hyperkube facilitates the combination of multiple kubernetes-mesos components into a single binary form, providing a simple mechanism for intra-component discovery as per the original Kubernetes hyperkube package.
minion
Package minion contains the executor and proxy bootstrap code for a Mesos slave
Package minion contains the executor and proxy bootstrap code for a Mesos slave
minion/config
Package config contains minion configuration constants.
Package config contains minion configuration constants.
minion/tasks
Package tasks provides an API for supervising system processes as Task's.
Package tasks provides an API for supervising system processes as Task's.
node
Package node provides utilities to create and update nodes
Package node provides utilities to create and update nodes
offers
Package offers contains code that manages Mesos offers.
Package offers contains code that manages Mesos offers.
offers/metrics
Package metrics defines and exposes instrumentation metrics related to Mesos offers.
Package metrics defines and exposes instrumentation metrics related to Mesos offers.
proc
Package proc provides opinionated utilities for processing background operations and future errors, somewhat inspired by libprocess.
Package proc provides opinionated utilities for processing background operations and future errors, somewhat inspired by libprocess.
profile
Package profile contains reusable code for profiling Go programs with pprof.
Package profile contains reusable code for profiling Go programs with pprof.
queue
Package queue provides several queue implementations, originally inspired by Kubernetes pkg/client/cache/fifo.
Package queue provides several queue implementations, originally inspired by Kubernetes pkg/client/cache/fifo.
redirfd
Some file descriptor manipulation funcs (Unix-Only), inspired by https://github.com/skarnet/execline/blob/master/src/execline/redirfd.c
Some file descriptor manipulation funcs (Unix-Only), inspired by https://github.com/skarnet/execline/blob/master/src/execline/redirfd.c
runtime
Package runtime provides utilities for semaphores (chan struct{}), a simple Latch implementation, and metrics for reporting handled panics.
Package runtime provides utilities for semaphores (chan struct{}), a simple Latch implementation, and metrics for reporting handled panics.
scheduler
Package scheduler implements the Kubernetes Mesos scheduler.
Package scheduler implements the Kubernetes Mesos scheduler.
scheduler/config
Package config provides mechanisms for low-level scheduler tuning.
Package config provides mechanisms for low-level scheduler tuning.
scheduler/constraint
Package constraint exposes Marathon-like constraints for scheduling pods.
Package constraint exposes Marathon-like constraints for scheduling pods.
scheduler/ha
Package ha encapsulates high-availability scheduler concerns.
Package ha encapsulates high-availability scheduler concerns.
scheduler/meta
Package meta defines framework constants used as keys in k8s annotations that are attached to k8s pods.
Package meta defines framework constants used as keys in k8s annotations that are attached to k8s pods.
scheduler/metrics
Package metrics defines and exposes instrumentation metrics of the scheduler.
Package metrics defines and exposes instrumentation metrics of the scheduler.
scheduler/podtask
Package podtask maps Kubernetes pods to Mesos tasks.
Package podtask maps Kubernetes pods to Mesos tasks.
scheduler/resource
Package resource contains the Mesos scheduler specific resource functions
Package resource contains the Mesos scheduler specific resource functions
scheduler/service
Package service contains the cmd/k8sm-scheduler glue code
Package service contains the cmd/k8sm-scheduler glue code
scheduler/slave
Package slave manages node hostnames for slave ids.
Package slave manages node hostnames for slave ids.
scheduler/uid
Package uid encapsulates unique identifiers code used by the scheduler.
Package uid encapsulates unique identifiers code used by the scheduler.
service
Package service is largely a clone of the stock Kubernetes endpoints controller, extended with some very specific functionality related to kubernetes-mesos specific host-pod port mapping.
Package service is largely a clone of the stock Kubernetes endpoints controller, extended with some very specific functionality related to kubernetes-mesos specific host-pod port mapping.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL