Production-Grade Container Scheduling and Management
Go to file
Antonio Ojea 53d38a3161 node-controller require providerID to initialize a node
Since the migration to the external cloud providers, the node
controller in the cloud controller manager is responsible of
initializing the nodes.

There is a strong assumption across the ecosystem that the nodes has
set the node.spec.providerID value, however, the node controller does
not check if this value is set during the initialization  of the node,
and if there are some failures on the cloud provider API calls, the
node can be untainted without the value and never reconciled.

In addition, it seems that is possible for some cloud provider to not
implement the providerID value, though is not likely this is going to
happen, but for backward compatibility purposes we should allow this case.

The node controller will require the providerID to untain the Nodes,
except when the cloud provider does not use InstancesV2 and does implement it.

ProviderID is inmutable once set, so that value has preferences,
otherwise InstancesV2 is preferred over Instances.

Change-Id: Ic41cf7ebcca1ff0fbd8daafc036166f19fc37251
Signed-off-by: Antonio Ojea <aojea@google.com>
2024-03-05 16:19:52 +00:00
.github
api Merge pull request #123575 from Huang-Wei/pod-scheduling-readiness-stable 2024-03-03 22:29:38 -08:00
build Move import-boss: k/code-generator/cmd -> k/k/cmd 2024-02-29 22:07:36 -08:00
CHANGELOG CHANGELOG: Update directory for v1.30.0-alpha.3 release 2024-02-28 05:37:29 +00:00
cluster increase parallelism on node controller ccm 2024-03-01 09:50:48 +00:00
cmd Merge pull request #123595 from neolit123/1.30-add-timeouts-upgradeconfig 2024-03-04 01:16:44 -08:00
docs
hack Merge pull request #123647 from thockin/use_go_-C_instead_of_pushd_popd 2024-03-02 16:41:56 -08:00
LICENSES Remove old gengo detritus 2024-02-29 22:07:39 -08:00
logo
pkg Merge pull request #123609 from veshij/fix 2024-03-04 11:23:50 -08:00
plugin system:kube-scheduler: extend the RBAC with pods/finalizers 2024-02-26 15:42:35 +01:00
staging node-controller require providerID to initialize a node 2024-03-05 16:19:52 +00:00
test Merge pull request #123628 from Jefftree/agg-conformance 2024-03-04 11:23:59 -08:00
third_party agnhost: merge registry.k8s.io/stress:v1 (github.com/vishh/stress) 2024-02-13 23:21:05 +09:00
vendor Merge pull request #123529 from thockin/go-workspaces 2024-03-01 08:43:03 -08:00
.generated_files
.gitattributes
.gitignore Generate go.work files 2024-02-29 00:22:06 -08:00
.go-version use patch number 2024-02-09 14:47:56 +01:00
CHANGELOG.md
code-of-conduct.md
CONTRIBUTING.md
go.mod Merge pull request #123529 from thockin/go-workspaces 2024-03-01 08:43:03 -08:00
go.sum Merge pull request #123529 from thockin/go-workspaces 2024-03-01 08:43:03 -08:00
go.work Add a header to go.work 2024-03-01 16:23:21 -08:00
go.work.sum Fix up go.mod files after reviews 2024-02-29 22:07:45 -08:00
LICENSE
Makefile
OWNERS
OWNERS_ALIASES Merge pull request #123202 from kannon92/kevin-sig-node-reviewer 2024-02-13 08:28:56 -08:00
README.md Get rid of most references to GOPATH 2024-02-29 22:06:51 -08:00
SECURITY_CONTACTS Update SECURITY_CONTACTS 2023-10-10 14:45:43 +00:00
SUPPORT.md

Kubernetes (K8s)

CII Best Practices Go Report Card GitHub release (latest SemVer)


Kubernetes, also known as K8s, is an open source system for managing containerized applications across multiple hosts. It provides basic mechanisms for the 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 K8s

See our documentation on kubernetes.io.

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 K8s

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

Community Meetings

The Calendar has the list of all the meetings in the Kubernetes community in a single location.

Adopters

The User Case Studies website has real-world use cases of organizations across industries that are deploying/migrating to Kubernetes.

Governance

Kubernetes project is governed by a framework of principles, values, policies and processes to help our community and constituents towards our shared goals.

The Kubernetes Community is the launching point for learning about how we organize ourselves.

The Kubernetes Steering community repo is used by the Kubernetes Steering Committee, which oversees governance of the Kubernetes project.

Roadmap

The Kubernetes Enhancements repo provides information about Kubernetes releases, as well as feature tracking and backlogs.