Production-Grade Container Scheduling and Management
Go to file
Antonio Ojea 9b1bad431b implement dual write on Service ClusterIP allocator
MultiCIDRServiceAllocator implements a new ClusterIP allocator based on
IPAddress object to solve the problems and limitations caused by
existing bitmap allocators.

However, during the rollout of new versions, deployments need to support
a skew of one version between kube-apiservers. To avoid the possible
problem where there are multiple Services requests on the skewed
apiservers and that both allocate the same IP to different Services,
the new allocator will implement a dual-write strategy under the
feature gate DisableAllocatorDualWrite.

After the MultiCIDRServiceAllocator is GA, the DisableAllocatorDualWrite
can be enabled safely as all apiservers will run with the new
allocators. The graduation of DisableAllocatorDualWrite can also
be used to clean up the opaque API object that contains the old bitmaps.

If MultiCIDRServiceAllocator is enabled and DisableAllocatorDualWrite is disable
and is a new environment, there is no bitmap object created, hence, the
apiserver will initialize it to be able to write on it.
2024-06-27 11:33:36 +00:00
.github
api Merge pull request #125576 from alvaroaleman/fix 2024-06-20 10:19:49 -07:00
build enhanced the docker build documentation for readability and clarity 2024-06-17 00:08:04 +05:30
CHANGELOG CHANGELOG: Update directory for v1.31.0-alpha.2 release 2024-06-18 16:31:42 +00:00
cluster Merge pull request #125736 from aojea/netpol_v0.4.0 2024-06-27 02:14:51 -07:00
cmd implement dual write on Service ClusterIP allocator 2024-06-27 11:33:36 +00:00
docs
hack Merge pull request #125738 from pohly/hack-local-up-cluster-cors-fix 2024-06-26 20:40:18 -07:00
LICENSES Switch to stretchr/testify / mockery for mocks 2024-06-20 19:42:53 +02:00
logo
pkg implement dual write on Service ClusterIP allocator 2024-06-27 11:33:36 +00:00
plugin Merge pull request #119240 from jpbetz/jpbetz-owners-admission 2024-06-24 15:46:31 -07:00
staging Merge pull request #125755 from saschagrunert/named-param-service 2024-06-27 04:22:05 -07:00
test implement dual write on Service ClusterIP allocator 2024-06-27 11:33:36 +00:00
third_party agnhost: merge registry.k8s.io/stress:v1 (github.com/vishh/stress) 2024-02-13 23:21:05 +09:00
vendor bump github.com/moby/spdystream to v0.3.0 2024-06-26 12:27:14 -07:00
.generated_files
.gitattributes
.gitignore Generate go.work files 2024-02-29 00:22:06 -08:00
.go-version [go] Bump images, dependencies and versions to go 1.22.4 and distroless iptables/setcap/debian-base 2024-06-06 18:13:15 +02:00
CHANGELOG.md
code-of-conduct.md
CONTRIBUTING.md
go.mod bump github.com/moby/spdystream to v0.3.0 2024-06-26 12:27:14 -07:00
go.sum bump github.com/moby/spdystream to v0.3.0 2024-06-26 12:27:14 -07:00
go.work Revert "Revert "remove legacycloudproviders from staging"" 2024-05-15 20:10:09 +08:00
go.work.sum Revert "update go workspace" 2024-06-26 14:14:18 +00:00
LICENSE
Makefile
OWNERS
OWNERS_ALIASES Merge pull request #125122 from chendave/emeritus_2 2024-06-24 08:43:12 -07:00
README.md Get rid of most references to GOPATH 2024-02-29 22:06:51 -08:00
SECURITY_CONTACTS
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.