Lightweight Kubernetes
 
 
 
 
Go to file
David Oppenheimer d483fda945 Fix run-gendocs breakage at head. 2015-07-17 16:45:37 -07:00
Godeps Update godep mesos-go 2015-07-05 23:53:28 +02:00
api/swagger-spec Add ServiceAccount as an alias for ServiceAccountName 2015-07-16 15:48:49 -07:00
build Remove back-merge nonsense from mark-new-version.sh 2015-07-17 15:02:21 -07:00
cluster timeout docker load: 30 second, and restart docker daemon to workaround docker-load-hang issue. 2015-07-17 15:16:23 -07:00
cmd Merge pull request #11452 from thockin/docs-munge-headerlines 2015-07-17 15:52:08 -07:00
contrib Merge pull request #11298 from mesosphere/fix-10776 2015-07-15 13:55:17 -07:00
docs Fix run-gendocs breakage at head. 2015-07-17 16:45:37 -07:00
examples Run gendocs 2015-07-17 15:35:43 -07:00
hack Merge pull request #11357 from caesarxuchao/api-type-doc-tool-2 2015-07-17 15:57:17 -07:00
hooks Run the build once during presubmit 2015-07-02 14:43:43 -07:00
pkg Detect if UpdateTCPLoadBalancer left its GCE target pool in an incorrect state. 2015-07-17 19:01:21 +00:00
plugin Fix scheduler race 2015-07-12 23:14:24 -07:00
test Log failures in Proxy e2e tests 2015-07-15 14:38:54 +02:00
third_party Add missing license files for third party 2015-06-04 16:00:41 -07:00
www Fix reference to kube-ui proxy path 2015-07-08 19:32:28 -07:00
.gitignore add some more temporary files to gitignore 2015-06-16 11:14:13 -07:00
.travis.yml make travis only run linters/auto-gen checkers. 2015-07-14 11:36:16 -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 Add ga-beacon analytics to gendocs scripts 2015-05-15 18:56:38 -07:00
CONTRIBUTING.md Add ga-beacon analytics to gendocs scripts 2015-05-15 18:56:38 -07:00
DESIGN.md Add ga-beacon analytics to gendocs scripts 2015-05-15 18:56:38 -07:00
LICENSE First commit 2014-06-06 16:40:48 -07:00
Makefile Remove unneeded make rule name. 2015-03-16 12:04:36 +01:00
README.md fix link on root README.md 2015-07-17 10:40:47 -07:00
Vagrantfile Vagrant: Add support for nfs synced folders 2015-07-01 13:12:42 -07:00
logo.pdf Simplify the SVG for the logo 2015-02-20 21:15:31 -08:00
logo.png change logo blue slightly 2014-08-15 09:54:00 -07:00
logo.svg Simplify the SVG for the logo 2015-02-20 21:15:31 -08:00
logo_usage_guidelines.md Add ga-beacon analytics to gendocs scripts 2015-05-15 18:56:38 -07:00
shippable.yml Verify generated stuff in CI 2015-07-13 10:09:14 -07:00

README.md

Kubernetes

GoDoc Travis Coverage Status

I am ...

  • 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 in pre-production beta!

While the concepts and architecture in Kubernetes represent years of experience designing and building large scale cluster manager at Google, the Kubernetes project is still under heavy development. Expect bugs, design and API changes as we bring it to a stable, production product over the coming year.

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.

  • Getting Started Guides
  • User Documentation
    • User FAQ
    • in docs
    • for people who want to run programs on kubernetes
    • describes current features of the system (with brief mentions of planned features)
  • Developer Documentation
    • in docs/devel
    • for people who want to contribute code to kubernetes
    • covers development conventions
    • explains current architecture and project plans
  • Service Documentation
  • API documentation
    • in the API doc
    • and automatically generated API documentation served by the master
  • Design Documentation
    • in docs/design
    • for people who want to understand the design choices made
    • describes tradeoffs, alternative designs
    • descriptions of planned features that are too long for a github issue.
  • Walkthroughs and Examples
    • in examples
    • Hands on introduction and example config files
  • Wiki/FAQ

Community, discussion and support

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

The Kubernetes team is hanging out on IRC on the #google-containers channel on freenode.net. This client may be overloaded from time to time. If this happens you can use any IRC client out there to talk to us.

We also have the google-containers Google Groups mailing list for questions and discussion as well as the kubernetes-announce mailing list for important announcements (low-traffic, no chatter).

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