Production-Grade Container Scheduling and Management
Go to file
Matt Moore 675d82cd93 Implements a credentialprovider library for use by DockerPuller.
This change refactors the way Kubelet's DockerPuller handles the docker config credentials to utilize a new credentialprovider library.

The credentialprovider library is based on several of the files from the Kubelet's dockertools directory, but supports a new pluggable model for retrieving a .dockercfg-compatible JSON blob with credentials.

With this change, the Kubelet will lazily ask for the docker config from a set of DockerConfigProvider extensions each time it needs a credential.

This change provides common implementations of DockerConfigProvider for:
 - "Default": load .dockercfg from disk
 - "Caching": wraps another provider in a cache that expires after a pre-specified lifetime.

GCP-only:
 - "google-dockercfg": reads a .dockercfg from a GCE instance's metadata
 - "google-dockercfg-url": reads a .dockercfg from a URL specified in a GCE instance's metadata.
 - "google-container-registry": reads an access token from GCE metadata into a password field.

(cherry picked from commit 0c5d9ed0d2)
2014-11-18 12:24:29 -08:00
api Some examples do not pass extended validation 2014-11-10 11:33:31 -05:00
build rename kube server binaries to kube- 2014-11-13 20:08:26 -05:00
cluster Implements a credentialprovider library for use by DockerPuller. 2014-11-18 12:24:29 -08:00
cmd Implements a credentialprovider library for use by DockerPuller. 2014-11-18 12:24:29 -08:00
contrib Merge branch 'eparis-rename-to-kube' 2014-11-17 09:55:11 -08:00
docs Merge pull request #2423 from bgrant0607/docfix 2014-11-17 14:03:29 -08:00
examples Update guestbook to fix given recent changes. 2014-11-15 19:36:02 -08:00
Godeps Merge pull request #2407 from eparis/cadvisor-0.5.0 2014-11-17 08:53:36 -08:00
hack Implements a credentialprovider library for use by DockerPuller. 2014-11-18 12:24:29 -08:00
hooks Adding files to Godeps should not trigger gofmt or boilerplate warnings 2014-09-03 17:00:30 -07:00
icebox Make vSphere scripts work for binary deploys 2014-10-29 11:30:08 -07:00
pkg Implements a credentialprovider library for use by DockerPuller. 2014-11-18 12:24:29 -08:00
plugin Merge branch 'rename-to-kube' of https://github.com/eparis/kubernetes into eparis-rename-to-kube 2014-11-17 09:52:10 -08:00
test/integration Add more validation for updating node. 2014-11-17 13:42:31 -05:00
third_party api/v1beta1: use go-dockerclient instead of docker-api-structs 2014-09-05 17:31:13 -03:00
www Remove one line of debug code. 2014-10-10 10:02:34 -04:00
.gitignore Rework hack/ and build/ directories. 2014-11-01 17:56:41 -07:00
.travis.yml Stop running benchmarks for every travis run. They're flaky. 2014-11-03 13:39:16 -08:00
CHANGELOG.md Add initial changelog 2014-10-14 16:56:09 -07:00
CONTRIB.md Move CONTRIB{,UTING}.md so GitHub shows it 2014-07-28 17:06:29 -04:00
CONTRIBUTING.md Move developer documentation to docs/devel/ 2014-10-15 08:30:02 -07:00
DESIGN.md Removing TOC links to no-longer-extant sections 2014-10-29 15:34:01 -07:00
LICENSE First commit 2014-06-06 16:40:48 -07:00
logo_usage_guidelines.md Add logo usage guidelines doc. 2014-08-26 09:13:39 -07:00
logo.pdf change logo blue slightly 2014-08-15 09:54:00 -07:00
logo.png change logo blue slightly 2014-08-15 09:54:00 -07:00
logo.svg change logo blue slightly 2014-08-15 09:54:00 -07:00
MAINTAINERS.md vSphere capitalization 2014-10-29 11:30:09 -07:00
Makefile Rework hack/ and build/ directories. 2014-11-01 17:56:41 -07:00
README.md Fix DESIGN.md link, and etcd installation instruction. 2014-11-11 22:12:27 -05:00
Vagrantfile Make Vagrant CPU usage be more sane on hyperthreaded systems. 2014-11-13 17:09:59 -08:00

Kubernetes

Kubernetes is an open source implementation of container cluster management.

Kubernetes Design Document - Kubernetes @ Google I/O 2014

GoDoc Travis

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.

Contents

Where to go next?

Check out examples of Kubernetes in action, and community projects in the larger ecosystem:

Or fork and start hacking!

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. 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.