Production-Grade Container Scheduling and Management
Go to file
Rostislav M. Georgiev 81e3adc53b kubeadm: Fix omitempty in v1beta2
There are a couple of problems with regards to the `omitempty` in v1beta1:

- It is not applied to certain fields. This makes emitting YAML configuration
  files in v1beta1 config format verbose by both kubeadm and third party Go
  lang tools. Certain fields, that were never given an explicit value would
  show up in the marshalled YAML document. This can cause confusion and even
  misconfiguration.

- It can be used in inappropriate places. In this case it's used for fields,
  that need to be always serialized. The only one such field at the moment is
  `NodeRegistrationOptions.Taints`. If the `Taints` field is nil, then it's
  defaulted to a slice containing a single control plane node taint. If it's
  an empty slice, no taints are applied, thus, the cluster behaves differently.
  With that in mind, a Go program, that uses v1beta1 with `omitempty` on the
  `Taints` field has no way to specify an explicit empty slice of taints, as
  this would get lost after marshalling to YAML.

To fix these issues the following is done in this change:

- A whole bunch of additional omitemptys are placed at many fields in v1beta2.
- `omitempty` is removed from `NodeRegistrationOptions.Taints`
- A test, that verifies the ability to specify empty slice value for `Taints`
  is included.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-05-03 12:59:41 +03:00
.github Update github issue template OWNERS 2019-04-24 19:01:00 -07:00
api Merge pull request #73795 from tallclair/runtimeclass-psp 2019-05-02 00:46:17 -07:00
build Swap in fejta, out ixdy in build/OWNERS 2019-04-29 22:42:45 -07:00
cluster Merge pull request #77035 from chardch/fix-device-plugin 2019-05-01 22:10:17 -07:00
cmd kubeadm: Fix omitempty in v1beta2 2019-05-03 12:59:41 +03:00
docs
Godeps Remove Rancher Credential Provider from upstream kubernetes 2019-04-25 19:10:01 -04:00
hack Merge pull request #77053 from SataQiu/fix-golint-test-20190425 2019-05-02 02:00:17 -07:00
logo Correct URL 2019-04-28 00:05:57 -04:00
pkg Merge pull request #73795 from tallclair/runtimeclass-psp 2019-05-02 00:46:17 -07:00
plugin Accept admission request if resource is being deleted 2019-04-30 10:59:27 -07:00
staging Merge pull request #73795 from tallclair/runtimeclass-psp 2019-05-02 00:46:17 -07:00
test Merge pull request #77053 from SataQiu/fix-golint-test-20190425 2019-05-02 02:00:17 -07:00
third_party
translations
vendor Merge pull request #77099 from dims/remove-rancher-credential-provider-from-upstream-kubernetes 2019-04-26 04:32:39 -07:00
.bazelrc
.generated_files
.gitattributes
.gitignore
.kazelcfg.json
BUILD.bazel
CHANGELOG-1.2.md
CHANGELOG-1.3.md
CHANGELOG-1.4.md
CHANGELOG-1.5.md
CHANGELOG-1.6.md
CHANGELOG-1.7.md
CHANGELOG-1.8.md
CHANGELOG-1.9.md
CHANGELOG-1.10.md
CHANGELOG-1.11.md Update CHANGELOG-1.11.md for v1.11.10. 2019-05-01 18:58:05 +00:00
CHANGELOG-1.12.md Update CHANGELOG-1.12.md for v1.12.8. 2019-04-24 00:27:13 +00:00
CHANGELOG-1.13.md
CHANGELOG-1.14.md
CHANGELOG-1.15.md Update CHANGELOG-1.15.md for v1.15.0-alpha.2. 2019-04-29 18:56:17 +00:00
CHANGELOG.md
code-of-conduct.md
CONTRIBUTING.md
go.mod Merge pull request #77099 from dims/remove-rancher-credential-provider-from-upstream-kubernetes 2019-04-26 04:32:39 -07:00
go.sum Remove Rancher Credential Provider from upstream kubernetes 2019-04-25 19:10:01 -04:00
LICENSE
Makefile
Makefile.generated_files
OWNERS
OWNERS_ALIASES Merge pull request #77217 from enj/enj/o/volunteer_auth 2019-04-30 02:35:37 -07: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; 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

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