Production-Grade Container Scheduling and Management
Go to file
Danielle Lancashire 3630328fd9 eviction: Deflake TestStart
TestStart was previously flaky. In approx 100_000 local runs, it failed
about 70% of the time, and has been mentioned as a flaky unit test in
the past.

This flake was due to a race condition with the logic as written and the
go scheduler. UpdateThreshold calls `notifier.Start(events)` in a new Go
Routine, which is not guarunteed to be called immediately.

This meant that if `m.Start()` was called before `notifier.Start()`, the
test would fail, as the notifier would not have been started before the
4 events were processed and lock released.

Here, we update the test to more closely match the intended application
behaviour, and have events passed to the channel when `Start` is called
on the notifier.

This ensures that -Start gets called and additionally validates
that the correct channel is provided to the notifier.

Stop was never called previously, as it only gets called on a subsequent
call to UpdateThreshold. `AnyTimes()` hid that this did not occur.
2022-02-08 17:03:44 +01:00
.github
api remove DynamicKubeletConfig logic from kubelet 2022-01-19 22:38:04 +00:00
build make: test-e2e-node: default to containerd 2022-02-01 16:36:06 +01:00
CHANGELOG Merge pull request #107348 from smarterclayton/warn_about_admission 2022-02-04 22:54:50 -08:00
cluster Merge pull request #106241 from jdnurme/cloud-provider-env-var 2022-02-07 20:40:53 -08:00
cmd kubeadm: fix the bug that 'kubeadm certs generate-csr' command does not remove duplicated SANs 2022-02-07 17:12:38 +08:00
docs
hack use zip instead of git-archive 2022-02-07 19:02:03 -05:00
LICENSES feat: add missing SOCKS5 features 2022-01-21 11:49:41 +01:00
logo
pkg eviction: Deflake TestStart 2022-02-08 17:03:44 +01:00
plugin Fix bug with node restriction blocking pvc.status.resizestatus change 2022-01-21 10:03:26 -05:00
staging Merge pull request #105483 from MadhavJivrajani/watch-cache-contention 2022-02-08 03:56:55 -08:00
test Merge pull request #103642 from kerthcet/refactor/unreserve_test 2022-02-08 02:36:53 -08:00
third_party
vendor feat: add missing SOCKS5 features 2022-01-21 11:49:41 +01:00
.generated_files
.gitattributes
.gitignore
.golangci.yaml
CHANGELOG.md
code-of-conduct.md
CONTRIBUTING.md
go.mod feat: add missing SOCKS5 features 2022-01-21 11:49:41 +01:00
go.sum feat: add missing SOCKS5 features 2022-01-21 11:49:41 +01:00
LICENSE
Makefile
Makefile.generated_files
OWNERS for ./OWNERS, ensure approvers are in reviewers and emeritus approvers are not in reviewers 2022-02-03 22:43:04 -08:00
OWNERS_ALIASES Add dgrisonnet to sig-instrumentation approvers 2022-01-26 17:32:38 +01:00
README.md
SECURITY_CONTACTS
SUPPORT.md

Kubernetes (K8s)

GoPkg Widget CII Best Practices


Kubernetes, also known as K8s, 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 K8s

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