Production-Grade Container Scheduling and Management
Go to file
Dr. Stefan Schimanski f1a560718c Make slave assignment before binding persistent
- 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).
2015-08-12 08:03:36 +02:00
api/swagger-spec Correcting all go vet errors 2015-08-11 13:55:37 -07:00
build Split hack/{verify,update}-* files so we don't always go build 2015-08-11 14:20:46 -04:00
cluster Merge pull request #12499 from dchen1107/cleanup 2015-08-12 07:17:34 +02:00
cmd Merge pull request #12549 from eparis/remove-BindClientConfigFlags 2015-08-11 18:08:00 -07:00
contrib Make slave assignment before binding persistent 2015-08-12 08:03:36 +02:00
docs Merge pull request #12551 from eparis/underscore-to-dash 2015-08-12 07:16:31 +02:00
examples Correcting all go vet errors 2015-08-11 13:55:37 -07:00
Godeps Godeps: bump appc/spec to v0.6.1+git. 2015-08-10 11:21:28 -07:00
hack Merge pull request #12551 from eparis/underscore-to-dash 2015-08-12 07:16:31 +02:00
hooks Split hack/{verify,update}-* files so we don't always go build 2015-08-11 14:20:46 -04:00
pkg Merge pull request #12551 from eparis/underscore-to-dash 2015-08-12 07:16:31 +02:00
plugin Correcting all go vet errors 2015-08-11 13:55:37 -07:00
test Correcting all go vet errors 2015-08-11 13:55:37 -07:00
third_party Revert "Merge pull request #10902 from nikhiljindal/gh-pages" 2015-08-07 13:10:21 -07:00
www typofix - https://github.com/vlajos/misspell_fixer 2015-08-08 22:31:48 +01:00
.gitignore Split hack/{verify,update}-* files so we don't always go build 2015-08-11 14:20:46 -04:00
.travis.yml export path in shippable and travis 2015-08-11 20:46:32 -07:00
CHANGELOG.md Change the CHANGELOG to be a pointer to the releases page. 2015-06-09 20:12:24 -07:00
CONTRIB.md
CONTRIBUTING.md Clarify that contributions need to be from CLA-signers. 2015-08-04 15:11:16 -07:00
DESIGN.md Fix links in DESIGN.md 2015-07-20 14:35:52 -07:00
LICENSE
logo_usage_guidelines.md
logo.pdf
logo.png
logo.svg
Makefile Plumb linker flags through from the Makefile 2015-08-05 20:42:54 -07:00
README.md Copy edits for typos 2015-08-09 14:18:06 -04:00
shippable.yml export path in shippable and travis 2015-08-11 20:46:32 -07:00
Vagrantfile Vagrant: Add support for nfs synced folders 2015-07-01 13:12:42 -07:00

Kubernetes

GoDoc Travis Coverage Status

Are you ...

  • Interested in learning more about using Kubernetes? Please see our user-facing documentation on kubernetes.io
  • Interested in hacking on the core Kubernetes code base? Keep reading!

Kubernetes is an open source system for managing containerized applications across multiple hosts, providing basic mechanisms for deployment, maintenance, and scaling of applications.

Kubernetes is:

  • lean: lightweight, simple, accessible
  • portable: public, private, hybrid, multi cloud
  • extensible: modular, pluggable, hookable, composable
  • self-healing: auto-placement, auto-restart, auto-replication

Kubernetes builds upon a decade and a half of experience at Google running production workloads at scale, combined with best-of-breed ideas and practices from the community.


Kubernetes can run anywhere!

However, initial development was done on GCE and so our instructions and scripts are built around that. If you make it work on other infrastructure please let us know and contribute instructions/code.

Kubernetes is ready for Production!

With the 1.0.1 release Kubernetes is ready to serve your production workloads.

Concepts

Kubernetes works with the following concepts:

Cluster
A cluster is a set of physical or virtual machines and other infrastructure resources used by Kubernetes to run your applications. Kubernetes can run anywhere! See the Getting Started Guides for instructions for a variety of services.
Node
A node is a physical or virtual machine running Kubernetes, onto which pods can be scheduled.
Pod
Pods are a colocated group of application containers with shared volumes. They're the smallest deployable units that can be created, scheduled, and managed with Kubernetes. Pods can be created individually, but it's recommended that you use a replication controller even if creating a single pod.
Replication controller
Replication controllers manage the lifecycle of pods. They ensure that a specified number of pods are running at any given time, by creating or killing pods as required.
Service
Services provide a single, stable name and address for a set of pods. They act as basic load balancers.
Label
Labels are used to organize and select groups of objects based on key:value pairs.

Documentation

Kubernetes documentation is organized into several categories.

Community, discussion and support

If you have questions or want to start contributing please reach out. We don't bite!

Please see the troubleshooting guide, or how to get more help.

If you are a company and are looking for a more formal engagement with Google around Kubernetes and containers at Google as a whole, please fill out this form and we'll be in touch.

Analytics