Production-Grade Container Scheduling and Management
Go to file
Jeff Grafton 86b023fdd6 Once again, use native Ginkgo test runner instead of cmd/e2e.
This commit deletes cmd/e2e and updates hack/ginkgo-e2e.sh to use the
'ginkgo' command instead. All logic from cmd/e2e/e2e.go and
test/e2e/driver.go have been combined into the new file
test/e2e/e2e_test.go.

The test tarball now includes a built version of the test/e2e test
binary, which includes all tests under test/e2e. This was accomplished
by updating the build scripts to use 'go test -c' when a target name
ended with '.test', and adding a dependency on test/e2e/e2e.test.

This prebuilt test binary is passed to the Ginkgo runner in
hack/ginkgo-e2e.sh. In a future change, we can add support to run
Ginkgo against the source tree if it is available.

This change is generally intended to have no externally visible changes,
aside from the following caveats:
 - The -t/--tests flag has been removed
 - Calling cmd/e2e/e2e directly obviously won't work, but that was never
   intended to be supported anyway
 - If the GINKGO_PARALLEL environment variable is set to y, then ginkgo
   will run test specs in parallel. (Currently defaults to n, since some
   tests are broken in this mode.)

Additionally, several tests which made poor assumptions about cwd or
used testContext before it had been set have been fixed.
2015-05-15 11:54:53 -07:00
api/swagger-spec Revert "Revert "Security context - types, kubelet, admission"" 2015-05-05 16:02:13 -07:00
build Revert "Revert "release build broken on Docker 1.6"" 2015-05-11 10:15:27 -07:00
cluster Merge pull request #8232 from zmerlynn/i8196 2015-05-15 10:19:35 -07:00
cmd Once again, use native Ginkgo test runner instead of cmd/e2e. 2015-05-15 11:54:53 -07:00
contrib Revert "Fix networking test" 2015-05-15 11:04:23 -07:00
docs Merge pull request #8166 from kargakis/labels-for-object 2015-05-15 11:35:52 -07:00
examples Merge pull request #8222 from caesarxuchao/walkthrough-example 2015-05-15 10:33:39 -07:00
Godeps Merge pull request #8053 from jdef/upstream_mesos_cloud 2015-05-14 13:57:39 -07:00
hack Once again, use native Ginkgo test runner instead of cmd/e2e. 2015-05-15 11:54:53 -07:00
hooks Use color in pre-commit 2015-05-13 12:59:04 -07:00
pkg Merge pull request #8166 from kargakis/labels-for-object 2015-05-15 11:35:52 -07:00
plugin Move pkg/scheduler to plugin/pkg/scheduler 2015-05-13 14:03:25 +08:00
test Once again, use native Ginkgo test runner instead of cmd/e2e. 2015-05-15 11:54:53 -07:00
third_party Increase maxIdleConnection limit in etcd client. 2015-04-28 09:50:56 +02:00
www Adds Karma to TravisCI 2015-05-11 21:54:04 -07:00
.gitignore Adds Karma to TravisCI 2015-05-11 21:54:04 -07:00
.travis.yml Adds Karma to TravisCI 2015-05-11 21:54:04 -07:00
CHANGELOG.md Update CHANGELOG for 0.17.0 2015-05-12 17:01:21 -07:00
CONTRIB.md
CONTRIBUTING.md
DESIGN.md Update docs. Add design principles. Fixes #6133. Fixes #4182. 2015-04-16 22:13:44 +00:00
LICENSE
logo_usage_guidelines.md
logo.pdf
logo.png
logo.svg
Makefile
README.md Update docs. Add design principles. Fixes #6133. Fixes #4182. 2015-04-16 22:13:44 +00:00
shippable.yml Configurable log levels for integration tests. 2015-04-23 18:12:48 -07:00
Vagrantfile Fix vagrant cpu count on linux. 2015-05-11 21:57:42 -04:00

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:

Clusters are the compute resources on top of which your containers are built. Kubernetes can run anywhere! See the Getting Started Guides for instructions for a variety of services.

Pods are a colocated group of Docker 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. More about pods.

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. More about replication controllers.

Services provide a single, stable name and address for a set of pods. They act as basic load balancers. More about services.

Labels are used to organize and select groups of objects based on key:value pairs. More about labels.

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
    • in docs/services.md
    • Service FAQ
    • for people who are interested in how Services work
    • details of kube-proxy iptables
    • how to wire services to external internet
  • 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.