Kubernetes release v1.21.2-rc.0

Based on https://github.com/kubernetes/kubernetes/releases/tag/v1.21.2-rc.0
Merge pull request #100951 from saschagrunert/automated-cherry-pick-of-#99839-upstream-release-1.21

Automated cherry pick of #99839: Cleanup portforward streams after their usage

Kubernetes-commit: 9745a35d15c40607d94424776cc84a130c64d75f
tree: 2dd6dfb0de58de6e9967a9926410fef4d09f8232
  1. .github/
  2. Godeps/
  3. pkg/
  4. third_party/
  5. code-of-conduct.md
  6. CONTRIBUTING.md
  7. go.mod
  8. go.sum
  9. LICENSE
  10. OWNERS
  11. README.md
  12. SECURITY_CONTACTS
README.md

apimachinery

Scheme, typing, encoding, decoding, and conversion packages for Kubernetes and Kubernetes-like API objects.

Purpose

This library is a shared dependency for servers and clients to work with Kubernetes API infrastructure without direct type dependencies. Its first consumers are k8s.io/kubernetes, k8s.io/client-go, and k8s.io/apiserver.

Compatibility

There are NO compatibility guarantees for this repository. It is in direct support of Kubernetes, so branches will track Kubernetes and be compatible with that repo. As we more cleanly separate the layers, we will review the compatibility guarantee.

Where does it come from?

apimachinery is synced from https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery. Code changes are made in that location, merged into k8s.io/kubernetes and later synced here.

Things you should NOT do

  1. Add API types to this repo. This is for the machinery, not for the types.
  2. Directly modify any files under pkg in this repo. Those are driven from k8s.io/kubernetes/staging/src/k8s.io/apimachinery.
  3. Expect compatibility. This repo is direct support of Kubernetes and the API isn't yet stable enough for API guarantees.