Production-Grade Container Scheduling and Management
Go to file
wlan0 a68c783dc8 Use ProviderID to address nodes in the cloudprovider
The cloudprovider is being refactored out of kubernetes core. This is being
done by moving all the cloud-specific calls from kube-apiserver, kubelet and
kube-controller-manager into a separately maintained binary(by vendors) called
cloud-controller-manager. The Kubelet relies on the cloudprovider to detect information
about the node that it is running on. Some of the cloudproviders worked by
querying local information to obtain this information. In the new world of things,
local information cannot be relied on, since cloud-controller-manager will not
run on every node. Only one active instance of it will be run in the cluster.

Today, all calls to the cloudprovider are based on the nodename. Nodenames are
unqiue within the kubernetes cluster, but generally not unique within the cloud.
This model of addressing nodes by nodename will not work in the future because
local services cannot be queried to uniquely identify a node in the cloud. Therefore,
I propose that we perform all cloudprovider calls based on ProviderID. This ID is
a unique identifier for identifying a node on an external database (such as
the instanceID in aws cloud).
2017-03-27 23:13:13 -07:00
.github PR template: Update links to kubernetes/community repo 2017-03-17 12:23:58 -04:00
api wire in aggregation 2017-03-27 09:44:10 -04:00
build Fix docker volume selinux issue 2017-03-24 22:37:29 -04:00
cluster Merge pull request #43381 from aleksandra-malinowska/stackdriver-config 2017-03-27 12:49:29 -07:00
cmd Merge pull request #42835 from deads2k/server-01-remove-insecure 2017-03-27 17:00:21 -07:00
docs wire in aggregation 2017-03-27 09:44:10 -04:00
examples Merge pull request #42974 from vmware/VSANPolicyProvisioningForKubernetesOnKubernetesRepo 2017-03-27 17:00:23 -07:00
federation Merge pull request #42835 from deads2k/server-01-remove-insecure 2017-03-27 17:00:21 -07:00
Godeps Merge pull request #40423 from mkutsevol/feature/openstack_cinder_v1_2_auto 2017-03-27 12:49:22 -07:00
hack Merge pull request #42087 from cblecker/scheduler-lint 2017-03-27 15:14:15 -07:00
hooks
logo Updated top level owners file to match new format 2017-01-19 11:29:16 -08:00
pkg Use ProviderID to address nodes in the cloudprovider 2017-03-27 23:13:13 -07:00
plugin Merge pull request #42087 from cblecker/scheduler-lint 2017-03-27 15:14:15 -07:00
staging Merge pull request #42835 from deads2k/server-01-remove-insecure 2017-03-27 17:00:21 -07:00
test Merge pull request #42835 from deads2k/server-01-remove-insecure 2017-03-27 17:00:21 -07:00
third_party Add forked etcd 2.2.1 code to allow rollback to 2.2.1 version 2017-02-10 13:56:01 +01:00
translations Update extraction script, sort messages, add .pot file. 2017-02-23 18:53:00 +00:00
vendor Merge pull request #43383 from deads2k/server-10-safe-proxy 2017-03-27 16:01:06 -07:00
.bazelrc Add verify-gofmt as a Bazel test. 2017-02-10 17:00:28 -08:00
.gazelcfg.json Generate a dummy BUILD file in _output/local/go to keep Bazel out of trouble 2017-01-05 22:05:17 -08:00
.generated_files Move .generated_docs to docs/ so docs OWNERS can review / approve 2017-02-16 10:11:57 -08:00
.gitattributes
.gitignore Add cscope related files into .gitignore. 2016-12-21 10:35:14 +08:00
BUILD.bazel bazel: save git version in kubernetes.tar.gz 2017-01-23 17:28:08 -08:00
CHANGELOG.md Merge pull request #43601 from tianshapjq/patch-1 2017-03-24 22:22:29 -07:00
code-of-conduct.md
CONTRIBUTING.md Close kubernetes/community#420 2017-03-08 09:59:30 -08:00
labels.yaml
LICENSE
Makefile Make make quick-release quick again 2017-02-21 14:35:55 -08:00
Makefile.generated_files Remove a from each codegen path 2016-12-30 18:44:32 -08:00
OWNERS Add wojtec to global approvers 2017-01-25 11:57:00 -06:00
OWNERS_ALIASES Initial breakout of scheduling e2es to help assist in both assignment 2017-03-13 22:34:57 -05:00
README.md Close kubernetes/community#420 2017-03-08 09:59:30 -08:00
Vagrantfile
WORKSPACE Bump CNI consumers to latest version 2017-03-22 16:03:13 -07:00

Kubernetes

Submit Queue Widget GoDoc Widget


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

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

Kubernetes is hosted by the Cloud Native Computing Foundation (CNCF). If you are a company that wants to help shape the evolution of technologies that are container-packaged, dynamically-scheduled and microservices-oriented, consider joining the CNCF. For details about who's involved and how Kubernetes plays a role, read the CNCF announcement.


To start using Kubernetes

See our documentation on kubernetes.io.

Try our interactive tutorial.

Take a free course on Scalable Microservices with Kubernetes.

To start developing Kubernetes

The community repository hosts all information about building Kubernetes from source, how to contribute code and documentation, who to contact about what, etc.

If you want to build Kubernetes right away there are two options:

You have a working Go environment.
$ go get -d k8s.io/kubernetes
$ cd $GOPATH/src/k8s.io/kubernetes
$ make
You have a working Docker environment.
$ git clone https://github.com/kubernetes/kubernetes
$ cd kubernetes
$ make quick-release

If you are less impatient, head over to the developer's documentation.

Support

If you need support, start with the troubleshooting guide and work your way through the process that we've outlined.

That said, if you have questions, reach out to us one way or another.

Analytics