Production-Grade Container Scheduling and Management
Go to file
Rafael Fernández López 3e59a0651f
kubeadm: optimize the upgrade path from ClusterStatus to annotations
When doing the very first upgrade from a cluster that contains the
source of truth in the ClusterStatus struct, the new kubeadm logic
will try to retrieve this information from annotations.

This changeset adds to both etcd and apiserver endpoint retrieval the
special case in which they won't retry if we are in such cases. The
logic will retry if we find any unknown error, but will not retry in
the following cases:

- etcd annotations do not contain etcd endpoints, but the overall list
  of etcd pods is greater than 0. This means that we listed at least
  one etcd pod, but they are missing the annotation.

- API server annotation is not found on the api server pod for a given
  node name, but no errors aside from that one were found. This means
  that the API server pod is present, but is missing the annotation.

In both cases there is no point in retrying, and so, this speeds up the
upgrade path when coming from a previous existing cluster.
2020-02-20 12:19:05 +01:00
.github Add kind/flake issue template 2019-12-09 16:06:17 -08:00
api Remove optional from core docs for 'Type' (#88029) 2020-02-13 21:10:31 -08:00
build Merge pull request #87285 from joakimr-axis/joakimr-axis_release.sh 2020-02-14 03:08:17 -08:00
CHANGELOG CHANGELOG: Update CHANGELOG-1.18.md 2020-02-13 09:35:11 -05:00
cluster Merge pull request #88281 from cheftako/master 2020-02-18 15:33:02 -08:00
cmd kubeadm: optimize the upgrade path from ClusterStatus to annotations 2020-02-20 12:19:05 +01:00
docs
Godeps Bump dependency opencontainers/runc@v1.0.0-rc10 2020-01-24 13:11:01 +01:00
hack Merge pull request #87880 from k-toyoda-pi/add_some_aliases 2020-02-19 04:46:25 -08:00
logo
pkg Merge pull request #87792 from ksubrmnn/nodeip 2020-02-20 03:07:04 -08:00
plugin Merge pull request #80724 from cceckman/provider-info-e2e 2020-02-13 01:38:35 -08:00
staging Merge pull request #88313 from zhouya0/optimize_kubectl_version_help_info 2020-02-19 16:11:45 -08:00
test Merge pull request #88353 from roycaihw/deflake/run-crd-test 2020-02-20 03:07:14 -08:00
third_party
translations
vendor Update Go modules 2020-02-18 08:05:04 +00:00
.bazelrc
.bazelversion
.generated_files
.gitattributes
.gitignore
.kazelcfg.json
BUILD.bazel
CHANGELOG.md CHANGELOG: Move changelog, soft-link to top-level, refresh listing 2020-02-06 01:04:44 -05:00
code-of-conduct.md
CONTRIBUTING.md
go.mod proxier: use IPSet from k8s.io/utils/net to store local addresses 2020-02-11 16:44:34 -05:00
go.sum update vendor k8s.io/utils to 5f6fbceb4c31 2020-02-11 16:35:49 -05:00
LICENSE
Makefile
Makefile.generated_files
OWNERS
OWNERS_ALIASES Merge pull request #88116 from justaugustus/releng-owners 2020-02-14 04:22:17 -08:00
README.md
SECURITY_CONTACTS
SUPPORT.md
WORKSPACE

Kubernetes

GoDoc Widget CII Best Practices


Kubernetes is an open source system for managing containerized applications across multiple hosts. It provides 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 your company 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 use Kubernetes code as a library in other applications, see the list of published components. Use of the k8s.io/kubernetes module or k8s.io/kubernetes/... packages as libraries is not supported.

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.
mkdir -p $GOPATH/src/k8s.io
cd $GOPATH/src/k8s.io
git clone https://github.com/kubernetes/kubernetes
cd kubernetes
make
You have a working Docker environment.
git clone https://github.com/kubernetes/kubernetes
cd kubernetes
make quick-release

For the full story, 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