Compare commits

..

1770 Commits

Author SHA1 Message Date
Kubernetes Prow Robot f636e47d42 Merge pull request #34299 from Babapool/correct-invalid-shortcode
[hi]Update hi/docs/setup/production-environment/container-runtimes.md
2022-06-15 03:05:17 -07:00
Vitthal Sai da91d01605 Fixed error causing caution shortcode 2022-06-15 10:55:12 +05:30
Kubernetes Prow Robot 37fa13ca78 Merge pull request #32713 from ashish-jaiswar/newbranch
[hi] update content/hi/docs/setup/production-environment/container-runtimes.md
2022-04-09 07:18:04 -07:00
ashish-jaiswar d22a123c37 [hi] update content/hi/docs/setup/production-environment/container-runtimes.md 2022-04-02 13:22:09 +05:30
Darshna Das 1e8d014694 [hi] Add content/hi/docs/setup/production-environment/container-runtimes.md (#31857)
* Localized container-runtimes.md

* Updated with needed change

* Updated with needed changes

* Updated with needed changes

* Updated with needed changes

* Updated the PR
2022-03-01 10:59:55 -08:00
Kubernetes Prow Robot 7f429d134f Merge pull request #29396 from anubha-v-ardhan/content-hi-docs-tutorials-helloMinikube
[hi] Add content/hi/docs/tutorials/hello-minikube.md
2022-02-21 00:40:11 -08:00
Anubhav Vardhan 065b1ba5ab Update content/hi/docs/tutorials/hello-minikube.md
Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>
2022-02-15 13:53:49 +05:30
Anubhav Vardhan fe74ff0d71 Update content/hi/docs/tutorials/hello-minikube.md
Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>
2022-02-15 13:53:36 +05:30
Anubhav Vardhan c922f43d9e Localize hello-minikube.md
Create hello-minikube.md

Update hello-minikube.md

Update hello-minikube.md

Update content/hi/docs/tutorials/hello-minikube.md

Update content/hi/docs/tutorials/hello-minikube.md

Update content/hi/docs/tutorials/hello-minikube.md

Update content/hi/docs/tutorials/hello-minikube.md

Update content/hi/docs/tutorials/hello-minikube.md

Update content/hi/docs/tutorials/hello-minikube.md

Update hello-minikube.md

Update hello-minikube.md

Update hello-minikube.md

Update hello-minikube.md

Update content/hi/docs/tutorials/hello-minikube.md

Update content/hi/docs/tutorials/hello-minikube.md

Update content/hi/docs/tutorials/hello-minikube.md

Update hello-minikube.md

Update content/hi/docs/tutorials/hello-minikube.md

Update hello-minikube.md

Update content/hi/docs/tutorials/hello-minikube.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>
Co-Authored-By: divya-mohan0209 <divya.mohan0209@gmail.com>
Co-Authored-By: Avinesh Tripathi <73980067+AvineshTripathi@users.noreply.github.com>
2022-02-14 19:38:47 +05:30
Keshav Kumar ede710e85b [hi] Add content/hi/docs/setup/production-environment/_index.md (#29518)
* half page is localised only for now

* completed whole page

* corrected a hyperlink

* corrected a hyperlink2

* Update कुबेरनेट -> कुबेरनेट्स

Co-authored-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>

* Updated सेटअप

Co-authored-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>

* Updated kube-apiserver text

Co-authored-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>

* Updated apiserver text

Co-authored-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>

* Updated सेटअप text

Co-authored-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>

* Updated apiserver text

Co-authored-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>

* Updated सेटअप text

Co-authored-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>

* Updated kubernetes text

Co-authored-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>

* Update content/hi/docs/setup/production-environment/_index.md

changed कंट्रोल into कण्ट्रोल

Co-authored-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>

* Update content/hi/docs/setup/production-environment/_index.md

changed कंट्रोल into कण्ट्रोल

Co-authored-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>

* Update content/hi/docs/setup/production-environment/_index.md

changed कंट्रोल into कण्ट्रोल

Co-authored-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>

* Update content/hi/docs/setup/production-environment/_index.md

changed कंट्रोल into कण्ट्रोल

Co-authored-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>

* Update content/hi/docs/setup/production-environment/_index.md

changed कंट्रोल into कण्ट्रोल

Co-authored-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>

* Update content/hi/docs/setup/production-environment/_index.md

changed कंट्रोल into कण्ट्रोल

Co-authored-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>

* Update content/hi/docs/setup/production-environment/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* changed worker nodes translation

* Update content/hi/docs/setup/production-environment/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>
Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2022-01-20 19:55:59 -08:00
Anubhav Vardhan 38ef181e80 [hi] Add content/hi/docs/tutorials/kubernetes-basics/explore/explore-intro.html (#29412)
* Create explore-intro.html

* Update content/hi/docs/tutorials/kubernetes-basics/explore/explore-intro.html

Co-authored-by: Kunal Verma <72245772+verma-kunal@users.noreply.github.com>

* Update explore-intro.html

* Update content/hi/docs/tutorials/kubernetes-basics/explore/explore-intro.html

Co-authored-by: Kunal Verma <72245772+verma-kunal@users.noreply.github.com>

* Update explore-intro.html

* Update content/hi/docs/tutorials/kubernetes-basics/explore/explore-intro.html

Co-authored-by: Kunal Verma <72245772+verma-kunal@users.noreply.github.com>

* Update content/hi/docs/tutorials/kubernetes-basics/explore/explore-intro.html

Co-authored-by: Kunal Verma <72245772+verma-kunal@users.noreply.github.com>

* Update content/hi/docs/tutorials/kubernetes-basics/explore/explore-intro.html

Co-authored-by: Rajat Gupta <55191777+rajatgupta24@users.noreply.github.com>

* Update explore-intro.html

* Update content/hi/docs/tutorials/kubernetes-basics/explore/explore-intro.html

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update explore-intro.html

Co-authored-by: Kunal Verma <72245772+verma-kunal@users.noreply.github.com>
Co-authored-by: Rajat Gupta <55191777+rajatgupta24@users.noreply.github.com>
Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>
2022-01-12 00:20:37 -08:00
Avinesh Tripathi 7f29e4edea [hi] Add content/hi/releases/_index.md (#31292)
* added index.md in release

* Update content/hi/releases/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* fixed typo

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2022-01-11 10:06:25 -08:00
Mohd Nawaz Siddiqui 8fa492b380 [hi] Add content/hi/docs/contribute/_index.md (#31162)
* [hi] Add content/hi/docs/contribute/_index.md

localized the file from website/content/en/docs/contribute/_index.md

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>

* Updated _index.md

Update the suggested changes

* Updated the change as suggested on line 2,3,4,24

* Update _index.md

* Updated सिग डॉक्स to SIG Docs

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Garima Negi <garima.negy@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/contribute/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: divya-mohan0209 <divya.mohan0209@gmail.com>
Co-authored-by: Tim Bannister <tim@scalefactory.com>
Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
Co-authored-by: Garima Negi <garima.negy@gmail.com>
2022-01-11 08:46:26 -08:00
Kubernetes Prow Robot 72e773b2b7 Merge pull request #31072 from Babapool/update-hi-toml
[hi] Update data/i18n/hi/hi.toml
2022-01-11 04:09:16 -08:00
Vitthal Sai 44c5a11dd1 [hi] Update data/i18n/hi/hi.toml 2022-01-11 17:00:10 +05:30
Garima Negi 269b037e00 [hi] Add docs/reference/_index.md to Hindi localization (#31185)
* Add API reference section

* Rename file to _index.md

* fixed annotation to टिप्पणी

* added design  docs

* added config APIs localized

* added localized components section

* added localization for CLI section

* Removed `approvers` from header

* added agent as प्रतिनिधि

* added forwarding simpler meaning in parenthesis

* syntax as सिन्‌टैक्‍स् , वाक्य रचना in parenthesis
2022-01-11 01:25:16 -08:00
Kubernetes Prow Robot 3b684a7279 Merge pull request #31077 from sftim/20211222_fix_hindi_config
[hi] Use localized text for Hindi language configuration
2022-01-09 11:53:12 -08:00
Kubernetes Prow Robot b855e0d692 Merge pull request #29416 from Darshnadas/darshna-localize
[hi] Add content/hi/docs/setup/learning-environment/_index.md
2022-01-03 08:13:02 -08:00
Darshna Das bf315656ed Add content/hi/docs/setup/learning-environment/_index.md 2021-12-27 18:08:41 +05:30
Tim Bannister aa45dbbb6c Use localized text for Hindi language configuration
Co-authored-by: championshuttler <shivams2799@gmail.com>
2021-12-23 09:10:07 +00:00
Kubernetes Prow Robot 56ecf18792 Merge pull request #31008 from sftim/20211217_add_hindi_docs_home_redirect
Add redirect to /docs/home/ for Hindi
2021-12-21 16:43:35 -08:00
Tim Bannister 3e1ed0a6f1 Add redirect to /docs/home/ for Hindi 2021-12-17 15:01:57 +00:00
Kubernetes Prow Robot 7e1deb2008 Merge pull request #29403 from anubha-v-ardhan/content-hi-docs-tutorials-kubernetesBasics-explore-exploreInteractive
[hi] Add content/hi/docs/tutorials/kubernetes-basics/explore/explore-interactive.html
2021-12-16 04:47:19 -08:00
Ashish jaiswar f9760fdd7a [hi] Add content/hi/docs/concepts/overview/what-is-kubernetes.md (#30847)
* [hi] Add  content/hi/docs/concepts/overview/what-is-kubernetes.md

* updated this file what-is-kubernetes.md

* Update content/hi/docs/concepts/overview/what-is-kubernetes.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* updated  content/hi/docs/concepts/overview/what-is-kubernetes.md

* Update content/hi/docs/concepts/overview/what-is-kubernetes.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/concepts/overview/what-is-kubernetes.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-12-16 03:53:20 -08:00
Rajat Gupta 64884b0faf [hi] Add content/hi/docs/tutorials/k8s-basics/expose/expose-intro.html (#29407)
* Add content/hi/docs/tutorials/k8s-basics/expose/expose-intro.html

* Update content/hi/docs/tutorials/kubernetes-basics/expose/expose-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update expose-intro.html

* Update content/hi/docs/tutorials/kubernetes-basics/expose/expose-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/expose/expose-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/expose/expose-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update expose-intro.html

* Update content/hi/docs/tutorials/kubernetes-basics/expose/expose-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/expose/expose-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/expose/expose-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/expose/expose-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/expose/expose-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/expose/expose-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-12-16 03:33:20 -08:00
Rajat Gupta fedc0f7ee4 [hi] Add content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html (#29401)
* Add content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html

* Fix changes

* Fix changing lang="hi"

* Update deploy-intro.html

* Update content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-12-16 03:27:19 -08:00
Harsh Mathur 62cda9b405 [hi] Add content/hi/case-studies/_index.md (#30733)
* Case studies added to `hi` folder

* Removed _index.md and added _index.html

* Update content/hi/case-studies/_index.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/case-studies/_index.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-12-04 08:06:31 -08:00
Kubernetes Prow Robot d85c453561 Merge pull request #30087 from verma-kunal/hi-localise-contentLandingPage
[hi] Add content/hi/_index.html
2021-12-02 11:05:44 -08:00
Anurag Kumar 72c12b7f77 [hi] Add content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md (#30607)
* [hi] Add content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Added the localisation of optional-kubectl-configs-bash-mac.md (#30570)

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-11-29 06:55:23 -08:00
Ashish jaiswar 76c2281b62 [hi] Add content/hi/docs/tasks/tools/included/optional-kubectl-confi… (#30627)
* [hi] Add  content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-linux.md

* updated file optional-kubectl-configs-bash-linux.md

* updated this file optional-kubectl-configs-bash-linux.md

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-linux.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-linux.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-linux.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-linux.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-linux.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-11-28 10:29:21 -08:00
Mohd Nawaz Siddiqui fe0d12b9b9 [hi] Add content/hi/includes/task-tutorial-prereqs.md (#30602)
* Added task-tutorial-prereqs

Added task-tutorial-prereqs on the path website/content/hi/includes.

* Update content/hi/includes/task-tutorial-prereqs.md

Updated the change as suggested.

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/includes/task-tutorial-prereqs.md

updated change as suggested.

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-11-28 08:53:22 -08:00
Polok-Ghosh ea74766545 [hi] Add content/hi/docs/reference/glossary/index.md (#30652)
* Create index.md

* Update index.md

* Rename content/hi/docs/index.md to content/hi/docs/reference/glossary/index.md
2021-11-27 06:02:41 -08:00
shivam tyagi 5b05c0edec Add content\hi\docs\setup\production-environment\turnkey-solutions.md (#30303)
* file

* Update content/hi/docs/setup/production-environment/turnkey-solutions.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* concept

* Update content/hi/docs/setup/production-environment/turnkey-solutions.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-11-20 03:28:59 -08:00
Kubernetes Prow Robot b2f95de64e Merge pull request #29399 from anubha-v-ardhan/content-hi-docs-tutorials-kubernetesBasics-explore-landing
[hi] Add content/hi/docs/tutorials/kubernetes-basics/explore/_index.md
2021-11-18 08:05:03 -08:00
Anubhav Vardhan c400ec2d3e [hi] Add content/hi/docs/tutorials/_index.md (#29376)
* Create _index.md

* Update content/hi/docs/tutorials/_index.md

Co-authored-by: Yashu Mittal <mittalyashu77@gmail.com>

* Update _index.md

* Update content/hi/docs/tutorials/_index.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/hi/docs/tutorials/_index.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/hi/docs/tutorials/_index.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/hi/docs/tutorials/_index.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update _index.md

* Update _index.md

Co-authored-by: Yashu Mittal <mittalyashu77@gmail.com>
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-11-18 07:35:03 -08:00
Kunal Verma d8521a66e3 Final Update hi/_index.html 2021-10-31 19:17:08 +05:30
Prashant Pandey ca922fe453 [hi] Update data/i8n/hi/hi.toml (#29472)
* translation complete for data/i8n/hi

* added request changes

* updated request changes

* Update data/i18n/hi/hi.toml

Co-authored-by: Rajat Gupta <55191777+rajatgupta24@users.noreply.github.com>

* Update data/i18n/hi/hi.toml

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update data/i18n/hi/hi.toml

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update data/i18n/hi/hi.toml

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update data/i18n/hi/hi.toml

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update data/i18n/hi/hi.toml

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update data/i18n/hi/hi.toml

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update data/i18n/hi/hi.toml

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update data/i18n/hi/hi.toml

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update data/i18n/hi/hi.toml

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update data/i18n/hi/hi.toml

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update data/i18n/hi/hi.toml

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update data/i18n/hi/hi.toml

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Rajat Gupta <55191777+rajatgupta24@users.noreply.github.com>
Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-10-25 01:18:22 -07:00
Vedant Kakde 4e5d5d6c42 [hi] Add content/hi/docs/tasks/tools/install-kubectl-linux.md (#29457)
* content/en/docs/tasks/tools/install-kubectl-linux.md

* Update install-kubectl-linux.md

* Update install-kubectl-linux.md

* Apply suggestions from code review

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update install-kubectl-linux.md

* Update install-kubectl-linux.md

* Update install-kubectl-linux.md

* Update content/hi/docs/tasks/tools/install-kubectl-linux.md

Co-authored-by: Yashu Mittal <mittalyashu77@gmail.com>

* Update content/hi/docs/tasks/tools/install-kubectl-linux.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Apply suggestions from code review

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
Co-authored-by: Yashu Mittal <mittalyashu77@gmail.com>
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-10-23 10:08:21 -07:00
Kubernetes Prow Robot 1964daebf2 Merge pull request #29374 from anubha-v-ardhan/content-hi-docs-setup-bestpractices-landing
[hi] Add content/hi/docs/setup/best-practices/_index.md
2021-10-23 04:46:20 -07:00
Keshav Kumar 4150794fba [hi] Add content/hi/docs/setup/_index.md (#29514)
* localised a file in website\content\hi\docs\setup\_index.md

* transcribed control plane word

* [hi] Add content/hi/docs/setup/_index.md

* update suggested sentences

* rephrased some sentences

* Update content/hi/docs/setup/_index.md

updated the refrence docs location

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-10-23 03:56:21 -07:00
Anubhav Vardhan 170f0c6126 Update explore-interactive.html 2021-10-21 14:22:33 +05:30
Anubhav Vardhan 82a0c67744 Update _index.md 2021-10-21 14:12:13 +05:30
Rajat Gupta fe650578a9 [hi] Add content/hi/docs/tutorial/kubernetes-basics/_index.html (#29391)
* Add content/hi/docs/tutorial/kubernetes-basics/_index.html

* updating tutorial to tutorials

* Add: content/hi/docs/tutorials/kubernetes-basics/_index.html

* Fix words like deployment

* Changing `Deploy`

* Update content/hi/docs/tutorials/kubernetes-basics/_index.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/_index.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/_index.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/_index.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/_index.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-10-20 05:59:58 -07:00
Kunal Verma 7ab8d65cdd Add content/hi/_index.html 2021-10-15 00:15:08 +05:30
Rajat Gupta c8548e219f [hi] Add content/hi/docs/tutorial/kubernetes-basics/create-cluster (#29392)
* Add content/hi/docs/tutorial/kubernetes-basics/_index.html

* updating tutorial to tutorials

* Add: content/hi/docs/tutorials/kubernetes-basics/create-cluster

* updating words like deployment

* Update content/hi/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update cluster-intro.html

* Update content/hi/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update cluster-intro.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-10-09 13:02:36 -07:00
Rajat Gupta 10e972bebe [hi] Add content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html (#29393)
* Add content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html

* Fix reviewed changes

* Fix reviewed changes

* Update deploy-interactive.html

* Update content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-10-08 02:48:58 -07:00
shivam tyagi 3ebb648a4d [hi] Add content\hi\docs\tasks\tools\included\kubectl-convert-overview.md (#29970)
* add kubectl-convert-overview  file

* Update content/hi/docs/tasks/tools/included/kubectl-convert-overview.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/kubectl-convert-overview.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-10-08 01:58:58 -07:00
Kubernetes Prow Robot 583661b2c4 Merge pull request #29971 from ShivamTyagi12345/index-dev-1.22-hi.1
[hi] Add content/hi/docs/tutorials/kubernetes-basics/update/_index.md
2021-10-08 01:02:58 -07:00
ShivamTyagi ab9dd0ff1d add file 2021-10-08 12:31:07 +05:30
Rajat Gupta 1bcfd9d2e4 [hi] Add content/hi/docs/tasks/tools/_index.md (#29458)
* Add content/hi/docs/tasks/tools/_index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update content/hi/docs/tasks/tools/_index.md

Co-authored-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>

* Update content/hi/docs/tasks/tools/_index.md

Co-authored-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>

* Update content/hi/docs/tasks/tools/_index.md

Co-authored-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>

* Update _index.md

* Update content/hi/docs/tasks/tools/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/_index.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>
Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-10-07 21:13:51 -07:00
shivam tyagi a9b7fb177b [hi] Add content\hi\docs\tasks\tools\included\kubectl-whats-next.md (#29471)
* kubectl-whats-next localized

* Update content/hi/docs/tasks/tools/included/kubectl-whats-next.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/kubectl-whats-next.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/kubectl-whats-next.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/kubectl-whats-next.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/included/kubectl-whats-next.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-10-07 08:57:46 -07:00
Vedant Kakde 2fa7e1e087 [hi] Add content/hi/docs/tasks/tools/install-kubectl-windows.md (#29465)
* Add content/hi/docs/tasks/tools/install-kubectl-windows.md

* Apply suggestions from code review

Co-authored-by: Yashu Mittal <mittalyashu77@gmail.com>

* Apply suggestions from code review

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update install-kubectl-windows.md

* Update install-kubectl-windows.md

* Apply suggestions from code review

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Yashu Mittal <mittalyashu77@gmail.com>
Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-10-06 10:12:41 -07:00
Vedant Kakde 6b92e5aa05 [hi] Add content/hi/docs/tasks/tools/install-kubectl-macos.md (#29461)
* Add content/hi/docs/tasks/tools/install-kubectl-macos.md

* Apply suggestions from code review

Co-authored-by: Yashu Mittal <mittalyashu77@gmail.com>

* Update install-kubectl-macos.md

* Apply suggestions from code review

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

* Update content/hi/docs/tasks/tools/install-kubectl-macos.md

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Yashu Mittal <mittalyashu77@gmail.com>
Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-10-01 22:37:06 -07:00
Kubernetes Prow Robot 699ec1ae1b Merge pull request #29434 from rajatgupta24/docs-task
[hi] Add content/hi/docs/tasks/_index.md
2021-09-26 15:04:22 -07:00
Anubhav Vardhan 3d469ee2c7 Update _index.md 2021-09-25 15:41:37 +05:30
Kubernetes Prow Robot cf225e223e Merge pull request #29454 from verma-kunal/hi-docs-tuts-k8s-basics-update-updt-intro
[hi] Add content/hi/docs/tutorials/kubernetes-basics/update/update-intro.html
2021-09-25 02:44:21 -07:00
Kunal Verma f62c5961db Final commit update-intro.html 2021-09-24 20:42:30 +05:30
Rajat Gupta de48775b13 [hi] Add content/hi/docs/tutorials/kubernetes-basics/deploy-app/_index.md (#29400)
* Add content/hi/docs/tutorials/kubernetes-basics/deploy-app/_index.md

* Fix changes

* Update _index.md

* Update _index.md
2021-09-22 20:07:10 -07:00
Rajat Gupta 288c386ee1 [hi] Add content/hi/docs/tutorials/kubernetes-basics/expose/_index.md (#29430)
* Add content/hi/docs/tutorials/kubernetes-basics/expose/_index.md

* Update _index.md

* Update _index.md
2021-09-22 20:03:11 -07:00
Rajat Gupta 49b9366145 [hi] Add content/hi/docs/tutorials/kubernetes-basics/expose/expose-interactive.html (#29405)
* Add content/hi/docs/tutorials/

* Update content/hi/docs/tutorials/kubernetes-basics/expose/expose-interactive.html

Co-authored-by: Kunal Verma <72245772+verma-kunal@users.noreply.github.com>

* Update content/hi/docs/tutorials/kubernetes-basics/expose/expose-interactive.html

Co-authored-by: Kunal Verma <72245772+verma-kunal@users.noreply.github.com>

* Update content/hi/docs/tutorials/kubernetes-basics/expose/expose-interactive.html

Co-authored-by: Kunal Verma <72245772+verma-kunal@users.noreply.github.com>

* Update expose-interactive.html

* Update content/hi/docs/tutorials/kubernetes-basics/expose/expose-interactive.html

Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>

Co-authored-by: Kunal Verma <72245772+verma-kunal@users.noreply.github.com>
Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-09-16 21:41:00 -07:00
Kubernetes Prow Robot bbc3764e0b Merge pull request #29469 from vedant-kakde/Hindi-Localization-docs/tasks/tools/included/verify-kubectl.md
[hi] Add content/hi/docs/tasks/tools/included/verify-kubectl.md
2021-09-16 11:55:27 -07:00
Vedant Kakde 55b1ab34cb Apply suggestions from code review
Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-09-17 00:21:03 +05:30
Vedant Kakde 747c82aa6c Add content/hi/docs/tasks/tools/included/verify-kubectl.md
Signed-off-by: Vedant Kakde <69970950+vedant-kakde@users.noreply.github.com>
2021-09-16 23:56:36 +05:30
Kubernetes Prow Robot 26ceffbb99 Merge pull request #29420 from verma-kunal/hi-docs-tuts-k8s-basics-scale-scaleIntro
[hi] Add content/hi/docs/tutorials/kubernetes-basics/scale/scale-intro.html
2021-09-16 01:37:47 -07:00
Kubernetes Prow Robot 6cc9c69fc3 Merge pull request #29383 from verma-kunal/Hindi-localization-docs/home1
[hi] Add content/hi/docs/home/_index.md
2021-09-14 23:32:41 -07:00
Kunal Verma 6133cf3b91 Final commit content/hi/docs/home/_index.md 2021-09-15 11:05:48 +05:30
Kubernetes Prow Robot 25aa7be692 Merge pull request #29432 from verma-kunal/hi-docs-tuts-k8s-basics-update-updt-interactive
[hi] Add content/hi/docs/tutorials/kubernetes-basics/update/update-interactive.html
2021-09-14 22:04:41 -07:00
Kunal Verma 43f4a1f822 Update content/hi/docs/tutorials/kubernetes-basics/update/update-interactive.html
Co-authored-by: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-09-15 10:17:14 +05:30
Kubernetes Prow Robot 041af7458c Merge pull request #29674 from sftim/20210912_enable_hindi_localization
[hi] Enable Hindi localization
2021-09-14 16:24:40 -07:00
Kunal Verma a74bd43fdf Final commit content/hi/docs/tutorials/kubernetes-basics/scale/scale-intro.html 2021-09-14 14:43:27 +05:30
Kubernetes Prow Robot b7c9f8febf Merge pull request #29705 from kaiwalyakoparkar/hi/docs/tasks/tools/included/_index.md
[hi] Added hi/docs/tasks/tools/included/_index.md
2021-09-14 02:05:08 -07:00
kaiwalyakoparkar 8dcc80ea24 [hi] Add docs/tasks/tools/included/_index.md 2021-09-14 14:19:01 +05:30
Kubernetes Prow Robot f00815006b Merge pull request #29410 from verma-kunal/hi-docs-tuts-k8s-basics-scale-scale-interactive
[hi] Add content/hi/docs/tutorials/kubernetes-basics/scale/scale-interactive.html
2021-09-13 07:32:08 -07:00
Kubernetes Prow Robot 4fbf99fff2 Merge pull request #29474 from vedant-kakde/Hindi-Localization-docs/tasks/tools/included/optional-kubectl-configs-zsh.md
[hi] Add content/hi/docs/tasks/tools/included/optional-kubectl-configs-zsh.md
2021-09-13 03:38:07 -07:00
Vedant Kakde f0abfe8a1c Add content/hi/docs/tasks/tools/included/optional-kubectl-configs-zsh.md
Update optional-kubectl-configs-zsh.md

Co-Authored-By: Anubhav Vardhan <vardhananubhav@gmail.com>
2021-09-13 16:04:26 +05:30
Kubernetes Prow Robot 634983ca07 Merge pull request #29372 from verma-kunal/Hindi-localization-docs/home2
[hi] Add content/hi/docs/home/supported-doc-versions.md
2021-09-13 02:20:07 -07:00
Kunal Verma 26894350b6 Final Update content/hi/docs/home/supported-doc-versions.md
Update content/hi/docs/home/supported-doc-versions.md

Co-authored-by: Yashu Mittal <mittalyashu77@gmail.com>
2021-09-13 14:26:23 +05:30
Kubernetes Prow Robot e1552ba5a8 Merge pull request #29413 from anubha-v-ardhan/content/hi/docs/setup/production-environment/windows/_index.md
[hi] Add content/hi/docs/setup/production-environment/windows/_index.md
2021-09-12 09:46:06 -07:00
Tim Bannister 729ce020fe Enable Hindi localization 2021-09-12 17:34:02 +01:00
Kubernetes Prow Robot 58022246d0 Merge pull request #29421 from verma-kunal/hi-docs-tuts-k8s-basics-scale-scaleLanding
[hi] Add content/hi/docs/tutorials/kubernetes-basics/scale/_index.md
2021-09-12 09:32:06 -07:00
Tim Bannister 57e5594805 Merge pull request #29675 from sftim/20210912_update_hindi_localization
Update the Hindi localization branch with the latest changes from main,
including updates to Hindi reviewers and approvers.
2021-09-12 11:51:25 +01:00
Tim Bannister 53781c1366 Merge branch 'main' ready to merge into 'dev-1.22-hi.1' 2021-09-12 11:16:57 +01:00
Kubernetes Prow Robot 645cbf57e2 Merge pull request #29666 from anubha-v-ardhan/sig-docs-hi-members
[hi] Update sig-docs-hi owners and reviewers
2021-09-12 03:00:06 -07:00
Kubernetes Prow Robot 8e844434c6 Merge pull request #29486 from astraw99/fix_typo_an_extension
Fix typo `a extension` and its related `en` doc sync
2021-09-11 18:42:06 -07:00
Kubernetes Prow Robot 9dc6afc781 Merge pull request #29662 from mysunshine92/scheduling-hugepage
zh: update scheduling-hugepages.md
2021-09-11 18:04:06 -07:00
Anubhav Vardhan 96c79d2e2f Update OWNERS_ALIASES
Update OWNERS_ALIASES

Update OWNERS_ALIASES
2021-09-11 20:44:15 +05:30
Kubernetes Prow Robot bed864e6e6 Merge pull request #29631 from mshalmanov/main
[ru] Add translate addons.md file in the content/ru/docs/concepts/clu…
2021-09-11 03:04:05 -07:00
Kubernetes Prow Robot 558f36cfe6 Merge pull request #28720 from anubha-v-ardhan/patch-2
Replace ha-master-gce.png with SVG
2021-09-10 03:27:59 -07:00
Kubernetes Prow Robot b41e88b2ab Merge pull request #29635 from deepsan/serviceCatalog
Fix service-catalog usage of apiserver aggregation
2021-09-10 01:16:00 -07:00
wangyamei 732e88bd7e zh: update scheduling-hugepages.md 2021-09-10 15:52:46 +08:00
Anubhav Vardhan c9568cbaaf Update highly-available-control-plane.md 2021-09-10 09:44:25 +05:30
Kubernetes Prow Robot 6ec9cf7529 Merge pull request #29650 from likakuli/patch-1
Update nodelocaldns.md
2021-09-09 20:16:00 -07:00
deepsan 84c2324c2b Fix service-catalog usage of apiserver aggregation
The Service Catalog architecture changed from using api aggregation to CRDs, but the docs still refer to the older architecture using api aggregation.

Couple of changes here:
1. Change the sentence on how Service Catalog is implemented
2. Replace the example for usage of api aggregation from service-catalog to metrics-server. There are multiple implementations that can be linked to(keda, prometheus, datadog,...), but keeping the documentation neutral by pointing to kubernetes-sigs/metrics-server

References:
- Service Catalog [v0.3.0 release notes](https://github.com/kubernetes-sigs/service-catalog/releases/tag/v0.3.0):

> In release 0.3.0, we've focused on replacing the Aggregated API Server with the CustomResourceDefinitions (CRDs) and the Admission Webhook solution.

- Project [README](https://github.com/kubernetes-sigs/service-catalog/pull/2691/files)
> Service Catalog recently switched to a new CRDs-based architecture. The old API Server-based implementation is available on the v0.2 branch. We support this implementation by providing bug fixes until July 2020.
2021-09-09 17:58:56 -07:00
Kubernetes Prow Robot b0f242cd3e Merge pull request #29059 from chrishenzie/read-write-once-pod-access-mode-feature-blog
ReadWriteOncePod access mode alpha feature blog
2021-09-09 11:17:54 -07:00
Kubernetes Prow Robot ed9728ca8c Merge pull request #27262 from npu21/node-fr
Fix line separation in concepts/architecture/nodes
2021-09-09 08:04:11 -07:00
Anubhav Vardhan 2e361073b1 Update highly-available-control-plane.md 2021-09-09 20:20:49 +05:30
Anubhav Vardhan a0e52ff56f Changed ha-control-plane.svg location 2021-09-09 20:17:21 +05:30
Arsh Sharma 69be6060ca explaining the interactions of topology spread constraints and node affinity/selector (#29632)
* explaining the interactions of topology spread constraints and node affinity/selector

Signed-off-by: RinkiyaKeDad <arshsharma461@gmail.com>

* udpates from code review

Signed-off-by: RinkiyaKeDad <arshsharma461@gmail.com>

* more updated from code reviews

Signed-off-by: RinkiyaKeDad <arshsharma461@gmail.com>
2021-09-09 06:48:10 -07:00
likakuli 1ba9380f73 Update nodelocaldns.md
use ",__PILLAR__DNS__SERVER__" as old pattern instead of "__PILLAR__DNS__SERVER__" when use ipvs mode
2021-09-09 18:36:21 +08:00
Kubernetes Prow Robot c2f0ae3f05 Merge pull request #29646 from Arhell/env
[ja] kubeadm-install: include env variable for ARCH
2021-09-09 01:40:10 -07:00
Kubernetes Prow Robot 1e578005a8 Merge pull request #29620 from Arhell/upd
[ja] Update the link to cloud interface
2021-09-09 01:38:10 -07:00
Kubernetes Prow Robot 4b18015cd3 Merge pull request #29628 from yechs/patch-1
Fix markdown link rendering & move image kubeadm-stacked-color.png to this repo
2021-09-09 01:00:12 -07:00
Siman 8155f1d16d Update controlling-access.md as --insecure-port flag deprecated (#29447)
* Update English version of controlling-access.md as --insecure-port flag deprecated

* Update controlling-access.md as --insecure-port flag deprecated

* Update content/en/docs/concepts/security/controlling-access.md

Co-authored-by: Qiming Teng <tengqm@outlook.com>

Co-authored-by: Qiming Teng <tengqm@outlook.com>
2021-09-08 19:30:10 -07:00
Shubham 975bd9e9b7 Improvement: Remove Heapster content from HPA. (#29547)
* Improvement: Remove Heapster content from HPA.

* Add more descriptive link for Metrics Server.
2021-09-08 18:20:10 -07:00
Kubernetes Prow Robot 91d24e6505 Merge pull request #29637 from reylejano/update-kubeops-description
Follow-up to k/website pr 29529, fix small nit for .NET
2021-09-08 18:04:10 -07:00
Kubernetes Prow Robot af7f06193f Merge pull request #27182 from sftim/20210323_update_task_create_external_load_balancer
Reword “Create an External Load Balancer” task
2021-09-08 17:54:11 -07:00
jay vyas 034ab83d92 kube-proxy disclaimer about cleanup (#28147)
* kube-proxy disclaimer about cleanup

* Update content/en/docs/concepts/services-networking/service.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/docs/concepts/services-networking/service.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* kube-proxy config note

* Update service.md

kube proxy configuration

Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-09-08 17:34:10 -07:00
Arhell 7b43cfc83d [ja] kubeadm-install: include env variable for ARCH 2021-09-09 01:07:41 +03:00
Chris Henzie 809ff37d3b ReadWriteOncePod access mode alpha feature blog 2021-09-08 14:42:43 -07:00
Ye Shu 826fb8dc90 Change reference to kubeadm-stacked-color.png
Since the image is now moved to this repo, I'm changing all
references to the image to have them point to the local one.
2021-09-08 10:35:23 -04:00
Kubernetes Prow Robot afac60ede7 Merge pull request #29630 from Arhell/env
[fr] kubeadm-install: include env variable for ARCH
2021-09-08 00:59:20 -07:00
Kubernetes Prow Robot 93d7fba356 Merge pull request #29636 from Arhell/var
[id] kubeadm-install: include env variable for ARCH
2021-09-07 20:29:20 -07:00
Kubernetes Prow Robot 7cedec6389 Merge pull request #29584 from chenxuc/task-admin
[zh]sync admin task files
2021-09-07 18:55:20 -07:00
Rey Lejano 892118c9cc follow-up to k website pr 29529 2021-09-07 16:58:20 -07:00
Kubernetes Prow Robot 3130e1d221 Merge pull request #29249 from jmyung/jesang/add-reviewer/v0.1
Add jmyung to sig-docs-ko-reviews
2021-09-07 16:20:16 -07:00
Arhell e167bfeac2 [id] kubeadm-install: include env variable for ARCH 2021-09-08 01:23:53 +03:00
Ye Shu a206af45bf Ends img tag and revert changes to links
- Moves the image to this repo
- Adds <img/> to end the tag
- Revert changes made to markdown links
2021-09-07 17:48:00 +00:00
Kubernetes Prow Robot cf9753423a Merge pull request #29554 from chrismetz09/metz-mermaid-upgrade
upgrade to mermaid 8.11.2
2021-09-07 09:45:16 -07:00
Kubernetes Prow Robot 0a413aa6c2 Merge pull request #29616 from BenHall/upgradeMinikubeKatacodaTerminal
Move to Minikube 1.20 image of Katacoda for Hello Minikube Tutorial
2021-09-07 05:43:15 -07:00
Kubernetes Prow Robot a161d54e9f Merge pull request #29209 from deepsan/api-server
Reword Go requirement for subordinate API servers
2021-09-07 05:39:15 -07:00
Marat b7c57a160c [ru] Add translate addons.md file in the content/ru/docs/concepts/cluster-administration 2021-09-07 11:41:59 +06:00
Kubernetes Prow Robot b125d095ea Merge pull request #29621 from tengqm/fix-kubeadm-api-pointer
Fix kubeadm-config links
2021-09-06 18:23:15 -07:00
Arhell b77e02e739 [fr] kubeadm-install: include env variable for ARCH 2021-09-07 01:22:33 +03:00
Kubernetes Prow Robot c484165cb7 Merge pull request #29579 from Arhell/update
[ja] Updating --cascade=false to --cascade=orphan
2021-09-06 08:58:29 -07:00
Kubernetes Prow Robot 35d465e05f Merge pull request #29506 from nakamasato/improve-ja-secret
[ja] Improve Japanese expression in Secret
2021-09-06 08:56:29 -07:00
Ye Shu 8d3d617d55 Fix not rendered markdown link in docs
The markdown links are not rendered properly on [the website](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/).
I replace them with html anchor tags to fix this weird issue.
2021-09-06 23:00:28 +08:00
Kubernetes Prow Robot a8071cca02 Merge pull request #29626 from mshalmanov/main
[ru] Add translate garbage-collection.md file in the content/ru/docs/…
2021-09-06 04:58:29 -07:00
Kubernetes Prow Robot 62823ba75d Merge pull request #29623 from Arhell/fixes
[zh] Update the link to cloud interface
2021-09-06 04:06:29 -07:00
Marat 6fe1e1661d [ru] Add translate garbage-collection.md file in the content/ru/docs/reference/glossary 2021-09-06 12:47:50 +06:00
Marat 9d5769e483 [ru] Add translate garbage-collection.md file in the content/ru/docs/concepts/architecture 2021-09-06 12:41:43 +06:00
Kubernetes Prow Robot 6468a24ba0 Merge pull request #29613 from giraffesyo/patch-1
Use correct namespace
2021-09-05 18:44:28 -07:00
Arhell af15ac1e4f [zh] Update the link to cloud interface 2021-09-06 00:50:06 +03:00
chenxuc e5d5f82c72 [zh]sync admin task files 2021-09-05 11:27:15 +08:00
Qiming Teng c7ed438072 Fix kubeadm-config links
This PR fixes the links for kubeadm-config APIs.
2021-09-05 09:59:05 +08:00
Arhell 977feb0e98 [ja] Update the link to cloud interface 2021-09-05 00:56:01 +03:00
Kubernetes Prow Robot 9c8e57535e Merge pull request #29619 from jlbutler/122_release_update_webinar
update 1.22 release webinar date in release blog to rescheduled date
2021-09-04 08:27:19 -07:00
Jesse Butler 3a36f1cf3e update 1.22 release webinar date in release blog due to rescheduling 2021-09-04 11:12:37 -04:00
Kubernetes Prow Robot ba5b36d84c Merge pull request #29607 from fregataa/patch-1
[ko] fix a mistranslated sentence which explains pod-lifecycle
2021-09-04 04:37:19 -07:00
Kubernetes Prow Robot 67c7cc9924 Merge pull request #29488 from howieyuen/contribution-2
[zh]sync contribution files for 1.22(Part-2)
2021-09-04 00:49:19 -07:00
Ben Hall 280e67a4e1 Move to Minikube 1.20 image of Katacoda for Hello Minikube Tutorial
Signed-off-by: Ben Hall <ben@benhall.me.uk>
2021-09-04 07:55:17 +01:00
Kubernetes Prow Robot 1393a4abd7 Merge pull request #28688 from npu21/operator-pt
Update URL for Metacontroller
2021-09-03 12:58:53 -07:00
Kubernetes Prow Robot 60eb426408 Merge pull request #29581 from SwapnaneelChowdhury/patch-1
Fixed Portuguese componenets link (#29522)
2021-09-03 12:56:53 -07:00
Michael McQuade 2aca8f917c Use correct namespace
The namespace for this is `ingress-nginx`
2021-09-03 14:24:17 -05:00
Kubernetes Prow Robot 0a1921e28c Merge pull request #29608 from Arhell/upd
[ru] Update the link to cloud interface
2021-09-02 23:03:50 -07:00
Arhell 036227e956 [ru] Update the link to cloud interface 2021-09-03 00:21:27 +03:00
SangHun Lee b0ea0dc2e4 Update pod-lifecycle.md 2021-09-03 01:52:16 +09:00
Kubernetes Prow Robot 8a26a33998 Merge pull request #29529 from buehler/patch-1
docs: Add "KubeOps" operator SDK to third-party list
2021-09-02 09:26:58 -07:00
Kubernetes Prow Robot 2948ff2fa3 Merge pull request #29127 from tengqm/amend-kubeadm-join
Amend kubeadm join doc for node preparation
2021-09-02 06:40:59 -07:00
Kubernetes Prow Robot fec7dce3ad Merge pull request #29555 from GCES-Kubernetes/translation/SytemLogsPtBr
[pt-br] Adding brazilian portuguese translation of System Logs page
2021-09-02 03:44:10 -07:00
Kubernetes Prow Robot 2ecdd4f151 Merge pull request #29490 from howieyuen/contribution-3
[zh]sync contribution files for 1.22(Part-3)
2021-09-02 02:26:10 -07:00
Qiming Teng 87e92d4893 Update content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md
Co-authored-by: Rey Lejano <rlejano@gmail.com>
2021-09-02 14:55:24 +08:00
Kubernetes Prow Robot 5a53712c39 Merge pull request #29601 from Arhell/url
[pt-br] Update URL for Metacontroller
2021-09-01 16:16:09 -07:00
Arhell 0a1f8654a7 [pt-br] Update URL for Metacontroller 2021-09-02 00:50:56 +03:00
Kubernetes Prow Robot ee84275364 Merge pull request #29079 from Ritikaa96/update-cilium-network-policy-task
updating cilium network policy docs
2021-09-01 10:57:41 -07:00
Kubernetes Prow Robot b88fe105c2 Merge pull request #29589 from anuraaga/patch-1
Fix typo in health-checks doc
2021-09-01 10:53:41 -07:00
Kubernetes Prow Robot edc098d8ef Merge pull request #29598 from jlbutler/owners-request
request adding jlbutler to sig-docs-en-owners
2021-09-01 09:15:00 -07:00
Jesse Butler 1b691829dc request adding jlbutler to sig-docs-en-owners 2021-09-01 11:03:22 -04:00
Kubernetes Prow Robot 7486562af6 Merge pull request #29575 from Arhell/upd
[ja] Update default node pod limits for large cluster
2021-09-01 03:10:59 -07:00
Kubernetes Prow Robot 37c9165365 Merge pull request #29563 from mengjiao-liu/sync-1.22-kubeadm-part3
[zh] Setup files to sync for 1.22(kubeadm part-3)
2021-09-01 03:06:59 -07:00
Kubernetes Prow Robot d25b64cbfb Merge pull request #29594 from Arhell/remove
[zh] remove unneeded comma
2021-09-01 03:04:59 -07:00
Arhell a4c0b79970 [zh] remove unneeded comma 2021-09-01 00:37:12 +03:00
Kubernetes Prow Robot 02f64ff775 Merge pull request #29586 from kimcore/patch-1
[ko] fix mistranslated part in statefulset.md
2021-08-31 08:39:38 -07:00
Kubernetes Prow Robot 28ca4eba0b Merge pull request #29546 from mengjiao-liu/sync-1.22-kubeadm-part2
[zh] Setup files to sync for 1.22(kubeadm part-2)
2021-08-30 20:22:28 -07:00
Kubernetes Prow Robot 2b27d92fe8 Merge pull request #29562 from mengjiao-liu/sync-1.22-windows-runtime
[zh] Setup files to sync for 1.22(windows & runtime)
2021-08-30 20:18:28 -07:00
Kubernetes Prow Robot d30c26c3c9 Merge pull request #29551 from zhangguanzhang/zh-feature-gates
[zh] - docs/reference/command-line-tools-reference/feature-gates.md
2021-08-30 20:16:28 -07:00
Kubernetes Prow Robot f44166a7da Merge pull request #29566 from mengjiao-liu/sync-1.22-part5
[zh] Setup files to sync for 1.22(part-5)
2021-08-30 20:14:28 -07:00
Kubernetes Prow Robot 82da8f915d Merge pull request #29451 from steven-my/29329-translation-for-run-app
[zh] translation for the run-app section
2021-08-30 20:12:28 -07:00
Anuraag Agrawal 6c1ecfa016 Fix typo in health-checks doc 2021-08-31 11:53:15 +09:00
Kubernetes Prow Robot 5c316c2c2a Merge pull request #29509 from steven-my/29329-translation-for-kubectl-install
[zh] translation for kubectl install section
2021-08-30 19:34:28 -07:00
Kubernetes Prow Robot b05768dd45 Merge pull request #29574 from niteshseram/fix/ko-links
[ko] fix broken links in install kubectl windows page
2021-08-30 17:56:28 -07:00
Arhell 3d3db5a49c [ja] Updating --cascade=false to --cascade=orphan 2021-08-31 00:15:14 +03:00
kimcore 2fa3b35d84 [ko] fix mistranslated part in statefulset.md 2021-08-30 23:28:01 +09:00
Kubernetes Prow Robot 0cf63c805b Merge pull request #29345 from sftim/20210812_migrate_image_good_practice_images_concept
Migrate good practice for container images into Containers section
2021-08-30 07:20:54 -07:00
Kubernetes Prow Robot 773411fa3c Merge pull request #29030 from sgpinkus/patch-2
Update _index.md
2021-08-30 07:18:54 -07:00
Kubernetes Prow Robot d0959ca3f4 Merge pull request #29526 from tylerauerbeck/fix-dashboard-proxy
Fix proxy url to expose dashboard
2021-08-30 07:16:54 -07:00
Kubernetes Prow Robot e861bd334a Merge pull request #29012 from Kartik494/stableexample
Modify documentation for stable storage
2021-08-30 07:14:54 -07:00
Kubernetes Prow Robot 07725b5490 Merge pull request #29536 from naisuuuu/improve-namespaces-wording
Improve wording of `kube-node-lease` namespace doc
2021-08-30 07:12:54 -07:00
Kubernetes Prow Robot b959e7ba45 Merge pull request #29564 from Roman513/patch-1
Fix errors in russian translation for Cloud Controller Manager page
2021-08-30 07:02:54 -07:00
Marcos Nery 1b6c76745c refact: improving readability 2021-08-30 03:19:28 -03:00
Mengjiao Liu 57deb4fddc [zh] Setup files to sync for 1.22(kubeadm part-2) 2021-08-30 11:41:55 +08:00
Mengjiao Liu 12181a4d7c [zh] Setup files to sync for 1.22(part-5) 2021-08-30 11:12:14 +08:00
Mengjiao Liu b6a1a29963 [zh] Setup files to sync for 1.22(windows & runtime) 2021-08-30 10:56:29 +08:00
Kubernetes Prow Robot cffa9a09cb Merge pull request #29539 from niteshseram/fix/migrate-image
migrate images for 'Alpha in Kubernetes v1.22: API Server Tracing' article
2021-08-29 19:48:53 -07:00
Kubernetes Prow Robot c596818637 Merge pull request #29549 from rf232/patch-1
Remove rf232(myself) from reviewers
2021-08-29 19:30:53 -07:00
Steven Yan 6e61a2b772 translation for kubectl install section 2021-08-30 10:18:34 +08:00
Kubernetes Prow Robot c6b884b0cf Merge pull request #29583 from Arhell/update-basic-set
[id] Updating --cascade=false to --cascade=orphan
2021-08-29 19:00:53 -07:00
Arhell 570dce0dde [id] Updating --cascade=false to --cascade=orphan 2021-08-30 00:39:17 +03:00
SwapnaneelChowdhury d12503c989 Fix a bug #29522
Fixed "What's next" links in portuguese section which was forwarding to the english page
2021-08-29 16:41:25 +05:30
Kubernetes Prow Robot b7a9fe022d Merge pull request #29545 from chenxuc/task-access
[zh]sync access tasks files
2021-08-28 23:36:53 -07:00
zhangguanzhang ba8429cdc6 [zh] - docs/reference/command-line-tools-reference/feature-gates.md
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
2021-08-28 21:07:58 +08:00
Arhell 234fa360ba [ja] Update default node pod limits for large cluster 2021-08-28 12:41:22 +03:00
S Nitesh Singh ab7a302628 [ko] fix broken links in install kubectl windows page 2021-08-28 12:16:38 +05:30
Kubernetes Prow Robot 42a93ae773 Merge pull request #29571 from niteshseram/fix/links-windows
fix broken link in install kubectl windows page
2021-08-27 18:04:52 -07:00
Marcos Nery aa8fb8f871 refact: improving text readability 2021-08-27 15:48:36 -03:00
Marcos Nery eee9345bbf Merge branch 'kubernetes:main' into translation/SytemLogsPtBr 2021-08-27 15:29:25 -03:00
S Nitesh Singh 1016cd383d fix broken link in install kubectl windows page 2021-08-27 23:10:48 +05:30
Kubernetes Prow Robot 7f198cd154 Merge pull request #29411 from tengqm/zh-fix-saadmin
[zh] Fix and resync service accounts admin page
2021-08-27 09:10:04 -07:00
Kubernetes Prow Robot 79bb314051 Merge pull request #29277 from tengqm/zh-prod-env
[zh] Translate production environment
2021-08-27 09:08:04 -07:00
Kubernetes Prow Robot f41c9c0831 Merge pull request #29553 from camachomaria/patch-1
Update static-pod.md
2021-08-27 07:16:03 -07:00
Mengjiao Liu a07b8a79ba [zh] Setup files to sync for 1.22(kubeadm part-3) 2021-08-27 16:01:59 +08:00
Kubernetes Prow Robot f76c2a7b63 Merge pull request #29541 from Arhell/update
[zh] Update determine-reason-pod-failure.md
2021-08-26 21:04:59 -07:00
Arhell 41bc06f1a0 [zh] Update determine-reason-pod-failure.md 2021-08-27 03:05:47 +03:00
Roman513 9163103ee2 Fix errors in russian translation 2021-08-26 23:56:04 +03:00
MarcosN 9b8e046000 improving text readability 2021-08-26 16:42:44 -03:00
MarcosN d50a1cd890 adding pt-br translation for System Logs page 2021-08-26 16:02:02 -03:00
chrismetz09 cbff3ec4ea upgrade to mermaid 8.11.2 2021-08-26 10:53:18 -07:00
Maria Camacho f1b99bb92d Update static-pod.md
Added a missing verb and full stop.
2021-08-26 19:30:42 +03:00
Rob Franken b2f9611849 Remove rf232(myself) from reviewers
I have not been involved in kubernetes dashboard development for years
2021-08-26 13:23:51 +02:00
Kubernetes Prow Robot f6fb295afd Merge pull request #29531 from mengjiao-liu/sync-1.22-kubeadm-part1
[zh] Setup files to sync for 1.22(kubeadm part-1)
2021-08-26 02:19:23 -07:00
chenxuc 1809def31c [zh]sync access tasks files 2021-08-26 16:30:21 +08:00
Kubernetes Prow Robot 03f1829e4f Merge pull request #29507 from Arhell/typo
[zh] Gramma fix for change-pv-reclaim-policy.md
2021-08-25 21:17:22 -07:00
Mengjiao Liu 8ab1f6a5d5 [zh] Setup files to sync for 1.22(kubeadm part-1) 2021-08-26 10:02:20 +08:00
naisu 5220cdf8d2 Explain leases in kube-node-lease namespace doc
Add a reference to `Lease` resource api doc

Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-08-26 02:22:45 +02:00
Kubernetes Prow Robot c83e410333 Merge pull request #29492 from sftim/20210820_fix_cronjob_graduation_release
Fix incorrect info about when CronJob reached GA
2021-08-25 10:52:43 -07:00
S Nitesh Singh 9dc4fcc80c migrate images for 'Alpha in Kubernetes v1.22: API Server Tracing' article 2021-08-25 22:59:39 +05:30
Kubernetes Prow Robot 3516b2e199 Merge pull request #29528 from tylerauerbeck/fix-pod-sec-adm-link
Fix link in pod-security-admission
2021-08-25 09:10:41 -07:00
Jesse Butler 6dd696487a 1.22 feature blog for api server tracing (#28991)
* 1.22 feature blog for API server tracing

* Add initial draft of descriptive tracing portions

* demo

demo

* Apply suggestions from code review

Co-authored-by: Chris Negus <cnegus@redhat.com>

* address comments

* address comments and grammar

* Add more explanation to the Demo section; add conclusion

* Update content/en/blog/_posts/2021-08-06-api-server-tracing.md

Co-authored-by: Punya Biswal <punya@google.com>

* address comments

* address feedback

* update alt text

* Update content/en/blog/_posts/2021-08-06-api-server-tracing.md

Co-authored-by: Rey Lejano <rlejano@gmail.com>

* Rename 2021-08-06-api-server-tracing.md to 2021-09-03-api-server-tracing.md

* update alt text on first image

* better alt text.

Co-authored-by: David Ashpole <dashpole@google.com>
Co-authored-by: Chris Negus <cnegus@redhat.com>
Co-authored-by: Punya Biswal <punya@google.com>
Co-authored-by: Rey Lejano <rlejano@gmail.com>
2021-08-25 09:06:41 -07:00
naisu 497a5231df Improve wording of kube-node-lease namespace doc
Correct grammar and provide a reference to more detailed documentation of concepts mentioned.
2021-08-25 17:20:22 +02:00
Kubernetes Prow Robot 0e4cdf227a Merge pull request #29517 from Arhell/update
[zh] Update client-libraries.md
2021-08-25 06:58:41 -07:00
Christoph Bühler c031257f3e fix ordering of list 2021-08-25 11:25:29 +02:00
Christoph Bühler d8199078f5 Add additional information about "kubeops" 2021-08-25 09:53:01 +02:00
Kubernetes Prow Robot 6e892c39bc Merge pull request #29527 from Arhell/upd
[ja] Update determine-reason-pod-failure.md
2021-08-25 00:50:39 -07:00
Kubernetes Prow Robot 8d2f5d95d3 Merge pull request #29032 from able8/fix-typos-ja
[ja] Fix typos
2021-08-25 00:48:40 -07:00
Christoph Bühler 8b013b8e92 docs: Add "KubeOps" operator SDK to third-party list
Adding dotnet operator sdk/framework to third-party list of operator sdks.
2021-08-25 09:33:44 +02:00
Kubernetes Prow Robot 0f394a9eab Merge pull request #29191 from nakamasato/improve-ja-k8s-object-management
[ja] Improve Japanese expression in Kubernetes object management
2021-08-24 23:12:39 -07:00
Tyler Auerbeck 3dc86945ed Fix link in pod-security-admission 2021-08-25 00:57:35 -04:00
Kubernetes Prow Robot fcff108a23 Merge pull request #29226 from tmeralus/patch-1
fixed small typo
2021-08-24 21:10:39 -07:00
Tedley Meralus 964ab4a274 changed uprate to promote
changed word to better clarify actions used in kubernetes cluster
2021-08-24 23:57:00 -04:00
Kubernetes Prow Robot ad5e309805 Merge pull request #29515 from sftim/20210823_tweak_dashboard_task
Revise task page to deploy and access the Kubernetes Dashboard
2021-08-24 20:34:39 -07:00
Kubernetes Prow Robot 0857620280 Merge pull request #29363 from mk46/rss_broken
Removed reference for broken link
2021-08-24 16:19:32 -07:00
Tim Bannister 8563416062 Fix typo
Co-authored-by: Rey Lejano <rlejano@gmail.com>
2021-08-24 23:59:23 +01:00
Arhell a1ad8a4d72 [ja] Update determine-reason-pod-failure.md 2021-08-25 00:16:06 +03:00
Tyler Auerbeck 08121d0c59 Fix proxy url to expose dashboard 2021-08-24 16:06:35 -04:00
Jesse Butler 9924e7a8db 1.22 feature blog for minReadySeconds in StatefulSets (#28992)
* 1.22 feature blog for minReadySeconds in StatefulSets

* Address reviewer's comments

* Update content/en/blog/_posts/2021-08-16-minreadysecond-statefulsets.md

Co-authored-by: Simon Pasquier <spasquie@redhat.com>

* Bump article publication date

Co-authored-by: ravisantoshgudimetla <ravisantoshgudimetla@gmail.com>
Co-authored-by: Ravi Gudimetla <ravisantoshgudimetla@users.noreply.github.com>
Co-authored-by: Simon Pasquier <spasquie@redhat.com>
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-08-24 10:53:13 -07:00
Kubernetes Prow Robot 9b17097b45 Merge pull request #28451 from vaibhav2107/learning-env
Update in docs/setup/learning-environment/_index.md
2021-08-24 10:43:15 -07:00
Kubernetes Prow Robot dc262ad58b Merge pull request #27905 from jai/jai/fix-20134
docs(manage-resources-containers): add volume and volumeMount for ephemeral storage
2021-08-24 10:41:14 -07:00
Tim Bannister fd19a0c145 Migrate good practice for container images into Containers section 2021-08-24 10:47:18 +01:00
Kubernetes Prow Robot 607405e106 Merge pull request #29505 from jimangel/zoom-policy
adding zoom info for localization teams
2021-08-24 02:37:13 -07:00
Arhell 1c2dc112f3 [zh] Update client-libraries.md 2021-08-24 12:29:28 +03:00
Kubernetes Prow Robot 157f1d76b8 Merge pull request #28951 from saschagrunert/seccomp-default-blog
Add seccomp default feature blog post
2021-08-24 02:27:13 -07:00
Sascha Grunert 84e472e95c Add seccomp default feature blog post
This adds the blog post about the new Kubernetes `SeccompDefault` alpha
feature.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-08-24 08:49:50 +02:00
Kubernetes Prow Robot 6e7b621625 Merge pull request #29310 from jonathino2590/jonathino2590-patch-1
Update Document Deployments
2021-08-23 22:27:13 -07:00
Masato Naka a4e37c88b9 fix next sentence
Signed-off-by: Masato Naka <masatonaka1989@gmail.com>
2021-08-24 09:08:09 +09:00
Tim Bannister a532758197 Fix incorrect info about when CronJob reached GA 2021-08-23 23:00:00 +01:00
Tim Bannister 289295c46c Update Dashboard task title and description 2021-08-23 22:57:03 +01:00
Tim Bannister 950600c510 Reword Dashboard task 2021-08-23 22:56:48 +01:00
Kubernetes Prow Robot e220769ea3 Merge pull request #29504 from jimangel/hugo-improvements
Hugo improvements
2021-08-23 10:08:01 -07:00
Kubernetes Prow Robot 5f301dcec5 Merge pull request #29468 from Abirdcfly/patch-2
Update rbac.md: Describe in detail how to specify resourceNames when using list verbs
2021-08-23 07:12:01 -07:00
Abirdcfly 19807f866c Update content/en/docs/reference/access-authn-authz/rbac.md
Co-authored-by: Jordan Liggitt <jordan@liggitt.net>
2021-08-23 21:45:10 +08:00
Kubernetes Prow Robot 294f591267 Merge pull request #29513 from niteshseram/fix/psc
Rename product security committee to security response committee
2021-08-23 05:40:00 -07:00
S Nitesh Singh 2cb0f9cd8f rename product security committee to security response committee 2021-08-23 16:54:01 +05:30
Kubernetes Prow Robot 2f70a10bce Merge pull request #29511 from nak3/fix-typo
Fix typo in japanese doc
2021-08-23 03:54:00 -07:00
Kenjiro Nakayama a9362477d3 Fix typo in japanese doc 2021-08-23 18:15:32 +09:00
Kubernetes Prow Robot 750d42470b Merge pull request #29491 from cpanato/update-patches-sept
release/patches: update patch release September cycle
2021-08-23 00:26:00 -07:00
Kubernetes Prow Robot 5590959850 Merge pull request #29501 from chenxuc/task-misc
[zh]sync misc task files
2021-08-22 23:31:59 -07:00
Kubernetes Prow Robot b6af69503a Merge pull request #29475 from howieyuen/contribution-part-1
[zh]sync contribution files for 1.22(Part-1)
2021-08-22 22:27:59 -07:00
Steven Yan 742e7d7ee4 translation for the run-app section 2021-08-23 12:03:00 +08:00
howieyuen 1698263ca3 [zh]sync contribution files for 1.22(Part-3) 2021-08-23 10:40:28 +08:00
howieyuen 55c7993e9b [zh]sync contribution files for 1.22(Part-1) 2021-08-23 10:33:58 +08:00
Arhell cfc0752351 [zh] Gramma fix for change-pv-reclaim-policy.md 2021-08-23 03:09:48 +03:00
Masato Naka f63ff99d23 [ja] Improve Japanese expression in Secret
Signed-off-by: Masato Naka <masatonaka1989@gmail.com>
2021-08-23 08:37:53 +09:00
Jim Angel d5b67cf560 adding zoom info for localization teams 2021-08-22 21:04:45 +00:00
Jim Angel e01f70dab9 updating theme submodule 2021-08-22 20:06:05 +00:00
Jim Angel bd5223c5af performance tuning and hugo version upgrade 2021-08-22 20:05:12 +00:00
Kubernetes Prow Robot 433480d74e Merge pull request #28756 from jihoon-seo/210702_ru_Update_Netlify_link_address
[ru] Update Netlify link address
2021-08-22 10:11:59 -07:00
Kubernetes Prow Robot 2fb1f22a7b Merge pull request #29498 from Devops-Ramdas/patch-1
Update components.md
2021-08-22 09:49:59 -07:00
Kubernetes Prow Robot 5c95d82945 Merge pull request #29302 from tengqm/fix-examples-test
Fix examples test
2021-08-22 08:46:00 -07:00
astraw99 340125aa5b fix typo and its related en doc sync 2021-08-22 17:57:58 +08:00
chenxuc a33bc3b2b1 [zh]sync misc task files
related: #29329
2021-08-22 17:19:42 +08:00
Kubernetes Prow Robot f244bb0e30 Merge pull request #29500 from astraw99/patch-3
Fix typo `a extension` in `en` language
2021-08-22 00:27:59 -07:00
Cheng Wang a130f6b8b9 Fix typo a extension 2021-08-22 12:12:30 +08:00
Kubernetes Prow Robot b28fa33617 Merge pull request #29499 from Arhell/upd
[zh] Update kustomization.md
2021-08-21 18:19:59 -07:00
Arhell a70567a6a4 [zh] Update kustomization.md 2021-08-21 13:51:07 +03:00
Ramdas Potale 988a62b463 Update components.md
I think adding the "for" word in the below sentence makes more sense.

"This document outlines the various components you need to have "for"
a complete and working Kubernetes cluster."
2021-08-21 09:27:03 +05:30
Kubernetes Prow Robot 116839a094 Merge pull request #29316 from sysnet4admin/patch-2
Update web-ui-dashboard.md
2021-08-20 18:25:59 -07:00
Kubernetes Prow Robot 58e8910312 Merge pull request #29495 from stormqueen1990/addons-pt-br
[pt-br] Update Installing Addons page translation to reflect latest documentation version
2021-08-20 16:43:58 -07:00
Mauren Berti 565555a9d7 Update translation to reflect latest docs version.
Signed-off-by: Mauren Berti <mribeirobert@vmware.com>
2021-08-20 14:26:21 -04:00
Kubernetes Prow Robot 15a909818d Merge pull request #29455 from cndoit18/feat/add-cronjob-timezone
[en]: description of the cronjob schedule timezone
2021-08-20 06:31:24 -07:00
Carlos Panato cf027c8105 release/patches: update patch release September cycle
Signed-off-by: Carlos Panato <ctadeu@gmail.com>
2021-08-20 14:29:35 +02:00
Kubernetes Prow Robot 98e115c86c Merge pull request #27852 from edsoncelio/pt_translate_task_secrets
[PT-BR] Add content/pt-br/docs/tasks/configmap-secret/
2021-08-20 05:09:24 -07:00
Mauren Berti e4ae89a725 [PT-BR] Update CronJob documentation page (#28979)
* Update CronJob page translation to Portuguese.

Update CronJob page to reflect the latest English version in the Brazilian
Portuguese translation.

Signed-off-by: Mauren Berti <mribeirobert@vmware.com>

* Incorporate feedback from pull request.

Signed-off-by: Mauren Berti <mribeirobert@vmware.com>
2021-08-20 05:03:24 -07:00
Kubernetes Prow Robot 370b521a87 Merge pull request #29489 from saschagrunert/privileged-unconfined
Mention that privileged containers run unconfined
2021-08-20 02:35:24 -07:00
Kubernetes Prow Robot 753e70c072 Merge pull request #29487 from borgerli/main
Change CPU and Memory to lowercase because resoure name is case-sensitive
2021-08-20 01:23:24 -07:00
Li Bo 34d7331e4e change CPU and Memory to lowercase because resoure name is case-sensitive 2021-08-20 16:13:55 +08:00
Sascha Grunert 61b8cafa84 Mention that privileged containers run unconfined
This is a note which helps users to understand the interaction between
privileged containers and seccomp profiles.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-08-20 10:09:11 +02:00
Kubernetes Prow Robot b1b1395b0a Merge pull request #28695 from geoffcline/kubectl-namespace-patch-1
update desc of namespace defaulting in CLI
2021-08-20 00:59:25 -07:00
howieyuen 742824d491 [zh]sync contribution files for 1.22(Part-2) 2021-08-20 15:32:00 +08:00
cndoit18 4211fa7007 feat(cronjob): description of the cronjob schedule timezone
Signed-off-by: cndoit18 <cndoit18@outlook.com>
2021-08-20 11:49:09 +08:00
Kubernetes Prow Robot cdefcc3a8b Merge pull request #29477 from brakmic/patch-1
trivial: typo
2021-08-19 20:39:24 -07:00
Kubernetes Prow Robot 49654e7d7a Merge pull request #29481 from Arhell/fix
[id] Fixed link to API priority and fairness enhancement proposal
2021-08-19 19:11:25 -07:00
Kubernetes Prow Robot 28bc7a4152 Merge pull request #29482 from reylejano/website-issue-29480
Add note on owner references back to garbage collection page
2021-08-19 18:15:24 -07:00
Rey Lejano 64f91d8e2c add note on owner references in garbage collection page
add note on owner references to owner dependents page
2021-08-19 17:43:09 -07:00
Arhell b3ecce8eb0 [id] Fixed link to API priority and fairness enhancement proposal 2021-08-20 02:27:49 +03:00
Harris Brakmić 2b268b1a76 trivial: typo
A small typo.
2021-08-19 22:07:59 +02:00
Kubernetes Prow Robot dd2f06f64a Merge pull request #29476 from liggitt/podsecurity-audit-annotations
Clarify audit annotation destination
2021-08-19 08:59:24 -07:00
Abirdcfly 162da6561b Update rbac.md: Describe in detail how to specify resourceNames when using list/watch verbs 2021-08-19 23:39:48 +08:00
Jordan Liggitt 315e290107 Avoid word-break on narrow page widths 2021-08-19 10:04:34 -04:00
Jordan Liggitt 8c3eb6e414 Clarify audit annotation destination 2021-08-19 09:59:19 -04:00
Kubernetes Prow Robot d12f42161e Merge pull request #28970 from skrishna-unix/dev-1.22
Volume Populators Redesign Blog
2021-08-19 03:09:24 -07:00
Tim Bannister de7bca791e Fix hyperlink 2021-08-19 11:00:21 +01:00
Kubernetes Prow Robot 4f203c61e4 Merge pull request #29437 from sftim/20210817_fix_tutorial_html_lang_attribute_zh
Fix HTML language attributes (中文)
2021-08-18 19:46:16 -07:00
Kubernetes Prow Robot fcd160900a Merge pull request #29462 from sftim/20210818_fix_date_for_article
Fix date for published blog article
2021-08-18 15:47:45 -07:00
Kubernetes Prow Robot 8cb22b93bc Merge pull request #29464 from JimBugwadia/master
add kyverno and fix OPA/GK link
2021-08-18 12:51:47 -07:00
Jim Bugwadia dad01370f8 add kyverno and fix OPA/GK link
Signed-off-by: Jim Bugwadia <jim@nirmata.com>
2021-08-18 11:07:02 -07:00
Tim Bannister 944733cb20 Fix date for published blog article
This change affects the date shown in the repository and does NOT affect
the URL or content of the published article.
2021-08-18 16:03:44 +01:00
Kunal Kushwaha ee99447c9d 1.22 Feature Blog for Support for Windows privileged containers (#29022)
* 1.22 feature blog for Support for Windows privileged containers

* Rebased with latest blog content

* dates updated

* Update content/en/blog/_posts/2021-08-11-support-for-HostProcess-Containers/index.md.md

Co-authored-by: Chris Negus <cnegus@redhat.com>

* Update content/en/blog/_posts/2021-08-11-support-for-HostProcess-Containers/index.md.md

Co-authored-by: Chris Negus <cnegus@redhat.com>

* Update content/en/blog/_posts/2021-08-11-support-for-HostProcess-Containers/index.md.md

Co-authored-by: Chris Negus <cnegus@redhat.com>

* Update index.md.md

* Update content/en/blog/_posts/2021-08-11-support-for-HostProcess-Containers/index.md.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Rename index.md.md to index.md

* Update content/en/blog/_posts/2021-08-11-support-for-HostProcess-Containers/index.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/blog/_posts/2021-08-11-support-for-HostProcess-Containers/index.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/blog/_posts/2021-08-11-support-for-HostProcess-Containers/index.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/blog/_posts/2021-08-11-support-for-HostProcess-Containers/index.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/blog/_posts/2021-08-11-support-for-HostProcess-Containers/index.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/blog/_posts/2021-08-11-support-for-HostProcess-Containers/index.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/blog/_posts/2021-08-11-support-for-HostProcess-Containers/index.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/blog/_posts/2021-08-11-support-for-HostProcess-Containers/index.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/blog/_posts/2021-08-11-support-for-HostProcess-Containers/index.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/blog/_posts/2021-08-11-support-for-HostProcess-Containers/index.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/blog/_posts/2021-08-11-support-for-HostProcess-Containers/index.md

Co-authored-by: Brandon Smith <BRASMITH@MICROSOFT.COM>

* Update content/en/blog/_posts/2021-08-11-support-for-HostProcess-Containers/index.md

Co-authored-by: Brandon Smith <BRASMITH@MICROSOFT.COM>

* Update content/en/blog/_posts/2021-08-11-support-for-HostProcess-Containers/index.md

Co-authored-by: Brandon Smith <BRASMITH@MICROSOFT.COM>

* Update content/en/blog/_posts/2021-08-11-support-for-HostProcess-Containers/index.md

Co-authored-by: Brandon Smith <BRASMITH@MICROSOFT.COM>

* Update content/en/blog/_posts/2021-08-11-support-for-HostProcess-Containers/index.md

Co-authored-by: Brandon Smith <BRASMITH@MICROSOFT.COM>

* Fix broken hyperlink

* Fix broken hyperlink

Co-authored-by: Rey Lejano <rlejano@gmail.com>

* Fix hyperlink

Co-authored-by: Rey Lejano <rlejano@gmail.com>

Co-authored-by: Brandon Smith <brasmith@microsoft.com>
Co-authored-by: Chris Negus <cnegus@redhat.com>
Co-authored-by: Tim Bannister <tim@scalefactory.com>
Co-authored-by: Rey Lejano <rlejano@gmail.com>
2021-08-18 07:32:08 -07:00
Rajat Gupta 232e6d7927 Update _index.md 2021-08-18 14:53:03 +05:30
Kubernetes Prow Robot 5525c49815 Merge pull request #29446 from Arhell/remove
[es] Delete logging-stackdriver.md
2021-08-18 01:32:08 -07:00
Arhell 50c8238a2d [es] Delete logging-stackdriver.md 2021-08-18 02:36:09 +03:00
Geoffrey Cline 57c0fe1120 update desc of namespace defaulting in CLI 2021-08-17 18:27:10 +00:00
Anubhav Vardhan 8eadd71c25 Update content/hi/docs/setup/production-environment/windows/_index.md
Co-authored-by: Yashu Mittal <mittalyashu77@gmail.com>
2021-08-17 23:04:05 +05:30
Kubernetes Prow Robot 40f055cacc Merge pull request #29202 from edithturn/add-content/es/docs/concepts/storage/volume-snapshot-classes
[es] Add concepts/storage/volume-snapshot-classes.md
2021-08-17 09:09:13 -07:00
Edith Puclla 1df20dc263 Update content/es/docs/concepts/storage/volume-snapshot-classes.md
Thank you, Rael! :)

Co-authored-by: Rael Garcia <rael@rael.io>
2021-08-17 10:43:06 -05:00
Kubernetes Prow Robot 389fe5ea40 Merge pull request #29443 from ialidzhikov/fix/eol-dates
Fix EoL dates in data/releases/schedule.yaml
2021-08-17 06:43:13 -07:00
ialidzhikov 43bf8f2a10 Fix EoL dates in data/releases/schedule.yaml
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2021-08-17 16:08:05 +03:00
Kubernetes Prow Robot a5c98695b7 Merge pull request #29440 from sftim/20210817_fix_tutorial_html_lang_attribute_vi
Fix HTML language attributes (tiếng Việt)
2021-08-17 04:48:02 -07:00
Kubernetes Prow Robot c3b8d319f4 Merge pull request #29441 from sftim/20210817_fix_tutorial_html_lang_attribute_pl
Fix HTML language attributes (polszczyzna)
2021-08-17 04:46:01 -07:00
Tim Bannister 399c7749c7 Fix HTML language attribute 2021-08-17 12:23:43 +01:00
Tim Bannister c1af1ad3f5 Fix HTML language attribute 2021-08-17 12:21:47 +01:00
Kubernetes Prow Robot da656a8c99 Merge pull request #29436 from sftim/20210817_fix_tutorial_html_lang_attribute_es
Fix HTML language attributes (español)
2021-08-17 03:36:01 -07:00
Kubernetes Prow Robot 7e148d5c05 Merge pull request #29435 from sftim/20210817_fix_tutorial_html_lang_attribute_de
Fix HTML language attributes (Deutsch)
2021-08-17 02:58:01 -07:00
Tim Bannister a9e6ea897b Fix HTML language attribute 2021-08-17 09:57:53 +01:00
Tim Bannister f146e0103f Fix HTML language attribute 2021-08-17 09:54:43 +01:00
Tim Bannister 711d4ec1f6 Fix HTML language attribute 2021-08-17 09:52:59 +01:00
rajat 8241d8129d Add content/hi/docs/tasks/_index.md 2021-08-17 14:21:33 +05:30
Kunal Verma 7db7aca9ec Add content/hi/docs/tutorials/kubernetes-basics/update/update-interactive.html 2021-08-17 12:27:22 +05:30
Kubernetes Prow Robot ace33e10b3 Merge pull request #29426 from Arhell/delete
[zh] Delete logging-stackdriver.md
2021-08-16 20:22:01 -07:00
Kubernetes Prow Robot 4c047a7495 Merge pull request #29423 from mengjiao-liu/sync-scheduling-1.22
[zh] Concept files to sync for 1.22 - (9) Scheduling
2021-08-16 20:20:01 -07:00
Kubernetes Prow Robot bb3e36d473 Merge pull request #29368 from howieyuen/tutorial
[zh]sync tutorials files for 1.22
2021-08-16 20:16:00 -07:00
howieyuen 9075aa237f [zh]sync tutorials files for 1.22 2021-08-17 10:47:32 +08:00
Mengjiao Liu ec405cce3c [zh] Concept files to sync for 1.22 - (9) Scheduling 2021-08-17 10:42:01 +08:00
Kubernetes Prow Robot 2429254d6b Merge pull request #29110 from mfilocha/pl-update-readme
Update Polish README file
2021-08-16 19:36:01 -07:00
Kubernetes Prow Robot cd052d9381 Merge pull request #29369 from EricWvi/main
[zh] Concept files to sync for 1.22 - (8) Service
2021-08-16 19:22:02 -07:00
Arhell bfb3d16846 [zh] Delete logging-stackdriver.md 2021-08-17 02:30:23 +03:00
Kubernetes Prow Robot 31ef56b98b Merge pull request #29357 from jimangel/updating-docs-co-chairs
updating co-chairs
2021-08-16 16:12:00 -07:00
Kubernetes Prow Robot 5c1d701916 Merge pull request #29176 from NamikoToriyama/ja/fix-notfound-link
[ja] Fix a non-existent link
2021-08-16 14:04:23 -07:00
Ben Swartzlander c0b5d85371 Volume Populators Redesign Blog
For https://github.com/kubernetes/enhancements/issues/1495
2021-08-16 16:59:36 -04:00
Kubernetes Prow Robot 50e16b7175 Merge pull request #29364 from mfilocha/pl-synchronize-1.22a2
Synchronize Polish localization for ver 1.22, part 2
2021-08-16 13:46:23 -07:00
Kubernetes Prow Robot 6e0bd0033f Merge pull request #29339 from mfilocha/pl-synchronize-1.22a
Synchronize Polish localization for ver 1.22, part 1
2021-08-16 13:44:23 -07:00
Kubernetes Prow Robot e081551e5d Merge pull request #29337 from mfilocha/pl-update-main-index-page
Update Polish localization of the home page
2021-08-16 13:42:22 -07:00
Jonathan Lopez Torres 7bb5df553c Update content/es/docs/concepts/workloads/controllers/deployment.md
Co-authored-by: Rael Garcia <rael@rael.io>
2021-08-16 08:53:21 -05:00
Jonathan Lopez Torres aa30cf0ef8 Update content/es/docs/concepts/workloads/controllers/deployment.md
Co-authored-by: Rael Garcia <rael@rael.io>
2021-08-16 08:53:09 -05:00
Jonathan Lopez Torres 55d477f61c Update content/es/docs/concepts/workloads/controllers/deployment.md
Co-authored-by: Rael Garcia <rael@rael.io>
2021-08-16 08:52:57 -05:00
Jonathan Lopez Torres 43d0461908 Update content/es/docs/concepts/workloads/controllers/deployment.md
Co-authored-by: Rael Garcia <rael@rael.io>
2021-08-16 08:52:41 -05:00
Kubernetes Prow Robot 320259d57f Merge pull request #29418 from Arhell/fix
[zh] Fix list all uniq container images
2021-08-16 06:05:18 -07:00
Kubernetes Prow Robot 87235b508d Merge pull request #29311 from mengjiao-liu/update-githubbranch-param
Hard-code the name of the target repo's default branch instead of using the githubbranch parameter value
2021-08-16 06:03:18 -07:00
Kubernetes Prow Robot 394f382608 Merge pull request #27987 from olivierk7/patch-2
French translation of workloads page
2021-08-16 01:39:47 -07:00
Rémy Léone 28cb1efbed Apply suggestions from code review 2021-08-16 10:24:22 +02:00
Kubernetes Prow Robot 86aa6c434d Merge pull request #29320 from Arhell/del
[fr] Deleted reference to removed file
2021-08-16 01:09:47 -07:00
EricWvi cd9dc4e482 apply suggestion 2021-08-16 15:13:31 +08:00
Kubernetes Prow Robot b89e5c3042 Merge pull request #29419 from Iceber/update-custom-resource-definition-versioning
[zh] update custom-resource-definition-versioning.md
2021-08-15 23:47:47 -07:00
Kunal Verma aade2e9ad4 Add content/hi/docs/tutorials/kubernetes-basics/scale/_index.md 2021-08-16 12:04:33 +05:30
Iceber Gu ed1ce53ab5 [zh] update custom-resource-definition-versioning.md 2021-08-16 12:28:22 +08:00
Arhell f086aba3d8 [zh] Fix list all uniq container images 2021-08-16 00:19:43 +03:00
Kubernetes Prow Robot b354468ed0 Merge pull request #29409 from tengqm/fix-featuregates
Fix some errors in the feature-gates page
2021-08-15 10:59:46 -07:00
Anubhav Vardhan 024ced2584 Update explore-interactive.html 2021-08-15 22:32:45 +05:30
Anubhav Vardhan 7637b93590 Create _index.md 2021-08-15 18:44:43 +05:30
Qiming Teng 3cebde5777 Fix and resync service accounts admin page 2021-08-15 19:57:02 +08:00
Kunal Verma b3d79b5676 Add /hi/docs/tutorials/kubernetes-basics/scale/scale-interactive.html 2021-08-15 16:30:34 +05:30
Kubernetes Prow Robot ff44f2996b Merge pull request #28978 from wesleyw72/cpu-management-burstable-cfs
Clarify that burstable pods also have their limit enforced by CFS quota
2021-08-15 03:39:46 -07:00
Qiming Teng da53892746 Fix some errors in the feature-gates page 2021-08-15 18:26:20 +08:00
Kubernetes Prow Robot d6dbd52b08 Merge pull request #29406 from Patil2099/ko-fix
[ko] Translation in manage-resources-containers improved
2021-08-15 02:53:46 -07:00
Pankaj Patil 05ff7d6597 [ko] Translation in manage-resources-containers improved 2021-08-15 15:04:58 +05:30
Kubernetes Prow Robot cc493080cd Merge pull request #29288 from dimabru/patch-1
docs: Update custom-resource-definition-versioning.md
2021-08-14 23:43:46 -07:00
Kubernetes Prow Robot e743e1da5d Merge pull request #29402 from Arhell/fix
[fr] Fix list all uniq container images
2021-08-14 23:21:46 -07:00
Kubernetes Prow Robot 7ffc6b7598 Merge pull request #29404 from ysharma-dev/patch-1
Update label in NetworkPolicy example explanation
2021-08-14 23:11:46 -07:00
Yug 6c2ff6340e Update label in NetworkPolicy example description
This change intends to fix the label name in the range of ports NetworkPolicy example.
2021-08-14 22:28:25 -07:00
Kubernetes Prow Robot 1866c7e45a Merge pull request #29395 from Patil2099/link-fix
[ko]Fix: Wrong href to heading anchor
2021-08-14 21:45:46 -07:00
Anubhav Vardhan 59c601671a Create explore-interactive.html 2021-08-15 09:55:08 +05:30
Arhell d2151f2dea [fr] Fix list all uniq container images 2021-08-15 02:31:25 +03:00
Anubhav Vardhan 1f6603dd4b Create _index.md 2021-08-14 22:05:16 +05:30
Pankaj Patil ca1e53b826 [ko]Fix: Wrong href to heading anchor 2021-08-14 20:29:55 +05:30
Kubernetes Prow Robot 677c6edc1b Merge pull request #29373 from anubha-v-ardhan/Hi-content-hi-docs-landing
[hi] Add content/hi/docs/_index.md
2021-08-14 04:47:45 -07:00
Kubernetes Prow Robot 92de2a70a0 Merge pull request #29224 from sftim/20210804_update_node_concept
Update the node concept
2021-08-13 14:27:31 -07:00
EricWvi d1a502072e [zh] Concept files to sync for 1.22 - (8) Service 2021-08-13 18:12:06 +08:00
Anubhav Vardhan 078985f2a7 Create _index.md 2021-08-13 14:35:14 +05:30
Anubhav Vardhan 5962a5e939 Create _index.md 2021-08-13 13:39:43 +05:30
Maciej Filocha 9314e3be28 Synchronize Polish localization for ver 1.22, part 2
Synchronize Polish localization with upstream
up to 08d92f9137. Part 2
2021-08-13 09:36:31 +02:00
Manish Kumar d55d770365 Removed reference for broken link 2021-08-13 12:54:47 +05:30
Jim Angel d5de9efdb6 updating co-chairs 2021-08-13 06:39:39 +00:00
Kunal Verma 3a0268eb2c Update supported-doc-versions.md 2021-08-13 11:34:22 +05:30
Kubernetes Prow Robot f095b4bdb4 Merge pull request #29248 from sdghchj/patch-1
Correct wrongly written characters
2021-08-12 20:10:21 -07:00
Kubernetes Prow Robot f2de2a50a5 Merge pull request #29297 from mengjiao-liu/update_apiservice_link_to_api_reference
[zh] Link to new API reference page for APIService
2021-08-12 20:08:21 -07:00
Kubernetes Prow Robot 99b8818db9 Merge pull request #29336 from arugal/patch-1
Modify kubelet-integration page typo
2021-08-12 20:04:22 -07:00
Kubernetes Prow Robot 2805a8762f Merge pull request #29352 from Arhell/list
[id] Fix list all uniq container images
2021-08-12 17:24:58 -07:00
Arhell 74d7ad3118 [id] Fix list all uniq container images 2021-08-13 02:13:25 +03:00
Wesley Williams 41aa2ba727 Revert chinese changes 2021-08-12 22:48:50 +01:00
Kubernetes Prow Robot a33eb6b4c3 Merge pull request #28919 from niteshseram/fix/redirect
Fixing redirection rules with wildcard(*)
2021-08-12 10:05:48 -07:00
Kubernetes Prow Robot 96069e6a32 Merge pull request #28607 from kahirokunn/patch-1
fix: k8s dashboard link.
2021-08-12 08:23:48 -07:00
Kubernetes Prow Robot c7c8027225 Merge pull request #29323 from dgrisonnet/new-events-api
Update recommended events API
2021-08-12 06:29:47 -07:00
Kubernetes Prow Robot d621a66ca5 Merge pull request #29006 from niteshseram/fix/sidebar
fixing the huge whitespace in sidebar
2021-08-12 06:27:47 -07:00
Mengjiao Liu 29ff83785e [zh] Link to new API reference page for APIService 2021-08-12 17:44:18 +08:00
Maciej Filocha 49d64fc388 Synchronize Polish localization for ver 1.22, part 1
Synchronize Polish localization with upstream
up to 08d92f9137. Part 1
2021-08-12 09:51:46 +02:00
Maciej Filocha c07cd04894 Update Polish localization of the home page
Update Polish localization of the main index page
up to 08d92f9137.
2021-08-12 09:09:00 +02:00
zhang-wei 7b0ca655ce fix typo 2021-08-12 14:51:19 +08:00
Kubernetes Prow Robot 08d92f9137 Merge pull request #29171 from ehashman/update-node-perf
Note deprecation of the node performance dashboard
2021-08-11 22:57:47 -07:00
Kubernetes Prow Robot 9383dd8cd0 Merge pull request #28958 from rajula96reddy/memory-manager
Add memory manager moves to beta feature blog post 1.22
2021-08-11 06:16:47 -07:00
Rajula Vineet Reddy a783b05eb2 Add memory manager feature blog post
Co-authored-by: Artyom Lukianov <alukiano@redhat.com>
Co-authored-by: Cezary Zukowski <c.zukowski@samsung.com>
2021-08-11 16:01:22 +03:00
Kubernetes Prow Robot 7c2e229f60 Merge pull request #29236 from reylejano/add-kubewarden-option
Add kubewarden as an alternative to enforce security profiles
2021-08-11 05:26:47 -07:00
Qiming Teng 735701e1cc Amend kubeadm join doc for node preparation
We need to clarify that worker nodes need to be prepared in nearly the
same way as control plane nodes.
2021-08-11 20:10:11 +08:00
Damien Grisonnet 923b2e25f2 kubernetes-api: update recommended events API
In Kubernetes v1.19, the new Events API events.k8s.io was promoted to
v1. As such it now supersedes the original core Events API.

Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2021-08-11 13:02:59 +02:00
Damien Grisonnet 8773d024e7 api-ref-generator: update to include Event changes
Update api-ref-generator submodule to 55bce68 to include changes
updating the recommended Events API from core to events.k8s.io in the
kubernetes-api doc.

Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2021-08-11 13:02:59 +02:00
Tim Bannister 1b8eeb500a Update the node concept
Modernise the page by:
- rewording to follow the style guide
- adding some glossary tooltips
- linking to new-style API reference
- linking to Safely Drain a Node

plus general tweaks.
2021-08-11 11:58:18 +01:00
Kubernetes Prow Robot dd14c2208c Merge pull request #29247 from sanmai/patch-1
Update Managing Resources to mention the measure of CPU time
2021-08-11 03:34:46 -07:00
Alexey Kopytko 9ca04a1014 Update Managing Resources to mention the measure of CPU time 2021-08-11 18:30:33 +09:00
Kubernetes Prow Robot de92339f81 Merge pull request #29229 from sftim/20210804_update_api_aggregation_layer
Retitle “Kubernetes API Aggregation Layer” concept
2021-08-10 18:46:46 -07:00
Kubernetes Prow Robot a78da7908b Merge pull request #29301 from tengqm/fix-go-mod-122
Update go.mod for 1.22
2021-08-10 18:10:46 -07:00
Kubernetes Prow Robot 4097fca5e7 Merge pull request #29205 from sftim/20210803_improve_katacoda_button
Improve Katacoda button
2021-08-10 18:08:46 -07:00
Edith b6dc198148 grammar error second update 2021-08-10 17:16:52 -05:00
Arhell c1785d2dd9 [fr] Deleted reference to removed file 2021-08-11 00:42:28 +03:00
Edith 5c760918bb Merge branch 'main' of https://github.com/kubernetes/website into add-content/es/docs/concepts/storage/volume-snapshot-classes 2021-08-10 14:52:21 -05:00
Edith 90c1306da5 fixing grammar errors 2021-08-10 14:37:22 -05:00
Edith Puclla 382766070a Update content/es/docs/concepts/storage/volume-snapshot-classes.md
Co-authored-by: Victor Morales <chipahuac@hotmail.com>
2021-08-10 12:36:28 -05:00
Rey Lejano 08387d8434 add kubewarden as an alternative to enforce security profiles
add third-party content shortcode and list
2021-08-10 07:41:30 -07:00
Kubernetes Prow Robot 5703199613 Merge pull request #29282 from kendfinger/patch-1
Fix double usage of "simplify the process" in kubelet-tls-bootstrapping.
2021-08-10 06:05:18 -07:00
Kubernetes Prow Robot 7331e54c09 Merge pull request #28623 from chenxuc/staticPod
static pod not support configmap or secret
2021-08-10 03:23:17 -07:00
Mengjiao Liu f945335af6 Hard-code the name of the target repo's default branch instead of using the githubbranch parameter value 2021-08-10 18:03:21 +08:00
Hoon Jo 11c7b70b41 Update web-ui-dashboard.md
I rquest to update dashboard/v2.3.1 from v2.2.0

Refer to below 
https://github.com/kubernetes/dashboard
2021-08-10 18:51:23 +09:00
Kubernetes Prow Robot 5f65b4fcd0 Merge pull request #28853 from saschagrunert/seccomp-index
Add seccomp tutorial to index
2021-08-10 02:27:17 -07:00
Kubernetes Prow Robot 20890d53b7 Merge pull request #29304 from hokadiri/patch-1
Update safely-drain-node.md
2021-08-10 02:11:18 -07:00
Kubernetes Prow Robot da11af4bbe Merge pull request #29271 from yuswift/update-ssa
update server-side-apply state to stable
2021-08-10 02:09:17 -07:00
yuswift 00c205bc38 update ssa state to stable
Signed-off-by: yuswift <yuswift2018@gmail.com>
2021-08-10 15:47:50 +08:00
Kubernetes Prow Robot 2fbd6ceded Merge pull request #28879 from Shubham82/correct-FQDN_for_dockerhub
Correct FQDN for DockerHub.
2021-08-10 00:35:20 -07:00
Kubernetes Prow Robot e68dc3c075 Merge pull request #28736 from chenxuc/hello-minikube-2
improve hello-minikube page for dashboard
2021-08-10 00:23:19 -07:00
Kubernetes Prow Robot 67eca4178c Merge pull request #28461 from sftim/20210617_improve_make_generate_ref_docs
Improve docs about contributing upstream for generated content
2021-08-10 00:15:19 -07:00
Kubernetes Prow Robot a80328f582 Merge pull request #29295 from mfilocha/fix/rbac-links
Fix links in RBAC default bindings table
2021-08-09 20:37:17 -07:00
Jonathan Lopez Torres c7ee95a654 Update content/es/docs/concepts/workloads/controllers/deployment.md
Co-authored-by: Victor Morales <chipahuac@hotmail.com>
2021-08-09 21:40:55 -05:00
Jonathan Lopez Torres 7a42e5f4b9 Update content/es/docs/concepts/workloads/controllers/deployment.md
Co-authored-by: Victor Morales <chipahuac@hotmail.com>
2021-08-09 21:38:34 -05:00
Jonathan Lopez Torres 76a7e06889 Update content/es/docs/concepts/workloads/controllers/deployment.md
Co-authored-by: Victor Morales <chipahuac@hotmail.com>
2021-08-09 21:38:27 -05:00
Jonathan Lopez Torres 2b00cbf773 Update content/es/docs/concepts/workloads/controllers/deployment.md
Co-authored-by: Victor Morales <chipahuac@hotmail.com>
2021-08-09 21:38:18 -05:00
Jonathan Lopez Torres a6170c1738 Update content/es/docs/concepts/workloads/controllers/deployment.md
Co-authored-by: Victor Morales <chipahuac@hotmail.com>
2021-08-09 21:38:08 -05:00
Jonathan Lopez Torres dd9c4dc83d Update content/es/docs/concepts/workloads/controllers/deployment.md
Co-authored-by: Victor Morales <chipahuac@hotmail.com>
2021-08-09 21:37:43 -05:00
Jonathan Lopez Torres 65827fd94e Update deployment.md 2021-08-09 20:47:45 -05:00
Jonathan Lopez Torres 317c56cf00 Modificación de salida de deployment 2021-08-09 20:45:51 -05:00
Kubernetes Prow Robot 2bc25c1496 Merge pull request #29275 from tengqm/zh-move-pod-priority-preemption
Drop leftover pod-priority-preemption page
2021-08-09 18:45:17 -07:00
Kubernetes Prow Robot 409a5ef110 Merge pull request #29105 from mauriciopoppe/feature-blogpost-csi-windows-support
[Feature blogpost][1.22] CSI Windows Support with CSI Proxy reaches GA
2021-08-09 11:05:10 -07:00
Mauricio Poppe 57e7b781f2 Update blogpost release date to 2021-08-09 2021-08-09 17:28:34 +00:00
Kubernetes Prow Robot 3e4fc78b51 Merge pull request #29060 from ehashman/swap-blog
1.22 feature blog for alpha swap support
2021-08-09 10:21:32 -07:00
Kubernetes Prow Robot 9c7c238efe Merge pull request #29270 from davidmlentz/patch-2
Fix typo
2021-08-09 09:55:31 -07:00
Kubernetes Prow Robot a78a812311 Merge pull request #29299 from Shubham82/fix_broken_link-webhook.go
Fix the broken link for "webhook.go"
2021-08-09 09:53:32 -07:00
Tim Bannister 39e39c0d02 Move node swap post-release article sooner 2021-08-09 17:48:51 +01:00
Hussein Kadiri e6082aca98 Update safely-drain-node.md 2021-08-09 09:37:05 -07:00
Qiming Teng 1846afe3d5 Fix test case for examples
This is an adaptation for 1.22.
2021-08-09 22:29:17 +08:00
Qiming Teng f805b98659 Update go.mod for 1.22 2021-08-09 22:15:28 +08:00
Kubernetes Prow Robot 302743eb9d Merge pull request #28363 from RA489/update_init
Update activeDeadlineSeconds with Pod page
2021-08-09 07:01:31 -07:00
Kubernetes Prow Robot 34ab657265 Merge pull request #29296 from mengjiao-liu/fix-Selector-yaml
[zh] Fix `selector` expect map not string
2021-08-09 06:57:31 -07:00
Kubernetes Prow Robot 58d9f81010 Merge pull request #29268 from cpanato/update-patch
Update patch schedule and add 1.22 to the party
2021-08-09 06:55:31 -07:00
Shubham Kuchhal bdb4cc4603 Fix the broken link for "webhook.go" 2021-08-09 16:17:06 +05:30
Mengjiao Liu bbc82ea1f2 [zh] Fix selector expect map not string and sync horizontal-pod-autoscale-walkthrough.md file 2021-08-09 18:12:14 +08:00
Maciej Filocha 647e9d6ca8 Fix links in RBAC default bindings table
An extra line needs to be added to allow
the link to be rendered properly.
Also reformatting link line to be better readable.
2021-08-09 12:09:29 +02:00
Carlos Panato fafe6d1e9f patch releases: add 1.22 release to the schedule
Signed-off-by: Carlos Panato <ctadeu@gmail.com>
2021-08-09 11:22:30 +02:00
Kubernetes Prow Robot 91d71e812b Merge pull request #29285 from tengqm/kubectl-122
Update kubectl reference for 1.22
2021-08-09 01:41:30 -07:00
Kubernetes Prow Robot 459d007b9a Merge pull request #29276 from Arhell/delete
[ru] Deleted reference to removed file
2021-08-08 23:45:30 -07:00
Kubernetes Prow Robot 45f539517c Merge pull request #29203 from kerthcet/patch-1
fix punctuation mistyped
2021-08-08 20:47:30 -07:00
Kubernetes Prow Robot aa86cfbe42 Merge pull request #29284 from tengqm/update-kubelet-ref
Update reference for kubelet
2021-08-08 20:07:30 -07:00
Kubernetes Prow Robot 90f2d903fb Merge pull request #29250 from jalagari/main
Selector expect map not string
2021-08-08 13:37:30 -07:00
Dima Brusilovsky 91f4f4adf7 Update custom-resource-definition-versioning.md 2021-08-08 18:47:19 +03:00
kerthcet 8ed0b0fd6d keep the document in sync with deprecation of Dynamic Kubelet Configuration in releasev1.22
Signed-off-by: kerthcet <kerthcet@gmail.com>
2021-08-08 21:26:36 +08:00
Sayantani Saha ee245ff73e Added announcements of KubeCon NA & China (#29192)
* Added announcements of KubeCon NA & China

* svg images added & required changes made

* Requested changes made

* svg images fixed

* small correction required

* added the to the message

* small correction

* Netlify build error fixed
2021-08-08 06:01:30 -07:00
Qiming Teng a6a5d359e5 Update kubectl reference for 1.22 2021-08-08 20:49:16 +08:00
Qiming Teng f45f67739e Update reference for kubelet
The kubelet reference is not auto-generated. This PR is about fixing the
outdated information by manually comparing the reference against the
output from `kubelet --help`.
2021-08-08 19:59:56 +08:00
Kenneth Endfinger f805b220d8 Fix double usage of "simplify the process" in kubelet-tls-bootstrapping. 2021-08-08 01:56:17 -07:00
Arhell 3cafc8c8a5 [ru] Deleted reference to removed file 2021-08-08 11:38:24 +03:00
Kubernetes Prow Robot 9e8003a66e Merge pull request #29184 from Arhell/fixes
[ja] Fix typo in worker.py example script
2021-08-07 08:39:29 -07:00
Kubernetes Prow Robot 7321fd9496 Merge pull request #29091 from mengjiao-liu/fix-secret-name-ja
[ja] Fix secret name to be consistent with examples
2021-08-07 08:37:29 -07:00
Kubernetes Prow Robot 82e7858daa Merge pull request #29174 from Arhell/link
[ja] update link to Flannel
2021-08-07 08:35:30 -07:00
Kubernetes Prow Robot 47124c83b1 Merge pull request #29023 from Arhell/operator
[ja] Operator: Exists missing
2021-08-07 08:33:29 -07:00
Qiming Teng d711ae1874 [zh] Translate production environment 2021-08-07 19:23:48 +08:00
Qiming Teng bbb3ba317a Drop left over pod-priority-preemption page
When attempting to keep the localized sites well synced to the English
upstream, some files were found MOVED. It is difficult to detect such
changes. This PR removes a file that were localized twice.
2021-08-07 10:31:55 +08:00
Elana Hashman cb0d216f72 Add alpha swap support blog 2021-08-06 12:07:05 -07:00
Mauricio Poppe 9f30588101 Non-critical updates from feedback 2021-08-06 17:14:04 +00:00
yuswift 4e06971871 update ssa state to ga
Signed-off-by: yuswift <yuswift2018@gmail.com>
2021-08-06 22:17:24 +08:00
Kubernetes Prow Robot b5c1e98957 Merge pull request #29241 from YuikoTakada/fix_relative_paths
Replace with relative path
2021-08-06 06:51:19 -07:00
Kubernetes Prow Robot 7ea180d688 Merge pull request #29269 from mozillazg/patch-1
Fix a broken link
2021-08-06 06:47:20 -07:00
David M. Lentz e47fba2b92 Fix typo 2021-08-06 07:46:25 -06:00
Kubernetes Prow Robot 76fc52c75b Merge pull request #29256 from zhangguanzhang/invalid-ref
[zh] docs: sync and update the ref
2021-08-06 06:45:20 -07:00
zhangguanzhang 229cdb70b9 [zh] docs: sync and update the ref
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
2021-08-06 20:48:24 +08:00
Huang Huang 11a2e54d7a Fix a broken link 2021-08-06 20:42:30 +08:00
Carlos Panato 555801a38b move cherry-pick deadline to a Friday, was on Saturday
Signed-off-by: Carlos Panato <ctadeu@gmail.com>
2021-08-06 12:35:46 +02:00
Kubernetes Prow Robot 84e5a82364 Merge pull request #29267 from Arhell/typo
[zh] fix typo
2021-08-06 02:31:20 -07:00
Arhell f39fdce207 [zh] fix typo 2021-08-06 03:13:52 +03:00
Kubernetes Prow Robot 60de38d64f Merge pull request #29251 from sftim/20210805_link_to_v1.22_release
Link to v1.22 release announcement from removals article
2021-08-05 16:27:55 -07:00
Kubernetes Prow Robot b24deab7fa Merge pull request #29228 from sftim/20210804_update_apiservice_link_to_api_reference
Link to new API reference page for APIService
2021-08-05 15:19:41 -07:00
deepsan 788b9ce132 Reword Go requirement for Aggregated API
Given 'Aggregated APIs are subordinate API servers that sit behind the primary API server, which acts as a proxy', the comparison table indicates a requirement for the subordinate API servers to use Go, when it is not a requirement as long as the subordinate API server follows the expected contract
2021-08-05 15:07:43 -07:00
Kubernetes Prow Robot 0b09d3ecc5 Merge pull request #29230 from sftim/20210804_update_link_from_secret_concept_to_api
Update links from Secret concept to relevant API reference
2021-08-05 15:07:41 -07:00
Kubernetes Prow Robot c91e60ce01 Merge pull request #29231 from sftim/20210804_update_link_to_api_reference_working_with_objects
Update link from Working With Objects to Kubernetes API Reference
2021-08-05 14:23:41 -07:00
Kubernetes Prow Robot ad3319300f Merge pull request #29232 from sftim/2021084_update_links_to_api_reference_pv
Link from PV / PVC concept to new API reference
2021-08-05 13:47:19 -07:00
Kubernetes Prow Robot c0612021dd Merge pull request #29233 from sftim/20210804_update_link_to_api_reference_init_containers
Update init containers concept to link to new API reference
2021-08-05 13:29:20 -07:00
Kubernetes Prow Robot 0525ee9a1f Merge pull request #29244 from niteshseram/glossary
Adding Eviction to glossary
2021-08-05 13:05:19 -07:00
Kubernetes Prow Robot fc50bd55f5 Merge pull request #29265 from renato1891/patch-1
fix small grammatical error in operator.md
2021-08-05 12:21:19 -07:00
Renato B. Boaventura f2e2995d23 fix small grammatical error in operator.md
"una falha..." -> "uma falha..."
2021-08-05 15:40:29 -03:00
Elana Hashman b480f0fb53 Note deprecation of the node performance dashboard 2021-08-05 11:03:09 -07:00
Mauricio Poppe 02ebc799d7 Change publish date to 2021-08-05 2021-08-05 16:16:40 +00:00
Mauricio Poppe 4bcfded6d8 Moved section about alpha APIs to be along the APIs that are reaching v1 2021-08-05 16:13:50 +00:00
Mauricio Poppe 0398ce4e27 Keep some sentences in third person 2021-08-05 16:13:50 +00:00
Mauricio Poppe 8dcebae500 Explain work done in PD CSI in more detail, add statement for the system API 2021-08-05 16:13:50 +00:00
Mauricio Poppe 111b8032e0 Feature blogpost: CSI Windows support with CSI Proxy reaches GA 2021-08-05 16:13:50 +00:00
Kubernetes Prow Robot 9ebb504c7a Merge pull request #29262 from haugenj/patch-1
fix small grammatical error in kube-scheduler.md
2021-08-05 08:41:22 -07:00
Kubernetes Prow Robot e2b4e2644c Merge pull request #29243 from tengqm/configapi-122
Config API for 1.22
2021-08-05 08:15:22 -07:00
Kubernetes Prow Robot a1c346fd16 Merge pull request #29242 from tengqm/compref-122
Update generated component reference docs for 1.22
2021-08-05 08:09:22 -07:00
Jason Haugen 1b8686e66a Update kube-scheduler.md
fix a small grammatical error
2021-08-05 09:18:38 -05:00
Tim Bannister cd44e2757f Link to v1.22 release announcement from removals article 2021-08-05 11:53:21 +01:00
Vijay Kumar Jalagari 2eda36ea27 Selector expect map not string
If we using string then k8s api is throwing validation error
``` (HorizontalPodAutoscaler.spec.metrics[0].object.metric.selector): invalid type for io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector: got "string", expected "map"; if you choose to ignore these errors, turn validation off with --validate=false ```
2021-08-05 16:10:36 +05:30
Kubernetes Prow Robot 708cc9a5fe Merge pull request #29216 from danwinship/ipblock-selectors
Add a manual anchor to an interesting spot in the NetworkPolicy docs
2021-08-05 03:25:22 -07:00
jmyung 7a746df1a5 Add jmyung to sig-docs-ko-reviews 2021-08-05 18:59:08 +09:00
Kubernetes Prow Robot 8c6e5926f8 Merge pull request #29240 from seokho-son/blog-1.22-release
[ko] Translate kubernetes-release-1.22 blog into Korean
2021-08-05 02:51:23 -07:00
Kubernetes Prow Robot a772fcf9cc Merge pull request #29237 from kubernetes/dev-1.21-ko.7
[ko] 7th Korean localization work for v1.21
2021-08-05 02:25:22 -07:00
Kubernetes Prow Robot eed4b02959 Merge pull request #29246 from YuikoTakada/fix_missing_link
Fix missing link
2021-08-05 02:21:22 -07:00
seokho-son b2f7ce183e Translate kubernetes-release-1.22 blog into Korean 2021-08-05 16:45:51 +09:00
Kubernetes Prow Robot c28fd4bfb5 Merge pull request #29173 from ariscahyadi/id-local-rename-jobs
[ID] Rename "Job" Concept page.
2021-08-05 00:33:01 -07:00
sdghchj f21e99e8e7 Update service-accounts-admin.md 2021-08-05 15:29:34 +08:00
Yuiko Mouri 1ad2bce475 Fix missing link 2021-08-05 14:55:29 +09:00
S Nitesh Singh 1230f21648 add eviction to glossary 2021-08-05 10:30:26 +05:30
Qiming Teng f51ed0569d Config API for 1.22 2021-08-05 12:50:28 +08:00
Yuiko Mouri 8f301ea379 Replace with relative path 2021-08-05 11:54:46 +09:00
Kubernetes Prow Robot 43b2e77275 Merge pull request #29167 from ClaudiaJKang/outdated-1.21-ko.7-part2
[ko] Update outdated files in dev-1.21-ko.7 (p2)
2021-08-04 19:18:55 -07:00
Qiming Teng 8acf5d121e Component reference for 1.22 2021-08-05 09:44:17 +08:00
Claudia J. Kang a4aa4613cd [ko] Update outdated files in dev-1.21-ko.7 (p2)
This commit fixes M13~M19 on 28963.
2021-08-05 10:05:56 +09:00
Kubernetes Prow Robot 93f57fd152 Merge pull request #29235 from sftim/20210804_update_tense_for_v1.22_api_deprecations
Update tense for v1.22 API removals
2021-08-04 16:28:38 -07:00
Kubernetes Prow Robot e8b4f229ce Merge pull request #29234 from sftim/20210804_update_v1.22_blog_link_to_kubeadm_v1beta3_config
Link to kubeadm v1beta3 config API
2021-08-04 16:09:10 -07:00
Kubernetes Prow Robot d34ad68f39 Merge pull request #29218 from elKei24/fix/broken-link
[de] fix malformed link on front page
2021-08-04 16:01:11 -07:00
Kubernetes Prow Robot 9c4b023f9b Merge pull request #28964 from Jefftree/ssa-ga
Blog post for Server Side Apply to GA
2021-08-04 15:59:11 -07:00
Kubernetes Prow Robot 2c66264fab Merge pull request #29160 from seokho-son/out1-1.21-ko.7
[ko] Update outdated files in dev-1.21-ko.7 (p1)
2021-08-04 15:55:12 -07:00
Tim Bannister af24e94361 Update tense for v1.22 API removals
These removals have happened, so refer to them in the past.
2021-08-04 23:54:40 +01:00
Kubernetes Prow Robot 0dd81658c7 Merge pull request #29212 from Arhell/improve
[id] update annotations
2021-08-04 15:53:11 -07:00
Kubernetes Prow Robot 4af87260d3 Merge pull request #29029 from jihoon-seo/210720_Translate_node-pressure-eviction
[ko] Translate node-pressure-eviction.md
2021-08-04 15:53:11 -07:00
Tim Bannister b20979dbc4 Link to kubeadm v1beta3 config API
https://k8s.io/docs/reference/config-api/kubeadm-config.v1beta3/ exists,
so let's link to it.
2021-08-04 23:48:38 +01:00
PI-Victor 44e9cd313e Merge pull request #29103 from jlbutler/122-release-blog
Add Kubernetes 1.22 release blog article
2021-08-05 00:21:21 +02:00
Tim Bannister 191c2bf4ee Pick example versions based on current release 2021-08-04 23:12:25 +01:00
Tim Bannister 142177068b Refer to the “default” rather than “master” branch
Get ready for a switch to "main"
2021-08-04 23:12:25 +01:00
PI-Victor 082116588c Merge pull request #27866 from kubernetes/dev-1.22
Official 1.22 Release Docs
2021-08-05 00:01:50 +02:00
Tim Bannister c1feea756f Update init containers concept to link to new API reference 2021-08-04 22:58:42 +01:00
Tim Bannister 1b3125353d Link from PV / PVC concept to new API reference 2021-08-04 22:52:27 +01:00
Tim Bannister cba4f57124 Update link from Working With Objects to Kubernetes API Reference 2021-08-04 22:42:14 +01:00
Tim Bannister 97c35ce770 Update links from Secret concept to relevant API reference 2021-08-04 22:35:56 +01:00
PI-Victor 6e33dfd749 Merge pull request #29200 from PI-Victor/dev-1.22-ref-doc
Generate reference doc for 1.22
2021-08-04 23:32:13 +02:00
Tim Bannister 075fdf2e37 Retitle “Kubernetes API Aggregation Layer” concept
The old title “Extending the Kubernetes API with the aggregation layer”
sounds more like a task page than a concept, so I reworded.
2021-08-04 22:28:54 +01:00
Tim Bannister 1ca5ecbf77 Link to new API reference page for APIService 2021-08-04 22:25:12 +01:00
Victor Palade 66d7c45f0e generated API Ref docs for 1.22
Signed-off-by: Victor Palade <victor@cloudflavor.io>
2021-08-04 23:15:11 +02:00
Tedley Meralus de80496fcf fixed small typo
changed uprate to upgrade on line 12
2021-08-04 17:11:28 -04:00
PI-Victor 7ac9be7598 Merge pull request #29217 from feloy/api-ref-v122-bis
API Reference v1.22
2021-08-04 23:03:34 +02:00
Philippe Martin 02d18a3ce1 v1.22 beta.0 2021-08-04 22:22:35 +02:00
Philippe Martin ba8c8d4238 Build with local assets 2021-08-04 22:22:33 +02:00
Philippe Martin d531f1d97b API Ref v1.22 alpha.3 2021-08-04 22:21:53 +02:00
Philippe Martin 6848d25094 API Ref assets 2021-08-04 22:21:53 +02:00
PI-Victor e7c8bb2a6b Merge pull request #29196 from PI-Victor/fix/config.toml
Update config.toml for dev-1.22 branch.
2021-08-04 21:03:55 +02:00
PI-Victor 465b4da828 Merge pull request #29221 from PI-Victor/merged-main-dev-1.22
Last branch sync for dev-1.22
2021-08-04 20:35:31 +02:00
Victor Palade 61ac44bb11 Merge master into dev-1.22 to keep in sync 2021-08-04 19:43:06 +02:00
Jesse Butler 8042f206ee add Kubernetes 1.22 Release Blog 2021-08-04 10:03:31 -07:00
Dan Winship 5a8bd9216a Add a manual anchor to an interesting spot in the NetworkPolicy docs 2021-08-04 11:50:21 -04:00
Jefftree 437f38b0dc Address comments 2021-08-04 08:20:12 -07:00
Jeffrey Ying 04e5a046f7 Apply suggestions from code review
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-08-04 08:20:12 -07:00
Jefftree 8f7c04acb9 Draft blog post for SSA GA 2021-08-04 08:20:12 -07:00
Elias Keis 81fe8fcd7f fix broken link 2021-08-04 14:47:11 +02:00
Arhell 85e6e51e9e [id] update annotations 2021-08-04 00:49:24 +03:00
Victor Palade 039a1271f3 config.toml: update releases with the latest patches.
Replace `master` with `main` branch.

Signed-off-by: Victor Palade <victor@cloudflavor.io>
2021-08-03 21:52:55 +02:00
Kubernetes Prow Robot a54e81ece4 Merge pull request #29159 from spiffxp/use-k8s-staging-ci-images
kubeadm: use k8s-staging-ci-images instead of kubernetes-ci-images
2021-08-03 09:18:48 -07:00
Tim Bannister e3b6ab9579 Improve Katacoda button
Separate out the HTML <div> for Katacoda from the in-page button to
trigger it.
2021-08-03 14:31:38 +01:00
Kubernetes Prow Robot 756c2fd8bc Merge pull request #29199 from spdfnet/patch-1
typos_kubeadm-init-phase
2021-08-03 04:32:47 -07:00
seokho-son 25f168f2f6 Update outdated files in dev-1.21-ko.7 (p1) 2021-08-03 17:55:32 +09:00
Kubernetes Prow Robot 977ba2e810 Merge pull request #29201 from Arhell/upd-config
[fr] update annotations
2021-08-02 22:54:48 -07:00
Edith b3062eb517 Add concepts/storage/volume-snapshot-classes.md 2021-08-02 23:53:45 -05:00
Kubernetes Prow Robot 8ff25b3f5e Merge pull request #29168 from ClaudiaJKang/outdated-1.21-ko.7-part3
[ko] Update outdated files in dev-1.21-ko.7 (p3)
2021-08-02 19:58:47 -07:00
Kubernetes Prow Robot da58c71c2a Merge pull request #29182 from ClaudiaJKang/ko-29075
[ko] Translate content/ko/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods.md
2021-08-02 19:56:47 -07:00
Kubernetes Prow Robot 31efd0ad3a Merge pull request #29195 from rudeigerc/zh-fix-rbac
[zh] Fix tiny translation mistakes in RBAC
2021-08-02 17:39:50 -07:00
Kubernetes Prow Robot 1f9ceb003d Merge pull request #29190 from NoicFank/patch-3
Fix an error link
2021-08-02 17:37:49 -07:00
Arhell c9b44f094f [fr] update annotations 2021-08-03 01:57:42 +03:00
spdfnet 0d82d2df06 kubelet_typos
Fix typos in kubeadm-init-phase.md
kublet -> kubelet
2021-08-02 22:46:21 +00:00
spdfnet 1fe6f70f5d finialize_typo
Fix typo in kubeadm-init-phase.md
finialize -> finalize
2021-08-02 22:44:54 +01:00
Kubernetes Prow Robot afeca102eb Merge pull request #29193 from sftim/20210802_improve_statefulset_minreadyseconds_docs
Improve StatefulSet .minReadySeconds docs
2021-08-02 10:43:22 -07:00
Tim Bannister 03c2c0fb35 Improve StatefulSet docs around rolling updates
As an alpha feature, rolling updates for StatefulSets can now have a
.spec.minReadySeconds field. Improve the documentation for StatefulSets
to better explain how this is useful.
2021-08-02 18:31:53 +01:00
rudeigerc ae772a5a42 [zh] Fix tiny translation mistakes in RBAC
Signed-off-by: rudeigerc <rudeigerc@gmail.com>
2021-08-03 00:15:43 +08:00
Claudia J. Kang 08e0981775 [ko] Translate content/ko/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods.md 2021-08-02 23:38:05 +09:00
Naka Masato 3bef97644c Update object-management.md 2021-08-02 22:52:13 +09:00
Kubernetes Prow Robot c2b38df06f Merge pull request #28138 from aanm/update-cilium-docs
Update cilium docs
2021-08-02 05:45:21 -07:00
Dingzhu Lurong 8ec133b06f Fix an error link
In the Chinese version of the document, we should use  “#准备开始” instead of “#before-you-begin”.
2021-08-02 20:35:16 +08:00
Kubernetes Prow Robot e3a4ff9b17 Merge pull request #29188 from Shubham82/fix-statiC_pod_link
Fix Static Pod Link.
2021-08-02 04:01:21 -07:00
Shubham Kuchhal bcd6bc07ce Fix Static Pod Link. 2021-08-02 15:27:02 +05:30
Jihoon Seo ada25d09e0 Add ko/glossary/node-pressure-eviction.md 2021-08-02 15:22:37 +09:00
Jihoon Seo 9a311f4c3a Reflect review comments 2021-08-02 15:00:07 +09:00
Kubernetes Prow Robot 828806b973 Merge pull request #29180 from ClaudiaJKang/fix-29179
[ko] Fix CoreDNS typo on kubeadm-upgrade
2021-08-01 20:03:21 -07:00
Kubernetes Prow Robot 120f24ee25 Merge pull request #29178 from Arhell/typo
[zh] Fix typo in worker.py example script
2021-08-01 16:47:21 -07:00
Arhell 473c228985 [ja] Fix typo in worker.py example script 2021-08-02 01:06:00 +03:00
Kubernetes Prow Robot 02ef010015 Merge pull request #29175 from ClaudiaJKang/fix-html-named-character
Fix the missing termination character with HTML5 named character reference
2021-08-01 12:29:21 -07:00
Kubernetes Prow Robot f21c56522a Merge pull request #29166 from ClaudiaJKang/fix-typo-kubectl-convert-macos
Fix kubectl-convert plugin typo on "Install kubectl on macOS"
2021-08-01 12:27:21 -07:00
Juhee Kang 4d330619dd [ko] Fix CoreDNS typo on kubeadm-upgrade 2021-08-01 23:20:38 +09:00
Arhell 715af519d7 [zh] Fix typo in worker.py example script 2021-08-01 13:09:41 +03:00
Kubernetes Prow Robot 2b457e1612 Merge pull request #28944 from aliakbar-hemmati/fix-28875
Add explanations for control-plane pods restart after certificate ren…
2021-07-31 20:29:20 -07:00
Kubernetes Prow Robot 08c735ecc6 Merge pull request #29147 from mengjiao-liu/add-sig-docs-zh-reviews
Add mengjiao-liu to sig-docs-zh-reviews
2021-07-31 17:57:20 -07:00
edsoncelio fe63395af0 feat: fix typos requested by code review 2021-07-31 15:09:11 -03:00
NamikoToriyama 359d239a65 Fix a non-existent link
Signed-off-by: NamikoToriyama <namiko.trym@gmail.com>
2021-08-01 02:22:23 +09:00
Claudia J. Kang d534f730cf Fix the missing termination character with HTML5 named character reference
The HTML5 named character reference such as '&gt', '&lt' should be terminated
with semicolon character. This commit fixes the missing termination character
with the kubernetes-basics tutorials.
2021-08-01 00:05:16 +09:00
Arhell 506dc498ab [ja] update link to Flannel 2021-07-31 14:30:09 +03:00
Kubernetes Prow Robot ef350169a9 Merge pull request #29112 from zhangguanzhang/invalid-cert-command
[zh] docs: update the old command - [tasks/administer-cluster/kubeadm/kubeadm-certs/]
2021-07-31 03:19:20 -07:00
zhangguanzhang 73a030236d [zh] docs: update old command and sync
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
2021-07-31 17:42:15 +08:00
Aris Cahyadi Risdianto 11ded1cca1 rename "Job" Concept page. 2021-07-31 15:16:01 +07:00
Kubernetes Prow Robot a6741614c2 Merge pull request #29157 from cjyar/job-pod-deletion
Add a clarifying reference about a Job's Pod deletion.
2021-07-30 23:15:20 -07:00
Kubernetes Prow Robot 89c6cff35d Merge pull request #29172 from sandipanpanda/kub-web-fix-issue29139
Update token authentication file (#29139)
2021-07-30 14:59:37 -07:00
Kubernetes Prow Robot 9ff9f5dd16 Merge pull request #29169 from anushkamittal20/patch-1
[ko]: Fixes wrong link in assign-pod-node.md
2021-07-30 09:59:37 -07:00
Kubernetes Prow Robot 722d7bca96 Merge pull request #29156 from PI-Victor/docs/service-traffic-policies
Document the ProxyTerminatingEndpoints feature
2021-07-30 09:39:37 -07:00
Anushka Mittal d818691764 Update wrong link in assign-pod-node.md 2021-07-30 20:32:42 +05:30
Claudia J. Kang a850ca2fc2 [ko] Update outdated files in dev-1.21-ko.7 (p3)
This commit fixes M20~M26 on 28963.
2021-07-30 23:44:18 +09:00
sandipanpanda 4915d216aa Update token authentication file (#29139) 2021-07-30 09:54:05 -04:00
Kubernetes Prow Robot 3ac2177603 Merge pull request #29162 from seokho-son/out-m27-1.21-ko.7
[ko] Update outdated files in dev-1.21-ko.7 (m27)
2021-07-30 06:47:38 -07:00
Juhee Kang 97d371bcf7 Fix kubectl-convert plugin typo on "Install kubectl on macOS"
Compared with the other distro guide about installation kubectl, the macOS installation guide has a typo about validation of kubectl-convert. 
This commits fixes the typo on "Install kubectl on macOS" documentation.
2021-07-30 22:16:44 +09:00
Kubernetes Prow Robot 575bd04640 Merge pull request #29158 from Arhell/fix-name
[it] fix Flannel addon name
2021-07-30 04:57:37 -07:00
RA489 7f9d3e3f90 Update activeDeadlineSeconds with Pod page 2021-07-30 16:11:31 +05:30
Kubernetes Prow Robot c45c0357fc Merge pull request #28757 from jihoon-seo/210702_uk_Update_Netlify_link_address
[uk] Update Netlify link address
2021-07-30 03:17:37 -07:00
Kubernetes Prow Robot 2aa0117550 Merge pull request #29161 from steven-my/29096-update-location-for-preparenode-ps1
Update location of PrepareNode.ps1
2021-07-30 03:11:37 -07:00
Kubernetes Prow Robot 1e0c138fad Merge pull request #29003 from ClaudiaJKang/ko-28983
[ko] Translate docs/tasks/administer-cluster/enable-disable-api.md
2021-07-30 00:15:37 -07:00
seokho-son 4bfd5a6acd Update outdated files in dev-1.21-ko.7 (m27) 2021-07-30 15:14:59 +09:00
Aaron Crickenberger be9926dff4 kubeadm: use k8s-staging-ci-images instead of kubernetes-ci-images 2021-07-29 17:59:06 -07:00
Kubernetes Prow Robot 0df45a7130 Merge pull request #29154 from cslauritsen/patch-1
mark adjectival phrases with hyphens
2021-07-29 15:41:39 -07:00
Tim Bannister 02fbd11727 Fix grammar 2021-07-29 23:40:15 +01:00
Kubernetes Prow Robot 1c15c9167e Merge pull request #29074 from ClaudiaJKang/ko-29013
[ko] Translate docs/tasks/administer-cluster/enabling-topology-aware-…
2021-07-29 15:09:18 -07:00
Arhell 4778f62f07 [it] fix Flannel addon name 2021-07-30 01:07:37 +03:00
Jihoon Seo 3b7a5610ca Fix nits in user-guide-windows-containers (#28379)
* Fix nits in user-guide-windows-containers

* Replace 'master' with 'control plane'
2021-07-29 14:09:19 -07:00
Kubernetes Prow Robot f470819727 Merge pull request #28583 from vaibhav2107/hpa-walkthrough
Update the command in /docs/tasks/run-application/horizontal-pod-auto…
2021-07-29 14:05:19 -07:00
Kubernetes Prow Robot de0457df9a Merge pull request #28576 from aimuz/fix-en-style
Modify the syntax specification of markdown
2021-07-29 14:03:19 -07:00
Chris Jones 1a2e20268a Add a clarifying reference about a Job's Pod deletion. 2021-07-29 12:50:06 -06:00
Andrew Sy Kim 3cb9ee4e67 Document the ProxyTerminatingEndpoints feature
Document Service Traffic Policies

Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
Reviewed-by: Victor Palade <victor@cloudflavor.io>
2021-07-29 20:40:34 +03:00
Kubernetes Prow Robot ddf3002561 Merge pull request #29146 from craigbox/interview-1.21
Add release interview for 1.21
2021-07-29 10:16:19 -07:00
Chad Lauritsen abeaf3e5ea mark adjectival phrases with hyphens 2021-07-29 12:46:32 -04:00
Kubernetes Prow Robot d567014251 Merge pull request #29148 from bhumijgupta/add-convert-install-requirement
Add requirement note for kubectl convert command reference
2021-07-29 09:44:20 -07:00
Craig Box aaf9833b32 Merge branch 'interview-1.21' of https://github.com/craigbox/kubernetes.github.io into interview-1.21 2021-07-29 16:52:32 +01:00
Craig Box 401690d7b5 s/engineering/Engineering/ 2021-07-29 16:52:23 +01:00
craigbox 54090324e2 Final suggestions from Nabarun's review
Co-authored-by: Nabarun Pal <palnabarun@users.noreply.github.com>
2021-07-29 16:51:41 +01:00
craigbox bb26915575 Apply suggestions from Nabarun's review
Co-authored-by: Nabarun Pal <palnabarun@users.noreply.github.com>
2021-07-29 16:47:04 +01:00
Kubernetes Prow Robot 6b0351333e Merge pull request #29153 from PI-Victor/merged-main-dev-1.22
Merge main into dev 1.22 to sync and fix conflicts
2021-07-29 08:14:19 -07:00
Kubernetes Prow Robot 845ff4682c Merge pull request #29144 from PI-Victor/fix/quobyte-storage-class-ref
deprecation: Update quobyte storage class
2021-07-29 06:28:19 -07:00
Victor Palade 4b3b80f962 deprecation: Update quobyte storage class
This change adds a deprecation notice for the in-tree quobyte storage class and offers a link to the out-of-tree example.

Signed-off-by: Victor Palade <victor@cloudflavor.io>
2021-07-29 15:56:41 +03:00
Victor Palade 252c44c53d Merge master into dev-1.22 to keep in sync 2021-07-29 15:40:32 +03:00
Craig Box 527f15ee47 Add some links 2021-07-29 12:40:50 +01:00
Kubernetes Prow Robot b40d3f54ad Merge pull request #29138 from mengjiao-liu/fix-memory-suffix
[zh] memory suffixes: "k" is lowercase
2021-07-29 03:48:18 -07:00
Kubernetes Prow Robot 55d33c1311 Merge pull request #29150 from chjtwork/patch-1
[zh] fix debug-running-pod url
2021-07-29 01:48:19 -07:00
Steven Yan 6db181178f Update location of PrepareNode.ps1 2021-07-29 16:35:26 +08:00
Kubernetes Prow Robot f68907cdb5 Merge pull request #29145 from Arhell/fix-name
[it] fix addon name
2021-07-29 01:34:19 -07:00
chjtwork 601c5b2b9b fix debug-running-pod url 2021-07-29 15:05:03 +08:00
bhumijgupta 60d8eaf339 Add requirement note for kubectl convert command reference
Signed-off-by: bhumijgupta <bhumijgupta@gmail.com>
2021-07-29 09:10:42 +05:30
Mengjiao Liu 8f67e373eb Add mengjiao-liu to sig-docs-zh-reviews 2021-07-29 10:24:59 +08:00
Craig Box 8d55192ee4 Add release interview for 1.21 2021-07-28 23:12:29 +01:00
Arhell 04a907ccc7 [it] fix addon name 2021-07-29 00:31:43 +03:00
Kubernetes Prow Robot ddf46cfd6b Merge pull request #29124 from tallclair/podsecurity
[PodSecurity] Correct and clarify a few things
2021-07-28 11:26:47 -07:00
Tim Allclair 6ac692be8e [PodSecurity] Correct and clarify a few things 2021-07-28 10:41:59 -07:00
Kubernetes Prow Robot 43c48ea6b4 Merge pull request #28051 from XudongLiuHarold/promote-loadbalancerclass-to-beta
KEP-1959 Update document for promoting loadbalancerclass to beta
2021-07-28 10:17:35 -07:00
Kubernetes Prow Robot b0f7bd626f Merge pull request #29133 from PI-Victor/merged-master-dev-1.22
Merge main into dev 1.22
2021-07-28 09:55:35 -07:00
Kubernetes Prow Robot 5c84822a9e Merge pull request #29141 from niteshseram/fix/outdated-wording
replacing the outdated term "master"
2021-07-28 08:23:34 -07:00
PI-Victor fe170db160 Merge branch 'dev-1.22' into merged-master-dev-1.22 2021-07-28 18:14:25 +03:00
Nitesh Seram 83be6d3193 updating the outdated word 2021-07-28 20:23:04 +05:30
Kubernetes Prow Robot 96c89395cc Merge pull request #28610 from bswartz/volume-populators
[1.22] Volume populators redesign #1495
2021-07-28 06:35:35 -07:00
Kubernetes Prow Robot 55a6fd2539 Merge pull request #29134 from Arhell/link
[it] update link to Flannel
2021-07-28 05:33:35 -07:00
Claudia J. Kang d071289f7e [ko] Translate docs/tasks/administer-cluster/enabling-topology-aware-hints.md 2021-07-28 21:01:57 +09:00
Kubernetes Prow Robot 85be5bb2b1 Merge pull request #29126 from tengqm/add-apiserver-traceconfig
Add API server config API v1alpha1
2021-07-28 03:05:35 -07:00
Kubernetes Prow Robot 80815add70 Merge pull request #29136 from tengqm/fix-annotation
Amend the annotation concept
2021-07-28 01:59:35 -07:00
chenxuc f4e6b41840 improve hello-minikube page for dashboard 2021-07-28 16:26:27 +08:00
Mengjiao Liu 6fc10eaaa8 [zh] memory suffixes: "k" is lowercase 2021-07-28 15:45:11 +08:00
kartik494 c7a44f14ea Modify documentation for stablestorage 2021-07-28 09:37:42 +05:30
Kubernetes Prow Robot f7c51d8db5 Merge pull request #29120 from yuswift/q-typo
Fix typo in content/en/docs/contribute/generate-ref-docs/quickstart.md
2021-07-27 20:45:34 -07:00
Qiming Teng 651a0c2183 Amend the annotation concept 2021-07-28 11:30:35 +08:00
Kubernetes Prow Robot 8ceaf4daef Merge pull request #29066 from rahdeck/patch-1
Lowercase one of the memory suffixes
2021-07-27 19:53:34 -07:00
Kubernetes Prow Robot 5cab9ac7a0 Merge pull request #28896 from niteshseram/fix/tool-lists
Fixing tools list by rewording it
2021-07-27 19:51:34 -07:00
Kubernetes Prow Robot 380c92b7a6 Merge pull request #29131 from astraw99/patch-2
Update CSR Signers description
2021-07-27 19:43:34 -07:00
Cheng Wang c5c8dd48b3 Apply suggestions from code review
Co-authored-by: Jordan Liggitt <jordan@liggitt.net>
2021-07-28 10:11:36 +08:00
Kubernetes Prow Robot 3e806911c0 Merge pull request #28830 from chenxuc/kubelet-config-file
improve example for kubelet config file
2021-07-27 18:35:35 -07:00
Kubernetes Prow Robot 728b13d7fd Merge pull request #27668 from vshn/improve-init-containers
Improve resource section of init containers
2021-07-27 18:03:35 -07:00
Kubernetes Prow Robot bfaca72736 Merge pull request #29135 from junaid-ali/patch-1
Fix link to decoding a secret
2021-07-27 17:47:35 -07:00
Ben Swartzlander 2fd8c1435a [1.22] Volume populators redesign #1495
Add dataSourceRef documentation
2021-07-27 18:36:45 -04:00
Junaid Ali 2fe20a8ac4 Fix link to decoding a secret 2021-07-27 23:34:13 +01:00
Kubernetes Prow Robot c76841a40a Merge pull request #29129 from Shubham82/correct-memory_and_cpu_values
Correct default values of memory and cpu.
2021-07-27 15:07:08 -07:00
Kubernetes Prow Robot 85186078a4 Merge pull request #28745 from swetharepakula/eps-1.22
EndpointSlice 1.22 Docs Update (KEP 752)
2021-07-27 14:49:09 -07:00
Harold eb62502894 update document for promoting ServiceLoadBalancerClass to beta 2021-07-27 14:29:40 -07:00
Arhell 475da9d22a [it] update link to Flannel 2021-07-28 00:25:43 +03:00
Swetha Repakula 1168b46021 EndpointSlice 1.22 Docs Update
* Graduate proxying gates
 * Endpoints Controller truncates endpoints to 1000 and sets
   over-capacity annotation to `truncated`
2021-07-27 12:19:31 -07:00
Kubernetes Prow Robot 87ae40d2d4 Merge pull request #28692 from seans3/kubectl-headers-docs-1.22
[1.22] kubectl command headers docs
2021-07-27 11:13:09 -07:00
Kubernetes Prow Robot 0f8a345218 Merge pull request #27716 from sftim/20210425_revise_secret_concept
Revise wording for Secret concept
2021-07-27 11:05:09 -07:00
Kubernetes Prow Robot 0b0b85b6ed Merge pull request #28412 from MikeSpreitzer/add-apf-seats
Doc the apiserver_flowcontrol_request_concurrency_in_use metric
2021-07-27 10:57:09 -07:00
Kubernetes Prow Robot a30ecd33e2 Merge pull request #28458 from vaibhav2107/cluster-large
Update addon resizer in cluster-large.md
2021-07-27 10:55:09 -07:00
Kubernetes Prow Robot 65ec6fb144 Merge pull request #28609 from vaibhav2107/daemonset-deploy
Update in /docs/concepts/workloads/controllers/daemonset.md
2021-07-27 10:53:08 -07:00
Kubernetes Prow Robot fe931e0d30 Merge pull request #28614 from tengqm/add-feature-gate-to-card
Add feature-gates to home page card
2021-07-27 10:51:10 -07:00
Kubernetes Prow Robot 8e8328b585 Merge pull request #28801 from Ritikaa96/stateless-application-update-address
correcting redis address in stateless-application guestbook document
2021-07-27 10:38:47 -07:00
Kubernetes Prow Robot 583bc39de7 Merge pull request #28782 from niteshseram/fix/link-issue
fixing #hook-details doesn't exist in /docs/concepts/containers/container-lifecycle-hooks/
2021-07-27 10:36:47 -07:00
Kubernetes Prow Robot 1e9582afc3 Merge pull request #28780 from johngmyers/ca-naming
Use consistent terminology for the Kubernetes general CA
2021-07-27 10:34:47 -07:00
Kubernetes Prow Robot 3c4f5639c1 Merge pull request #28817 from squat/patch-4
using-api/health-checks.md: use consistent casing
2021-07-27 10:08:46 -07:00
Kubernetes Prow Robot 05ae3dab2b Merge pull request #28802 from rishabh96b/main
docs: Make word 'Client' inline with other references
2021-07-27 10:06:46 -07:00
Kubernetes Prow Robot 60984701a9 Merge pull request #28114 from chrishenzie/read-write-once-pod-access-mode
ReadWriteOncePod access mode alpha docs
2021-07-27 09:44:46 -07:00
Chris Henzie 2113947048 ReadWriteOncePod access mode alpha 2021-07-27 09:21:29 -07:00
Victor Palade 3c95e6a96b Merge master into dev-1.22 to keep in sync 2021-07-27 18:47:27 +03:00
Kubernetes Prow Robot cac3c3a17d Merge pull request #29095 from tengqm/kubeadm-config-122
Kubeadm config reference fix
2021-07-27 07:32:46 -07:00
Kubernetes Prow Robot 7ae9e453b7 Merge pull request #28849 from tengqm/featuregate-1.22-20210708
Batch update feature gates for 1.22
2021-07-27 07:28:46 -07:00
Kubernetes Prow Robot d3cbcb4539 Merge pull request #28315 from timyinshi/rbac
delete extra chinese words
2021-07-27 07:08:45 -07:00
Cheng Wang eedecdc685 Update CSR Signers description 2021-07-27 21:59:11 +08:00
Kubernetes Prow Robot 818def30ed Merge pull request #29018 from SamWheating/sw-fix-sentence-in-hpa-docs
Fixing improper sentence in HPA documentation
2021-07-27 03:16:45 -07:00
Chen, Xu Chun (Simon) a6edadd674 add nfs storageClass example (#28941)
* add nfs example

* --amend
2021-07-27 02:48:45 -07:00
Qiming Teng 683d28574d Wrap long lines for system-traces 2021-07-27 17:42:49 +08:00
Qiming Teng 96b9dd41b7 Add API server config API v1alpha1
The `v1alpha1` API is not the *latest* version but it contains some new
structures not seen in `v1beta1` or `v1`.
2021-07-27 17:39:57 +08:00
cezaryzukowski 11c8889e6d The Memory Manager graduates to Beta (#28851)
* Update gRPC messages documentation

* Revisions + extend docs

* Update content/en/docs/tasks/administer-cluster/memory-manager.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Revisions

* Update content/en/docs/tasks/administer-cluster/memory-manager.md

Co-authored-by: Qiming Teng <tengqm@outlook.com>

* Revisions

Co-authored-by: Tim Bannister <tim@scalefactory.com>
Co-authored-by: Qiming Teng <tengqm@outlook.com>
2021-07-27 02:12:45 -07:00
Maciej Filocha a17e7b61be Update Polish README file
Update Polish translation of main README file.

Synced up to 9c7d7dcdf6.
2021-07-27 10:47:30 +02:00
Kubernetes Prow Robot 0003894db4 Merge pull request #28843 from dashpole/tracing_alpha
APIServer Distributed Tracing Alpha
2021-07-27 00:56:45 -07:00
Kubernetes Prow Robot 1f906ce67a Merge pull request #28827 from AkihiroSuda/kep2033-kubelet-in-userns-aka-rootless
Add `KubeletInUserNamespace` feature gate
2021-07-27 00:54:46 -07:00
Shubham Kuchhal de9db22f9e Correct default values for memory and cpu. 2021-07-27 13:21:52 +05:30
Brandon Smith af2f72ad59 Windows HostProcess Container Documentation (#28413)
* Rebasing HostProcess security changes.

* Incorporated initial round of feedback

* Minor wording updates

* Finished up remaining todo items

* Apply suggestions from code review

Co-authored-by: Jordan Liggitt <jordan@liggitt.net>
Co-authored-by: Mark Rossetti <marosset@microsoft.com>

* Moved HostProcess security documentation into PSS and create-host-process-pod docs

* Updated with for James' review

* Apply suggestions from code review

Co-authored-by: Tim Bannister <tim@scalefactory.com>
Co-authored-by: James Sturtevant <jsturtevant@gmail.com>

* Minor edits

* Modifications for additional feedback

Co-authored-by: Jordan Liggitt <jordan@liggitt.net>
Co-authored-by: Mark Rossetti <marosset@microsoft.com>
Co-authored-by: Tim Bannister <tim@scalefactory.com>
Co-authored-by: James Sturtevant <jsturtevant@gmail.com>
2021-07-27 00:50:45 -07:00
chenxuc 8c9c9c543c static pod not support configmap or secret 2021-07-27 14:51:45 +08:00
Kubernetes Prow Robot acc7252970 Merge pull request #29025 from robscott/endpoints-rbac
Adding documentation about Endpoints write access in wake of CVE-2021-25740
2021-07-26 23:20:45 -07:00
Akihiro Suda 2860fbf1ad Add KubeletInUserNamespace feature gate
Enables support for running kubelet in a user namespace.
The user namespace has to be created before running kubelet.
All the node components such as CRI need to be running in the same user namespace.

- Tracking issue: kubernetes/enhancements issue 2033
- KEP: https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/2033-kubelet-in-userns-aka-rootless
- Implementation: kubernetes/kubernetes PR 92863

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-07-27 15:18:46 +09:00
Kubernetes Prow Robot cfce358765 Merge pull request #28629 from Jiawei0227/migration
Fix csi migration feature gates
2021-07-26 22:58:45 -07:00
Mark Rossetti 2a42dd439c Clarifying gcr vs mcr pause image usage for Windows (#29063)
* Clarifying gcr vs mcr pause iamge usage for Windows

Signed-off-by: Mark Rossetti <marosset@microsoft.com>

* updating more pause image references

* Link to pause image section instead of duplicating container image multiple places

* Update content/en/docs/setup/production-environment/windows/intro-windows-in-kubernetes.md

Co-authored-by: James Sturtevant <jsturtevant@gmail.com>

* update link to wincat source

* Removing here link

* end of file blank line

* specify  pause image v3.5 is for v1.22

* Update content/en/docs/setup/production-environment/windows/intro-windows-in-kubernetes.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/docs/setup/production-environment/windows/intro-windows-in-kubernetes.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* removing v1.15 reference from docs

* Update content/en/docs/setup/production-environment/windows/intro-windows-in-kubernetes.md

Co-authored-by: James Sturtevant <jsturtevant@gmail.com>

* Update content/en/docs/setup/production-environment/windows/intro-windows-in-kubernetes.md

Co-authored-by: James Sturtevant <jsturtevant@gmail.com>

Co-authored-by: James Sturtevant <jsturtevant@gmail.com>
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-07-26 22:48:44 -07:00
Kubernetes Prow Robot d078b427b8 Merge pull request #28870 from shannonxtreme/gc-docs
Create garbage collection docs
2021-07-26 22:40:45 -07:00
Kubernetes Prow Robot 85868d8fcc Merge pull request #28995 from jaronnie/patch-1
Update connecting-frontend-backend.md
2021-07-26 19:02:45 -07:00
Kubernetes Prow Robot 1a5c82baf7 Merge pull request #29114 from tengqm/fix-name-requirement
Fix service name requirement
2021-07-26 17:18:44 -07:00
Kubernetes Prow Robot ba22677b4c Merge pull request #29123 from Arhell/addons
[de] update link to Flannel
2021-07-26 14:40:33 -07:00
Arhell 4226eb76c6 [de] update link to Flannel 2021-07-27 00:19:08 +03:00
Jiawei Wang ce8641227c Fix csi migration feature gates 2021-07-26 13:14:25 -07:00
Kubernetes Prow Robot 15d601f1fd Merge pull request #29039 from alculquicondor/sched-framework-grad
Fix feature state for Scheduling Framework
2021-07-26 12:54:33 -07:00
Kubernetes Prow Robot 71a5a6a303 Merge pull request #29122 from swetharepakula/eps-1.21-update
Update EPS docs to indicate behavior is unique to 1.21
2021-07-26 12:32:32 -07:00
Kubernetes Prow Robot 6399fb6c75 Merge pull request #28858 from tengqm/kube-scheduler-config-v1beta2
Switch kube-scheduler config to v1beta2
2021-07-26 12:16:33 -07:00
Kubernetes Prow Robot 5a813f1267 Merge pull request #28430 from margocrawf/master
Add Impersonate-Uid description to Authentication docs page.
2021-07-26 12:02:33 -07:00
Kubernetes Prow Robot 5525bd968f Merge pull request #28223 from Jiawei0227/cc
Deprecate and remove some storage plugins
2021-07-26 11:58:33 -07:00
Rob Scott d710925768 Adding documentation about Endpoints write access in wake of CVE-2021-25740 2021-07-26 11:32:06 -07:00
Swetha Repakula 526f0d2972 Update EPS docs to indicate behavior is unique to 1.21 2021-07-26 11:24:29 -07:00
Kubernetes Prow Robot 1bc3b21ed4 Merge pull request #29104 from mfilocha/pl-add-release-index
Add Polish Release index page
2021-07-26 10:40:34 -07:00
Kubernetes Prow Robot c9e0171da0 Merge pull request #28881 from adtac/sbeta22
SuspendJob: graduate to beta
2021-07-26 10:38:34 -07:00
David Ashpole 65539f9e67 add documentation for API Server tracing 2021-07-26 10:01:26 -07:00
Ricardo Katz 8a04ffee9c Network Policy - EndPort to Beta (#28860)
* Move endPort field to beta and v1.22

* Add note about CNI not supporting endport
2021-07-26 09:54:34 -07:00
Sam Wheating 498647c438 Removing paragraph about ReplicationController 2021-07-26 09:17:10 -07:00
Sam Wheating e4d7ffb6d6 Update content/en/docs/tasks/run-application/horizontal-pod-autoscale.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-07-26 09:14:03 -07:00
yuswift 45698e8c40 fix typo in content/en/docs/contribute/generate-ref-docs/quickstart.md
Signed-off-by: yuswift <yuswift2018@gmail.com>
2021-07-26 20:48:02 +08:00
Kubernetes Prow Robot 0466dcf49d Merge pull request #29088 from mengjiao-liu/update-debian-link-ja
[ja] Fix link for debian-base
2021-07-26 05:40:33 -07:00
Kubernetes Prow Robot 09903e156f Merge pull request #29076 from xinydev/update-kubectl-flag
Update kubectl deprecated flag delete-local-data to delete-emptydir-data
2021-07-26 04:20:33 -07:00
Kubernetes Prow Robot 2153412d4e Merge pull request #29118 from vaibhav2107/blog-fix
Update the upcoming-changes-in-kubernetes-1-22/index.md
2021-07-26 02:06:33 -07:00
Vaibhav b2084c9928 Update the upcoming-changes-in-kubernetes-1-22/index.md 2021-07-26 14:10:07 +05:30
Kubernetes Prow Robot de41be399f Merge pull request #28973 from Arhell/upd
[ja] Updating --cascade as false is deprecated on Kubectl 1.21
2021-07-26 01:26:33 -07:00
Qiming Teng 26748e36b0 Fix service name requirement 2021-07-25 19:57:50 +08:00
Sachin 4aa2b6df61 docs: mention container probes (#29085)
* mention container probe

* fix style errors

* fix errors
2021-07-25 04:17:06 -07:00
Kubernetes Prow Robot 2ab22a83ce Merge pull request #29111 from Arhell/addon
[pt-br] update link to Flannel
2021-07-24 15:37:06 -07:00
Arhell 403dbdcc15 [pt-br] update link to Flannel 2021-07-25 00:34:29 +03:00
Kubernetes Prow Robot f06b6241a5 Merge pull request #29109 from Arhell/addons
[id] update link to Flannel
2021-07-24 06:57:06 -07:00
Arhell 8c47137784 [id] update link to Flannel 2021-07-24 13:13:37 +03:00
Qiming Teng 1427beea15 Kubeadm config reference for 1.22
This PR fixes some type errors found recently.
2021-07-24 11:59:57 +08:00
Kubernetes Prow Robot 50c97b222c Merge pull request #28106 from giuseppe/cgroup-v2-1.22
[1.22] cgroup v2
2021-07-23 20:23:06 -07:00
Kubernetes Prow Robot 9c7d7dcdf6 Merge pull request #29042 from enj/enj/i/csr_gc
Complete details regarding CSR garbage collection
2021-07-23 19:25:06 -07:00
Kubernetes Prow Robot ddfd37581a Merge pull request #29094 from tengqm/fix-kubeadm-config-121
Fix kubeadm config reference
2021-07-23 19:19:06 -07:00
Kubernetes Prow Robot 777fe8e420 Merge pull request #28965 from jsturtevant/patch-1
Remove annotation for Experimental Windows Hyper-v
2021-07-23 19:07:06 -07:00
Kubernetes Prow Robot e3f2a445bc Merge pull request #28755 from jihoon-seo/210702_pt_Update_Netlify_link_address
[pt] Update Netlify link address
2021-07-23 19:05:06 -07:00
Kubernetes Prow Robot 959d0c759b Merge pull request #28738 from vaibhav2107/link-labels
Add the links in docs/concepts/overview/working-with-objects/labels/
2021-07-23 19:03:06 -07:00
Kubernetes Prow Robot 9fb15a8382 Merge pull request #28182 from strongjz/ingress-nginx-stabilization
Blog post for ingress-nginx stabilization discussion
2021-07-23 19:01:06 -07:00
Kubernetes Prow Robot 74cbcc4ae3 Merge pull request #28754 from jihoon-seo/210702_pl_Update_Netlify_link_address
[pl] Update Netlify link address
2021-07-23 18:59:06 -07:00
Kubernetes Prow Robot b567e32edc Merge pull request #28753 from jihoon-seo/210702_ko_Update_Netlify_link_address
[ko] Update Netlify link address
2021-07-23 18:57:07 -07:00
Tim Bannister d4184d45cb Set publication date for article 2021-07-24 02:52:28 +01:00
Tim Bannister 7a8389ccc2 Revise wording for Secret concept 2021-07-24 02:23:27 +01:00
Tim Bannister 39f2c3860d Reword “Create an External Load Balancer” task
- general cleanup
- update sample output
- use more tooltips
- avoid specifying specific cloud providers

The website repo doesn't maintain a definitive list of cloud providers that
pass Kubernetes conformance tests. It's certainly more than AWS and GCP as
the previous revision stated.
2021-07-24 02:19:40 +01:00
Kubernetes Prow Robot 54bebd3248 Merge pull request #28872 from tengqm/kubeadm-config-v1beta3
Readd kubeadm config v1beta3 reference for 1.22
2021-07-23 16:19:06 -07:00
Maciej Filocha ee312ddc56 Add Polish Release index page 2021-07-23 22:41:37 +02:00
James Sturtevant b078e4916e Apply suggestions from code review
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-07-23 08:34:11 -07:00
Giuseppe Scrivano 7c10029841 setup: add documentation for cgroup v2
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-07-23 15:19:19 +02:00
Qiming Teng 5239adf5e1 Batch update feature gates for 1.22
Here is a second batch for feature gate updates in 1.22.

- CPUManagerPolicyOptions    kubernetes/kubernetes#101432
- ControllerManagerLeaderMigration  kubernetes/kubernetes#103533
- DynamicKubeletConfig    kubernetes/kubernetes#102966
- EndpointSliceProxying  kubernetes/kubernetes#103451
- EndpointSliceTerminatingCondition  kubernetes/kubernetes#103596
- HugePageStorageMediumSize    kubernetes/kubernetes#99144
- JobTrackingWithFinalizers   kubernetes/kubernetes#98817
  (also tracked in #28841, can rebase).
- ServiceInternalTrafficPolicy  kubernetes/kubernetes#103462
- WindowsEndpointSliceProxying   kubernetes/kubernetes#103451

Some of these needs more detailed documentation.
2021-07-23 15:05:15 +08:00
Kubernetes Prow Robot 552ac504a1 Merge pull request #29098 from mengjiao-liu/fix-observability-format-zh
[zh] Fix Observability format to be consistent with other list items.
2021-07-23 00:01:16 -07:00
Kubernetes Prow Robot 09e92f3d5f Merge pull request #28566 from xiaoxubeii/dev-1.22
Support Memory QoS with cgroups v2 for 1.22 #2570
2021-07-22 23:59:16 -07:00
Kubernetes Prow Robot 29504f7de0 Merge pull request #29096 from samstride/patch-1
Update pod-lifecycle.md
2021-07-22 23:55:16 -07:00
Kubernetes Prow Robot a3b42b55ed Merge pull request #29090 from mengjiao-liu/fix-secret-name-zh
[zh] Fix secret name to be consistent with examples
2021-07-22 23:53:16 -07:00
Kubernetes Prow Robot 8d5b42e580 Merge pull request #29092 from xinydev/fix-anchor
Update anchor for hairpin mode
2021-07-22 23:51:16 -07:00
Mengjiao Liu bc05d880e3 [zh] Fix Observability format to be consistent with other list items. 2021-07-23 14:18:53 +08:00
Kubernetes Prow Robot f7688691e1 Merge pull request #29093 from mengjiao-liu/fix-observability-format
Fix Observability format to be consistent with other list items
2021-07-22 23:11:16 -07:00
Qiming Teng 500745dd60 Add kubeadm config reference v1beta3 2021-07-23 13:10:55 +08:00
Vijay 626b101340 Update pod-lifecycle.md
I think there is a typo, `readiness problem` needs to be `readiness probe`.
2021-07-23 17:09:19 +12:00
Kubernetes Prow Robot 0ef9001c5e Merge pull request #29089 from mengjiao-liu/update-debian-link-ko
[ko] Fix link for debian-base
2021-07-22 21:29:15 -07:00
Qiming Teng 8bd5598f3d Fix kubeadm config reference
There are some types incorrectly parsed because the related  go pkg was
not properly updated/referenced.
2021-07-23 12:01:32 +08:00
Mengjiao Liu 9eb90fddd8 Fix Observability format to be consistent with other items 2021-07-23 11:09:55 +08:00
XinYang d095a148f2 Update kubectl deprecated flag delete-local-data
Signed-off-by: XinYang <xinydev@gmail.com>

revert changes

Signed-off-by: XinYang <xinydev@gmail.com>

update more

Signed-off-by: XinYang <xinydev@gmail.com>
2021-07-23 10:39:30 +08:00
Mengjiao Liu b7ec60a564 [ja] Fix secret name to be consistent with examples 2021-07-23 10:35:50 +08:00
Mengjiao Liu 68c66893ab [zh] Fix secret name to be consistent with examples 2021-07-23 10:29:27 +08:00
Kubernetes Prow Robot 59fd8e2493 Merge pull request #29087 from mengjiao-liu/update-debian-link
[zh] Fix link for debian-base
2021-07-22 19:29:16 -07:00
XinYang 1779ade51b Update anchor for hairpin mode
Signed-off-by: XinYang <xinydev@gmail.com>
2021-07-23 10:23:58 +08:00
Mengjiao Liu b734ae26cc [ko] Fix link for debian-base 2021-07-23 10:16:54 +08:00
Mengjiao Liu 723cb63929 [ja] Fix link for debian-base 2021-07-23 10:13:08 +08:00
Mengjiao Liu 71fd082bad [zh] Fix link for debian-base 2021-07-23 10:07:06 +08:00
Kubernetes Prow Robot 794a8ffb49 Merge pull request #27683 from ravisantoshgudimetla/patch-8
Add docs for minReadySeconds in StatefulSet
2021-07-22 18:31:16 -07:00
Kubernetes Prow Robot 9234f9454b Merge pull request #28070 from enj/enj/f/duration_hint
Update CSR docs with expirationSeconds field details
2021-07-22 18:29:16 -07:00
Kubernetes Prow Robot e92c299996 Merge pull request #28172 from chenrui333/zh/sync-cluster-admin-addons
zh: sync concepts/cluster-administration/addons
2021-07-22 18:23:16 -07:00
Kubernetes Prow Robot 98a52cdede Merge pull request #29080 from able8/fix-an-empty-prerequisites
Fix an empty prerequisites section in update-daemon-set.md
2021-07-22 18:07:16 -07:00
Able Lv 72af5fdf2f Update content/en/docs/tasks/manage-daemon/update-daemon-set.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-07-23 08:58:37 +08:00
Kubernetes Prow Robot 0650476fb5 Merge pull request #28930 from ehashman/kep-2238-beta
KEP-2238 probe-level grace period changes for beta/1.22
2021-07-22 17:11:16 -07:00
Kubernetes Prow Robot 77cca2346f Merge pull request #29011 from basanaguk/main
29008: Grammatical correction in install-kubeadm.md
2021-07-22 13:15:59 -07:00
Sean Sullivan 8a6badcb68 placeholder 2021-07-22 11:52:20 -07:00
James Sturtevant 7145fb89d6 address feedback 2021-07-22 11:12:20 -07:00
Rui Chen dfd2edc70c zh: sync concepts/cluster-administration/addons.md
Signed-off-by: Rui Chen <rui@chenrui.dev>
2021-07-22 14:01:45 -04:00
Kubernetes Prow Robot 0ef4ca477a Merge pull request #29077 from mabis/patch-1
Fixing 2 typos on index.md
2021-07-22 10:37:52 -07:00
able.lv 9c61f34abd fix an empty prerequisites 2021-07-22 22:21:28 +08:00
Kubernetes Prow Robot 0d3ee7d869 Merge pull request #29073 from able8/fix-a-code-block-format-in-expose-intro.html
Fix a code block format in expose-intro.html
2021-07-22 07:05:52 -07:00
Ritikaa96 cee22da0c3 updating cilium network policy docs 2021-07-22 19:34:39 +05:30
ravisantoshgudimetla 2dff66611f Add minReadySeconds to statefulsets 2021-07-22 09:40:51 -04:00
Kubernetes Prow Robot b690338f07 Merge pull request #29037 from mfilocha/pl-update-toml
Update Polish strings localization
2021-07-22 06:25:51 -07:00
Marco Abis 4cffdf8c57 Update index.md
just 2 small typos
2021-07-22 15:02:15 +02:00
Kubernetes Prow Robot f6cfb5e591 Merge pull request #28810 from Shubham82/Link-Embargo-Policy
Mention Security Embargo Policy.
2021-07-22 05:55:52 -07:00
Shubham Kuchhal 3d02876f69 Add Security-Embargo-Policy under Contact in Release Managers. 2021-07-22 18:14:08 +05:30
Kubernetes Prow Robot fd4bb39482 Merge pull request #29070 from NoicFank/patch-2
[zh] Fix an error link
2021-07-22 05:39:52 -07:00
Kubernetes Prow Robot be5f25eade Merge pull request #27891 from fromanirh/cpumanager-policy-options
cpumanager: document cpu manager policy options
2021-07-22 05:15:51 -07:00
Kubernetes Prow Robot 11ca5f06dc Merge pull request #28530 from Shubham82/Add-MongoDB-yamls
Add MongoDB deployment and service.
2021-07-22 05:05:51 -07:00
able.lv d439e57224 Fix a code block format in expose-intro.html 2021-07-22 19:40:05 +08:00
Kubernetes Prow Robot f466d7f27d Merge pull request #28565 from Shubham82/runtimeClass-docs
Improvement: Runtime Class
2021-07-22 03:17:52 -07:00
Kubernetes Prow Robot 4c52c1b763 Merge pull request #28946 from chenxuc/reviewer
add chenxuc to sig-docs-zh-reviews
2021-07-22 03:13:52 -07:00
Kubernetes Prow Robot cd66d836ee Merge pull request #29072 from wiktor-k/patch-1
Fix secret name to be consistent with examples
2021-07-22 03:09:52 -07:00
Kubernetes Prow Robot d3fd592447 Merge pull request #28948 from jihoon-seo/210715_Add_jihoon-seo_as_sig-docs-ko-reviews
Add jihoon-seo to sig-docs-ko-reviews
2021-07-22 03:07:52 -07:00
Kubernetes Prow Robot 30e5eeb862 Merge pull request #29068 from Shubham82/Update_link-debian-base
Fix link for debian-base.
2021-07-22 02:59:51 -07:00
Francesco Romani 2946586e77 Update content/en/docs/reference/command-line-tools-reference/kubelet.md
Co-authored-by: Danielle <dani@builds.terrible.systems>
2021-07-22 11:45:47 +02:00
Wiktor Kwapisiewicz e8b498ee14 Fix secret name to be consistent with examples 2021-07-22 10:58:47 +02:00
Kubernetes Prow Robot f92e3ec2ba Merge pull request #28903 from sejr/feat/podsecurity
Add Pod Security Standards documentation
2021-07-22 01:57:52 -07:00
Kubernetes Prow Robot 1454c2abf0 Merge pull request #29002 from Arhell/update
[zh] Operator: Exists missing
2021-07-22 00:33:51 -07:00
NoicFank c2b7ee8bfe [zh] Fix an error link
The hyperlink of 'DNS 子域名' is missing a '/', which leads to a404 error
2021-07-22 14:37:42 +08:00
Shubham Kuchhal bd39651298 Fix link for debian-base. 2021-07-22 11:20:55 +05:30
Kubernetes Prow Robot b017081952 Merge pull request #28319 from ravisantoshgudimetla/maxSurge-beta
Introduce maxSurge as beta feature for DaemonSets
2021-07-21 21:57:51 -07:00
Kubernetes Prow Robot 52bc988bb2 Merge pull request #29061 from able8/zh-fix-an-error-link
[zh] Fix an error link
2021-07-21 21:47:51 -07:00
Kubernetes Prow Robot 9c5d9e55f1 Merge pull request #29051 from sfxworks/patch-1
kubeadm-install: include env variable for ARCH
2021-07-21 19:33:51 -07:00
rahdeck c80e5640da Lowercase one of the memory suffixes
Upper case 'K' suffix for memory results in an invalid request.
2021-07-22 10:43:37 +10:00
Kubernetes Prow Robot 528a65c634 Merge pull request #29053 from mengjiao-liu/sync-node-pressure-eviction
[zh] sync scheduling-eviction node-pressure-eviction file
2021-07-21 17:31:50 -07:00
Monis Khan f2b27507bd Update CSR docs with expirationSeconds field details
Signed-off-by: Monis Khan <mok@vmware.com>
2021-07-21 16:59:02 -04:00
Samuel Walker 79684f8771 Update content/en/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md
Co-authored-by: Lubomir I. Ivanov <neolit123@gmail.com>
2021-07-21 16:31:48 -04:00
Monis Khan 9329467e6e Complete details regarding CSR garbage collection
Signed-off-by: Monis Khan <mok@vmware.com>
2021-07-21 16:04:24 -04:00
Samuel Walker 5c2ef8054c Update content/en/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md
Co-authored-by: Lubomir I. Ivanov <neolit123@gmail.com>
2021-07-21 15:34:32 -04:00
Samuel Walker bed9e2c5d6 Update content/en/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md
Co-authored-by: Lubomir I. Ivanov <neolit123@gmail.com>
2021-07-21 15:34:27 -04:00
Maciej Filocha 44ed2f78ca Update Polish strings localization
Update up to 027eb249af.

Co-authored-by: Karol Pucyński <9209870+kpucynski@users.noreply.github.com>
2021-07-21 20:59:02 +02:00
Kubernetes Prow Robot 297ef84338 Merge pull request #28882 from jiahuif/feature/leader-migration/to-beta
KEP-2436 Leader Migration: to beta
2021-07-21 11:31:51 -07:00
able.lv 3f6b8a17e3 zh fix an error link 2021-07-22 00:33:54 +08:00
ravisantoshgudimetla 06599a6259 Make maxSurge as beta feature for DaemonSets
kubernetes/kubernetes#101742 merged which made this feature beta.
This is the companion docs PR for kubernetes/enhancements#2665

Co-authored-by: Karen Bradshaw <kbhawkey@gmail.com>
2021-07-21 12:20:20 -04:00
Samuel Roth e0d4b53b1c incorporating initial round of feedback 2021-07-21 15:33:46 +00:00
Francesco Romani a376a29d7e cpumanager: document cpu manager static policy options
The enhancement https://github.com/kubernetes/enhancements/issues/2625
want to add a new kubelet option to fine tune the behaviour of the
cpu manager policies, and to do so we add support for cpu manager policy
options themselves.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2021-07-21 16:25:19 +02:00
Kubernetes Prow Robot b5a718a9a6 Merge pull request #29047 from benja-wu/ingress
[ingresscontroller] Add Easegress IngressController
2021-07-21 07:18:08 -07:00
Kubernetes Prow Robot 9aced1d40a Merge pull request #29043 from Arhell/deamonset
[es] Operator: Exists missing
2021-07-21 07:14:08 -07:00
benjaminwu 54f69ca1f8 [ingresscontroller] Add Easegress IngressController 2021-07-21 22:08:23 +08:00
Kubernetes Prow Robot 2007c90673 Merge pull request #28869 from verult/fsgroup-to-csi
Documentation for delegating FSGroup change to CSI driver
2021-07-21 07:04:08 -07:00
Kubernetes Prow Robot 1a7b4a5e2f Merge pull request #26664 from bart0sh/PR0004-multisize-hugepages-GA
Graduate multiple sizes huge pages to GA
2021-07-21 06:58:08 -07:00
Kubernetes Prow Robot a783e90ba3 Merge pull request #28914 from marosset/csi-proxy-stable
Doc updates for promoting csi plugins on windows to stable
2021-07-21 06:56:08 -07:00
Kubernetes Prow Robot 83f6cb6ed4 Merge pull request #28429 from ankeesler/exec-credential-v1
exec credential provider: v1 documentation
2021-07-21 06:54:07 -07:00
Kubernetes Prow Robot 793c66fffc Merge pull request #28474 from SergeyKanzhelev/deprecateDynamicKubeletConfig
deprecation of DynamicKubeletConfig feature flag
2021-07-21 06:52:08 -07:00
Kubernetes Prow Robot 1ed3af476b Merge pull request #29017 from marosset/windows-os-versions-1.22
Updating Supported Windows OS versions for 1.22
2021-07-21 06:36:08 -07:00
Kubernetes Prow Robot 2ea3958f41 Merge pull request #28980 from alculquicondor/indexed-job
Add details about using the Job completion index
2021-07-21 06:34:08 -07:00
Kubernetes Prow Robot 9021c7470f Merge pull request #29024 from chhanz/ko-29005-2
[ko] Translate /docs/tasks/configmap-secret/ into Korean
2021-07-21 05:40:08 -07:00
Kubernetes Prow Robot e632f8fb9c Merge pull request #29038 from enj/enj/i/sa_oidc_binding
Fix note about SA OIDC discovery doc default binding
2021-07-21 04:36:07 -07:00
Kubernetes Prow Robot c40c3f500d Merge pull request #29052 from hide-in-code/patch-1
Update _index.md
2021-07-21 02:44:07 -07:00
Mengjiao Liu e683359a2d [zh] sync scheduling-eviction node-pressure-eviction file 2021-07-21 16:46:57 +08:00
JinlongHe e76f7a72cb Update _index.md
修改教程标题
2021-07-21 16:40:08 +08:00
Kubernetes Prow Robot 7623013796 Merge pull request #29031 from able8/fix-some-typos
[zh] Fix some typos
2021-07-21 01:16:07 -07:00
Kubernetes Prow Robot 23aafddd82 Merge pull request #28952 from keashem/patch-1
Fix a translation error
2021-07-21 01:14:07 -07:00
chhanz 59b4b7f494 Translate /docs/tasks/configmap-secret/ into Korean
Translate /docs/tasks/configmap-secret/ into Korean - fix ver 2
2021-07-21 16:30:27 +09:00
Kubernetes Prow Robot 0a3c4c98dc Merge pull request #29014 from Shubham82/Add-Note-PSP_deprecated
Add Note for deprecated PodSecurityPolicy.
2021-07-20 23:04:07 -07:00
Kubernetes Prow Robot 00cb19d3f9 Merge pull request #29050 from hide-in-code/patch-2
Update guestbook.md
2021-07-20 22:58:07 -07:00
Samuel Walker be30472ac0 Env for Architecture
Supports multiple architectures for the "Without a Package Manager" step such as arm64. Useful in Arch + ARM's scenario as kubeadm pacman repo is currently not maintained for ARM.
2021-07-21 01:40:15 -04:00
JinlongHe 77067866e2 Update guestbook.md
修正 “PHP 留言板应用程序” 教程中错误的描述
2021-07-21 13:38:09 +08:00
Kubernetes Prow Robot 6f1ecf9855 Merge pull request #29028 from mengjiao-liu/sync-kube-controller-manager
[zh] sync glossary  kube-controller-manager
2021-07-20 21:06:07 -07:00
Mengjiao Liu 98b355fa2b [zh] sync glossary kube-controller-manager 2021-07-21 11:36:32 +08:00
Kubernetes Prow Robot 98150e6f37 Merge pull request #28838 from ehashman/swap-docs
KEP-2400: Alpha node support for swap memory
2021-07-20 18:14:07 -07:00
Kubernetes Prow Robot 7f732fcb01 Merge pull request #28923 from kaushambisharma/branch
removing dup images
2021-07-20 15:09:26 -07:00
Arhell 6d273bda2f [es] Operator: Exists missing 2021-07-21 00:52:41 +03:00
Monis Khan 0d57c5dffa Fix note about SA OIDC discovery doc default binding
Added in v1.19: https://pr.k8s.io/88344

Signed-off-by: Monis Khan <mok@vmware.com>
2021-07-20 17:19:54 -04:00
Monis Khan 27e5f9fedc Complete details regarding CSR garbage collection
Signed-off-by: Monis Khan <mok@vmware.com>
2021-07-20 17:15:41 -04:00
Aldo Culquicondor d415f62dd2 Fix feature state for Scheduling Framework
It was declared GA in 1.19
https://github.com/kubernetes/enhancements/blob/master/keps/sig-scheduling/624-scheduling-framework/kep.yaml
2021-07-20 16:45:55 -04:00
Elana Hashman 429638be6a Add swap memory to node documentation 2021-07-20 11:18:42 -07:00
Elana Hashman 3f0103cd26 Update beta status for 1.22 probe-level grace periods 2021-07-20 11:09:36 -07:00
Kubernetes Prow Robot 027eb249af Merge pull request #29033 from jeremyrickard/correct-holiday-language
Change wording around end of year holidays
2021-07-20 09:39:32 -07:00
Jeremy bff0e68efa Change wording around end of year holidays
Signed-off-by: Jeremy <jeremyrrickard@gmail.com>
2021-07-20 10:13:51 -06:00
able.lv 875cb1a3d7 fix typos ja 2021-07-20 23:27:07 +08:00
able.lv 8ff3213727 fix some typos 2021-07-20 21:14:36 +08:00
sgpinkus 05a45db49c Update _index.md
"Understand the basics" to "Understand Kubernetes". There is no place in the entire docs really to go "Understand the *non* basics". There is one section "Concepts" for better or worse. Don't give the impression there is something else somewhere else. And anyway, this section should aspire to be that cardinal. Also change name of weird button to "Learn" -> "View" to make it clear this is just a link to a section of the documentation.
2021-07-20 21:47:16 +10:00
Jihoon Seo cbc3d89fef [ko] Translate node-pressure-eviction.md 2021-07-20 16:46:16 +09:00
Mark Rossetti 98ccb8e012 updating csi-proxy details inintro-windows-in-kubernetes.md
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2021-07-19 21:46:15 -07:00
Arhell e8340128d9 [ja] Operator: Exists missing 2021-07-20 00:51:54 +03:00
Kubernetes Prow Robot cd25f73d73 Merge pull request #28912 from jeremyrickard/release-cadence-blog
Adding a blog to discuss release cadence change
2021-07-19 14:34:53 -07:00
Cheng Xing ac68a21c9a Documentation for delegating FSGroup change to CSI driver 2021-07-19 14:28:07 -07:00
Jeremy d405225415 Change date for blog post
Signed-off-by: Jeremy <jeremyrrickard@gmail.com>
2021-07-19 14:08:14 -06:00
Indeed e4505847a6 fix typo. 2021-07-19 12:44:37 -07:00
Indeed b7a4d76be5 match Leader Migration beta implementation. 2021-07-19 12:44:37 -07:00
Sam Wheating 51c621a6ba Fixing improper sentence in HPA documentation 2021-07-19 10:07:51 -07:00
Mark Rossetti a3d3370322 Updaing Supported Windows OS versions for 1.22
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2021-07-19 09:42:57 -07:00
Kubernetes Prow Robot e71a7ffcae Merge pull request #28971 from cpanato/update-patch
releases: update patch release to August cycle
2021-07-19 08:52:52 -07:00
Kubernetes Prow Robot 44bdc8767f Merge pull request #28987 from edsoncelio/pt_br_update_contributor_pages
[PT-BR] Translate and update contributor pages
2021-07-19 04:52:51 -07:00
edsoncelio f4a8ecf31d fix: fix typos request by review 2021-07-19 08:44:32 -03:00
Shubham Kuchhal 782e6264de Add Note for deprecated PodSecurityPolicy. 2021-07-19 16:56:08 +05:30
Claudia J. Kang 5b988bd661 [ko] Translate docs/tasks/administer-cluster/enable-disable-api.md 2021-07-19 20:22:55 +09:00
kartik494 4270ece858 Modify documentation for stable storage 2021-07-19 15:56:27 +05:30
Ed Bartosh 7a0f9bc01e Graduate multiple sizes huge pages to GA
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2021-07-19 12:51:19 +03:00
basanaguk c8841ce552 29008: Quick grammatical correction 2021-07-19 08:56:50 +00:00
S Nitesh Singh b1fa203e3a fixing the huge white space in sidebar 2021-07-19 11:13:18 +05:30
Kubernetes Prow Robot 470af7fdee Merge pull request #28997 from Arhell/operator
[id] Operator: Exists missing
2021-07-18 19:24:51 -07:00
Kubernetes Prow Robot 4359612f85 Merge pull request #27664 from tengqm/zh-copy-relnotes
[zh] Update release notes
2021-07-18 15:42:51 -07:00
Kubernetes Prow Robot b6f952a00b Merge pull request #28262 from tengqm/fix-28245
[zh] Fix ccm glossary
2021-07-18 15:40:52 -07:00
Arhell 40b183cea3 [zh] Operator: Exists missing 2021-07-19 00:40:45 +03:00
Arhell cabea71972 [id] Operator: Exists missing 2021-07-18 12:36:34 +03:00
Kubernetes Prow Robot 909916aecf Merge pull request #28700 from eatjeff/2021063001
modify kubernetes spelling error
2021-07-18 00:10:50 -07:00
jaron 5f4a3fff9e Update connecting-frontend-backend.md
```
Error from server (NotFound): deployments.apps "hello" not found
```
chang hello to backend

```
Name:                   backend
Namespace:              default
CreationTimestamp:      Sun, 18 Jul 2021 07:33:39 +0800
Labels:                 <none>
```
2021-07-18 07:45:48 +08:00
edsoncelio 30c671fdc7 feat: fix new lines 2021-07-17 14:01:11 -03:00
edsoncelio 6493a185ff feat: add analytics page translation 2021-07-17 13:57:43 -03:00
edsoncelio b0a27053d2 feat: fix typos 2021-07-17 13:50:52 -03:00
edsoncelio 3dd33ef107 feat: add contribute index translation update 2021-07-17 13:48:55 -03:00
Kubernetes Prow Robot 0ca94eebab Merge pull request #28984 from chirangaalwis/patch-1
[NetworkPolicy][EndPort] Fix incorrect grammar of the valid range of `endPort` property
2021-07-17 05:38:50 -07:00
chirangaalwis 46987cf0e9 [NetworkPolicy][EndPort] Fix incorrect grammar
Fix incorrect grammar of the valid range of `endPort` property
2021-07-17 13:42:22 +05:30
Kubernetes Prow Robot 5f8fdc6abb Merge pull request #28797 from jihoon-seo/210705_Update_links
Update links
2021-07-16 20:12:50 -07:00
xiaoxubeii f21eaae616 Add feature gates description for MemoryQoS. 2021-07-17 10:36:25 +08:00
Jeremy d77ab6d2b9 Review feedback
Signed-off-by: Jeremy <jeremyrrickard@gmail.com>
2021-07-16 13:56:10 -06:00
Jeremy Rickard 85d8b843d3 Update content/en/blog/_posts/2021-07-12-Kubernetes-Release-Cadence/index.md
Co-authored-by: Sascha Grunert <sgrunert@redhat.com>
2021-07-16 13:55:09 -06:00
Jeremy Rickard bef5681585 Update content/en/blog/_posts/2021-07-12-Kubernetes-Release-Cadence/index.md
Co-authored-by: Sascha Grunert <sgrunert@redhat.com>
2021-07-16 13:34:31 -06:00
Jeremy Rickard 7095fcce17 Update content/en/blog/_posts/2021-07-12-Kubernetes-Release-Cadence/index.md
Co-authored-by: Sascha Grunert <sgrunert@redhat.com>
2021-07-16 13:34:16 -06:00
Jeremy Rickard da677ad55d Update content/en/blog/_posts/2021-07-12-Kubernetes-Release-Cadence/index.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-07-16 13:33:05 -06:00
Aldo Culquicondor d6b142070d Add details about using the Job completion index 2021-07-16 15:01:43 -04:00
Wesley Williams 723b94de50 Clarify that burstable pods also have their limit enforced by CFS quota 2021-07-16 18:10:38 +01:00
aliakbar 85cc70b333 Add explanations for control-plane pods restart after certificate renewal 2021-07-16 21:08:38 +04:30
Kubernetes Prow Robot cc9011a42c Merge pull request #28953 from howieyuen/taint
[zh] optimise translation of taint-and-toleration.md
2021-07-16 06:10:09 -07:00
Kubernetes Prow Robot 23c6fea4c1 Merge pull request #28961 from anubha-v-ardhan/28960
Grammatical Mistake in kubernetes.io/community/
2021-07-16 02:02:10 -07:00
Arhell 4d77af2dc4 [ja] Updating --cascade as false is deprecated on Kubectl 1.21 2021-07-16 11:48:02 +03:00
Kubernetes Prow Robot b03eb840b1 Merge pull request #28972 from saschagrunert/consistency
Capitalize non active branch history headers
2021-07-16 01:14:10 -07:00
Sascha Grunert f91fa01d10 Capitalize non active branch history headers
We uppercase all other headings so we should do it for this table as
well for consistency reasons.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-07-16 10:09:20 +02:00
Carlos Panato d4c540fb31 releases: update patch release to August cycle
Signed-off-by: Carlos Panato <ctadeu@gmail.com>
2021-07-16 10:01:05 +02:00
Kubernetes Prow Robot bcdbf80e70 Merge pull request #28933 from t-inu/add-desc-1
[ja] Add description and modify title in docs/concepts/overview/working-with-objects/_index.md
2021-07-15 19:06:08 -07:00
James Sturtevant fe7771aeac Remove annotation for Experimental Windows Hyper-v
removed in 1.21: https://github.com/kubernetes/kubernetes/pull/95505
2021-07-15 09:07:47 -07:00
Kubernetes Prow Robot 2923e6ba56 Merge pull request #28841 from alculquicondor/job-tracking
Add feature gate JobTrackingWithFinalizers
2021-07-15 08:44:46 -07:00
Kubernetes Prow Robot 36df19e1d5 Merge pull request #28942 from ruffrey/patch-1
Fix incorrect mv command for kubectl-convert
2021-07-15 07:34:48 -07:00
Kubernetes Prow Robot 95bd61612d Merge pull request #28947 from kubernetes/dev-1.21-ko.6
[ko] 6th Korean localization work for v1.21
2021-07-15 07:16:48 -07:00
Aldo Culquicondor a6b6a976c3 Add feature gate JobTrackingWithFinalizers
and describe its behavior

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2021-07-15 10:03:13 -04:00
Anubhav Vardhan 0e06c4f6cd Update _index.html 2021-07-15 19:13:34 +05:30
Kubernetes Prow Robot 98cdc3685f Merge pull request #28957 from kahveci/patch-2
Fix inconsistent writing of "control plane"
2021-07-15 05:58:48 -07:00
Kubernetes Prow Robot 2ba49ba415 Merge pull request #28406 from sftim/20210614_tweak_readiness_probe_explanation
Revise explanation for when to use readiness probes
2021-07-15 05:20:48 -07:00
Sinan Kahveci 9693458ae2 Fix inconsistent usage of term
The term "control plane" is written as title case (e.g. Control Plane) only in this document. When it is referenced, it creates inconsistency in other documents. This commit will fix it by lower-casing the second word.
2021-07-15 12:55:09 +01:00
Kubernetes Prow Robot 2c5fabeeaf Merge pull request #28956 from kahveci/patch-1
Fix Missing Punctuation
2021-07-15 04:34:48 -07:00
Kubernetes Prow Robot 50cb3d3441 Merge pull request #28940 from yxxhero/main
fix incorrect field name in event API deprecation guide
2021-07-15 04:30:48 -07:00
Kubernetes Prow Robot b158496435 Merge pull request #28913 from Arhell/fixes
[zh] Fixed variable substitution
2021-07-15 04:26:48 -07:00
Sinan Kahveci 25de96863d Fix Missing Punctuation
This change will fix the missing punctuation in the first paragraph.
2021-07-15 11:53:52 +01:00
yxxhero 9d0d213814 fix incorrect field name in event API deprecation guide
Signed-off-by: yxxhero <aiopsclub@163.com>
2021-07-15 18:12:28 +08:00
Jihoon Seo 131632c58e Add jihoon-seo to sig-docs-ko-reviews 2021-07-15 19:06:02 +09:00
Kubernetes Prow Robot 1b90286094 Merge pull request #28950 from yuswift/fix_ko_wrong_number
[ko] fix ko wrong numbered list
2021-07-15 02:50:48 -07:00
Kubernetes Prow Robot f3b0b30840 Merge pull request #28945 from Arhell/feature
[ja] Updated TTLAfterFinished feature reference
2021-07-15 02:28:48 -07:00
howieyuen 7146318713 [zh] optimise translation of taint-and-toleration.md 2021-07-15 16:54:31 +08:00
keashem 484dc86ddf Fix a translation error
the english version is :"no pods without the toleration will schedule on them",the Chinese translation in kubernetes documents is :“没有对应容忍度的 Pod会被调度到这些节点”,Here the translation omits the keyword "no",it should be translated into Chinese:“没有对应容忍度的 Pod不会被调度到这些节点”。
2021-07-15 15:53:34 +08:00
yuswift 0473573924 fix ko wrong numbered list
Signed-off-by: yuswift <yuswift2018@gmail.com>
2021-07-15 15:21:45 +08:00
Kubernetes Prow Robot 6e9e8b2b2d Merge pull request #28493 from sftim/20210619_remove_orphaned_page_french_localization
Remove orphaned page from French localization
2021-07-15 00:00:48 -07:00
chenxuc 0609536064 add chenxuc to sig-docs-zh-reviews 2021-07-15 13:21:22 +08:00
Kubernetes Prow Robot e5cb74ba69 Merge pull request #28857 from howieyuen/analytics
[zh] translate analytics.md in contribute section
2021-07-14 20:50:48 -07:00
Kubernetes Prow Robot f8ee06c41f Merge pull request #28814 from sftim/20210706_fix_id_localization_guide_links
Fix outdated / incorrect links in bahasa Indonesia localization guide
2021-07-14 18:30:48 -07:00
Kubernetes Prow Robot 506ee6ff68 Merge pull request #28876 from tengqm/kubeadm-config-ref
Kubeadm config reference
2021-07-14 18:12:48 -07:00
Arhell fcdb99341c [ja] Updated TTLAfterFinished feature reference 2021-07-15 02:53:24 +03:00
ruffrey f65f046cb5 Fix incorrect mv command for kubectl-convert
Looks like the `mv` installation command for `kubectl-convert` had been copied from `kubectl` install, but not fully changed
2021-07-14 09:45:25 -07:00
Kubernetes Prow Robot fa8b7be065 Merge pull request #28648 from Arhell/operator
[ja] Adds COF to the list of operators frameworks
2021-07-14 09:02:28 -07:00
Kubernetes Prow Robot 91f9871225 Merge pull request #28752 from jihoon-seo/210702_ja_Update_Netlify_link_address
[ja] Update Netlify link address
2021-07-14 08:58:28 -07:00
Kubernetes Prow Robot e14fd8eccc Merge pull request #28634 from Arhell/upd
[ja] Modified the output when retrieving Secrets
2021-07-14 08:56:27 -07:00
Kubernetes Prow Robot 020dbf091f Merge pull request #28665 from ariesliuwei/arieslw
modify spelling mistakes in user guide
2021-07-14 08:54:27 -07:00
Kubernetes Prow Robot d5c7714da9 Merge pull request #28927 from translucens/translucens/issue28925
remove duplicated sentence
2021-07-14 08:40:29 -07:00
Kunal Kushwaha 397edb91f7 Add Sig-Usability-Spotlight Blog (#27809)
* Add Sig-Usability-Spotlight Blog

* change date
2021-07-14 06:56:27 -07:00
Kubernetes Prow Robot b536f0d214 Merge pull request #28932 from onlydole/api-removal-feedback
Clarify v1beta1 API webhook behavior in Kubernetes 1.22
2021-07-14 04:16:27 -07:00
Kubernetes Prow Robot 757298d1d6 Merge pull request #28915 from chenxuc/new-zh-rule
[zh]Add a new rule and fix format
2021-07-14 01:18:27 -07:00
Nitesh Seram 2c360ea3c6 fixing redirect and chnaging some links in blog
fixing redirects

Fixing few redirects

changing few redirects and links

fixing redirect

Update content/en/blog/_posts/2016-08-00-Kubernetes-Namespaces-Use-Cases-Insights.md

Co-authored-by: Jihoon Seo <46767780+jihoon-seo@users.noreply.github.com>

Update content/en/blog/_posts/2016-12-00-Statefulset-Run-Scale-Stateful-Applications-In-Kubernetes.md

Co-authored-by: Jihoon Seo <46767780+jihoon-seo@users.noreply.github.com>

Update content/en/blog/_posts/2016-12-00-Statefulset-Run-Scale-Stateful-Applications-In-Kubernetes.md

Co-authored-by: Jihoon Seo <46767780+jihoon-seo@users.noreply.github.com>
2021-07-14 12:35:18 +05:30
Kubernetes Prow Robot d7e735710f Merge pull request #28906 from seokho-son/fix-outd-1.21-ko.6
[ko] Update outdated files in dev-1.21-ko.6 (p1)
2021-07-13 23:02:26 -07:00
Anubhav Vardhan 436d3fe8c4 Update content/en/docs/tasks/administer-cluster/highly-available-control-plane.md
Co-authored-by: chrismetz09 <cymetz@gmail.com>
2021-07-14 08:48:53 +05:30
seokho-son 30c6cec1ba Update outdated files in dev-1.21-ko.6 (p1) 2021-07-14 11:50:00 +09:00
Taylor Dolezal d59c77f647 Clarify v1beta1 API webhook behavior in 1.22 2021-07-13 18:53:44 -07:00
Kubernetes Prow Robot 2c02aeb43a Merge pull request #28931 from sftim/20210713_revise_kubernetes_1.21_api_removals_article
Revise API removal article
2021-07-13 18:40:27 -07:00
Toshiaki Inukai 9296fc4ff0 Add description and modify title 2021-07-14 01:36:20 +00:00
Tim Bannister 7aa360d29f Revise API removal article 2021-07-13 23:41:05 +01:00
James Strong 442a1bf172 rename 2021-07-13 17:03:00 -04:00
Shannon Kularathna b1573ad314 Create garbage collection docs 2021-07-13 20:32:50 +00:00
Kubernetes Prow Robot 0732592a13 Merge pull request #28694 from sftim/20210629_announce_kubernetes_1.21_api_removals
Add article about upcoming Kubernetes API removals
2021-07-13 12:32:01 -07:00
Kubernetes Prow Robot 542118b8f4 Merge pull request #28522 from jimangel/clean-up-reviewers
Cleaning up OWNERS_ALIASES file
2021-07-13 11:12:31 -07:00
James Strong b0a48af6f7 update for a draft and dates 2021-07-13 13:17:32 -04:00
Soichiro KAWAMURA c994376007 remove duplicated sentence 2021-07-14 01:30:31 +09:00
Andrew Keesler a30e63dcd6 exec credential provider: v1 documentation
Signed-off-by: Andrew Keesler <akeesler@vmware.com>
2021-07-13 10:47:14 -04:00
Kubernetes Prow Robot 1cee24265b Merge pull request #28922 from chenxuc/link-cluster-upgrade
[zh]sync with en to fix broken links
2021-07-13 07:32:29 -07:00
kaushambisharma f522a71e5e removing dup images
Signed-off-by: kaushambisharma <sharma.kaushambi@gmail.com>
2021-07-13 18:53:02 +05:30
chenxuc 7790ca7dc3 [zh]sync with en to fix broken links 2021-07-13 21:06:22 +08:00
Kubernetes Prow Robot 2934244ebf Merge pull request #28920 from anubha-v-ardhan/28689
Typo in frensh Statefulset documentation
2021-07-13 05:42:29 -07:00
Anubhav Vardhan 63d1cec41e Update statefulset.md 2021-07-13 16:09:52 +05:30
Kubernetes Prow Robot 4f104d6355 Merge pull request #28891 from Arhell/add-operator
[ja] Adding shell-operator as another way to create operators
2021-07-13 03:12:29 -07:00
Chris Negus 96d89ba3f4 Added examples of Lists to api-concepts (#28608)
* Added List descriptions to api-concepts

* Corrected note and example per comments
2021-07-13 02:04:31 -07:00
Tim Bannister a9d9e81460 Add article about upcoming Kubernetes API removals
Co-Authored-By: Sivakrishna Kilari <skrishna.unix@gmail.com>
Co-authored-by: Sandro Cirulli <sandro@scalefactory.com>
2021-07-13 09:28:39 +01:00
Kubernetes Prow Robot 137690980d Merge pull request #28264 from tengqm/fix-28249
[zh] Fix and resync RBAC
2021-07-13 00:48:30 -07:00
Qiming Teng e9730d3e95 Switch kube-scheduler config to v1beta2 2021-07-13 14:16:44 +08:00
chenxuc 875b67c219 [zh]Add a new rule and fix format 2021-07-13 11:34:15 +08:00
Kubernetes Prow Robot 286c1b1b72 Merge pull request #28731 from chenxuc/move-page-ja
[ja]move HostAliases page to tasks
2021-07-12 18:48:29 -07:00
Arhell 2616547b98 [zh] Fixed variable substitution 2021-07-13 01:13:31 +03:00
Kubernetes Prow Robot 670116cc39 Merge pull request #28740 from bhumijgupta/add-kubectl-check-info
Add kubectl-convert plugin installation info
2021-07-12 14:29:42 -07:00
Margo Crawford d77368133a Add Impersonate-Uid description to Authentication docs page.
This change goes with https://github.com/kubernetes/kubernetes/pull/99961
in the Kubernetes repo.
2021-07-12 13:17:42 -07:00
Kubernetes Prow Robot a1fd3a2d57 Merge pull request #28839 from alculquicondor/scheduler_config
Update plugin names and deprecations for scheduler config
2021-07-12 11:09:42 -07:00
Jeremy 9f501d0f73 Adding a blog to discuss release cadence change 2021-07-12 08:56:43 -06:00
Adhityaa Chandrasekar daa31064f3 SuspendJob: graduate to beta
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2021-07-12 13:35:32 +00:00
Samuel Roth 46fe3d043c Merge branch 'dev-1.22' into feat/podsecurity 2021-07-12 09:00:40 -04:00
Samuel Roth 37dd90d81a feature: Pod Security Standards documentation 2021-07-12 12:53:36 +00:00
Kubernetes Prow Robot b4864367c5 Merge pull request #28796 from jihoon-seo/210705_Update_outdated_files_2
[ko] Update outdated files in dev-1.21-ko.6 (p3)
2021-07-12 05:18:47 -07:00
Kubernetes Prow Robot 0e43a37046 Merge pull request #28907 from llhuii/fix-beta-summary-of-api-overview
[zh] fix the beta summary indentation in using-api
2021-07-12 04:36:47 -07:00
Kubernetes Prow Robot 4d991d52f4 Merge pull request #28901 from meysam81/patch-1
Update the link to cloud interface 📝
2021-07-12 03:32:47 -07:00
llhuii fdcc9de6fe [zh] fix the beta summary indentation in using-api 2021-07-12 18:03:56 +08:00
Kubernetes Prow Robot 11a343a2c5 Merge pull request #28883 from chrisnegus/merged-main-dev-1.22
Merged main dev-1.22 to keep in sync
2021-07-12 01:48:47 -07:00
Jihoon Seo 9fedbf68ea [ko] Update outdated files in dev-1.21-ko.6 (p3) 2021-07-12 16:59:46 +09:00
Kubernetes Prow Robot dc8bfd3cbb Merge pull request #28794 from jihoon-seo/210705_Update_outdated_files
[ko] Update outdated files in dev-1.21-ko.6 (p2)
2021-07-12 00:36:47 -07:00
Kubernetes Prow Robot 8783a78004 Merge pull request #28904 from Arhell/typo
[ru] Fixed variable substitution typo
2021-07-11 22:48:46 -07:00
Kubernetes Prow Robot bdcd2f373e Merge pull request #28453 from yJunS/dev1
Add Dockershim Deprecation part
2021-07-11 19:28:47 -07:00
Arhell 2c9ebb38f2 [ru] Fixed variable substitution typo 2021-07-12 00:47:38 +03:00
Meysam 477383508c Update the link to cloud interface 📝 2021-07-11 22:45:06 +04:30
yJunS d2db54fbb7 Update some format questions 2021-07-11 21:47:49 +08:00
yJunS adf0e0f9ff Merge branch 'main' of https://github.com/kubernetes/website into dev1 2021-07-11 21:46:30 +08:00
Kubernetes Prow Robot cfca8c2f89 Merge pull request #28888 from chenxuc/localization_zh
[zh] fix typo and format
2021-07-11 05:18:46 -07:00
Kubernetes Prow Robot e9d3e72b74 Merge pull request #28893 from baijum/patch-3
Update link to the Helm project
2021-07-11 02:10:47 -07:00
Baiju Muthukadan 878194b52f Use correct terminology
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-07-11 11:13:57 +05:30
Baiju Muthukadan 64fe06a642 Use helm website link
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-07-11 11:13:00 +05:30
S Nitesh Singh eb902b9ba8 fixing tool lists 2021-07-11 11:01:07 +05:30
Baiju Muthukadan 94b1216dfd Update link to the Helm project
Signed-off-by: Baiju Muthukadan <baiju.m.mail@gmail.com>
2021-07-11 09:17:42 +05:30
Kubernetes Prow Robot 642732a98f Merge pull request #28615 from tengqm/fix-bottom-spacing
Remove extra horizontal line and spacing
2021-07-10 20:24:46 -07:00
Kubernetes Prow Robot 8e737b26da Merge pull request #27933 from toshokan/secrets-typo
[en] Fix secret -> secrets in titles
2021-07-10 18:34:46 -07:00
Arhell 571adf73bb [ja] Adding shell-operator as another way to create operators 2021-07-11 01:33:13 +03:00
chenxuc 14d3118a01 fix typo and format 2021-07-10 22:06:36 +08:00
Kubernetes Prow Robot d519007384 Merge pull request #28885 from Arhell/upd-title
[zh] Write Vixie in title case
2021-07-10 04:44:46 -07:00
Arhell 07627bd7d3 [zh] Write Vixie in title case 2021-07-10 12:16:47 +03:00
edsoncelio 7a0c7cae46 fix: fix typo in doc title 2021-07-09 22:52:21 -03:00
Christopher Negus 548ba073da Merge main into dev-1.22 to keep in sync 2021-07-09 18:19:13 +00:00
edsoncelio 9822c9a4da feat: add configmap-secret translation 2021-07-09 15:12:29 -03:00
Kubernetes Prow Robot 5d1384635e Merge pull request #27971 from rolfedh/issue#27843-blog-post-archetype
Proposed hugo archetype to fix issue #27843
2021-07-09 10:10:54 -07:00
Kubernetes Prow Robot 0606d22bae Merge pull request #28878 from astraw99/patch-1
Fix pending CSR delete time is 24 hours
2021-07-09 09:02:53 -07:00
Kubernetes Prow Robot 9946750ae2 Merge pull request #28818 from puerco/cp-deadline-0621
Modify release schedules to add cherry-pick deadlines for July '21
2021-07-09 08:26:53 -07:00
Kubernetes Prow Robot e13a8fbba0 Merge pull request #28871 from tengqm/kubeadm-config-1.21
Update kubeadm config reference for 1.21
2021-07-09 07:50:53 -07:00
Aldo Culquicondor a5c3c66fc9 Update plugin names and deprecations for scheduler config
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2021-07-09 10:15:45 -04:00
Kubernetes Prow Robot 041870e849 Merge pull request #28807 from chenxuc/kubelet-flag
remove deprecated kubelet flags
2021-07-09 06:14:53 -07:00
Kubernetes Prow Robot 45f69e5f7c Merge pull request #28785 from Arhell/typo
fix typo volumes.md
2021-07-09 06:12:54 -07:00
Kubernetes Prow Robot 7a85763a8e Merge pull request #28835 from DestyNova/patch-1
Make kubectl executable in non-root install docs
2021-07-09 05:08:53 -07:00
Qiming Teng 6c542e88c2 Update content/en/docs/setup/production-environment/tools/kubeadm/dual-stack-support.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-07-09 19:55:59 +08:00
Shubham Kuchhal a3b120928d Correct FQDN for DockerHub. 2021-07-09 17:02:58 +05:30
AStraw dd443f0238 Fix pending CSR deleted time is 24 hours
From the code, the `pendingExpiration  = 24 * time.Hour`, so the pending CSR deleted time is 24 hours.
2021-07-09 16:49:54 +08:00
Sascha Grunert 1134821af6 Add seccomp tutorial to index
This adds the seccomp tutorial page to the index side by side to
AppArmor.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-07-09 09:12:48 +02:00
Qiming Teng 6e6c1f8920 Redirect kubeadm config reference
Instead of redirecting users to the godoc site for kubeadm configuration options, we'd better point them to the generated reference.
2021-07-09 12:54:18 +08:00
Kubernetes Prow Robot 1fd7c9cbd3 Merge pull request #28856 from howieyuen/other-tool
[zh]translate tools in reference section
2021-07-08 19:56:53 -07:00
howieyuen 83e289d27f [zh]translate tools in reference section 2021-07-09 10:45:52 +08:00
Kubernetes Prow Robot 2b97646e39 Merge pull request #28816 from haardikdharma10/list-ControllerManagerLeaderMigration-feature-gate
List ControllerManagerLeaderMigration feature gate in feature gates page
2021-07-08 19:26:53 -07:00
Jihoon Seo 374bb0547a Update links (2) 2021-07-09 11:02:29 +09:00
Qiming Teng 0696f6181a Update kubeadm config reference for 1.21
The `v1beta3` version is a 1.22 thing, not 1.21 (main). This PR replaces the `v1beta3` version by `v1beta2`. A follow up PR will add the `v1beta3` to the `dev-1.22` branch.
2021-07-09 09:22:07 +08:00
Kubernetes Prow Robot 3f21885d6b Merge pull request #28657 from RA489/update_ha
Update highly-available-control-plane
2021-07-08 16:50:53 -07:00
André Martins e4615a2ffb tasks/network: add Cilium in dual-stack supported plugins
Update installation steps with the latest stable release.

Signed-off-by: André Martins <aanm90@gmail.com>
2021-07-09 01:37:00 +02:00
Kubernetes Prow Robot 3dcead4f68 Merge pull request #28819 from puerco/sig-release-leads-sync
Sync SIG Release leads OWNERS alias with auth source
2021-07-08 15:52:53 -07:00
Kubernetes Prow Robot 4b1df4d306 Merge pull request #28833 from azylinski/azylinski-operator-repetition
Update Operator pattern page, example section
2021-07-08 15:48:53 -07:00
Kubernetes Prow Robot 4c6a904242 Merge pull request #28360 from neolit123/1.22-add-v1beta3
kubeadm: use the new v1beta3 instead of v1beta2
2021-07-08 09:42:54 -07:00
Kubernetes Prow Robot fb7bdd52db Merge pull request #28852 from rayw000/fix-typo
Fix typo
2021-07-08 09:30:54 -07:00
Kubernetes Prow Robot e10ad9024a Merge pull request #28102 from damemi/log-scaledown-1.22
Update LogarithmicScaleDown featuregate docs
2021-07-08 08:04:54 -07:00
Kubernetes Prow Robot 993e3e9104 Merge pull request #28855 from howieyuen/kubelet-images-credential
[zh]translate kubelet-credential-provider.md
2021-07-08 07:14:53 -07:00
Kubernetes Prow Robot aa7acf8aea Merge pull request #28683 from tengqm/zh-sync-setup-1
[zh] Sync windows user guide
2021-07-08 07:08:53 -07:00
Kubernetes Prow Robot c56459a402 Merge pull request #28638 from tengqm/zh-sync-ref-7
[zh] Sync reference file (7)
2021-07-08 07:06:53 -07:00
Kubernetes Prow Robot fbc0bf209e Merge pull request #28775 from tengqm/kubeadm-config
Add reference doc for kubeadm config
2021-07-08 01:30:53 -07:00
Kubernetes Prow Robot 4976105f3a Merge pull request #28850 from anubha-v-ardhan/typo1
Fixed typo in node-pressure-eviction.md
2021-07-08 01:26:54 -07:00
howieyuen 74ac7a96f6 [zh] translate analytics.md in contribute section 2021-07-08 16:09:08 +08:00
howieyuen bb7066c46a [zh]translate kubelet-credential-provider.md 2021-07-08 16:00:00 +08:00
Ray caf5e53e72 Fix typo 2021-07-08 14:38:07 +08:00
Anubhav Vardhan 4a893a2cb3 Update node-pressure-eviction.md 2021-07-08 11:49:30 +05:30
Kubernetes Prow Robot 59843f7d49 Merge pull request #28845 from Arhell/upd-index
[ru] update meetup block
2021-07-07 22:54:54 -07:00
Kubernetes Prow Robot cb831d7c94 Merge pull request #28824 from dcoliversun/main
Fix markdown syntax error
2021-07-07 18:32:52 -07:00
Sergey Kanzhelev a4fbeb27dc deprecation of DynamicKubeletConfig feature flag 2021-07-08 00:11:52 +00:00
Arhell 865bb4612c [ru] update meetup block 2021-07-08 01:12:24 +03:00
Qiming Teng 2ba16150ec Add reference doc for kubeadm config
This reference is auto-generated from the upstream source using the
reference-docs/genref tool.
2021-07-07 22:17:28 +08:00
Oisín ad5afa3dfa Make kubectl executable in non-root install docs
Following the "if you do not have root access" installation docs for kubectl results in a "permission denied" error, so this change adds the appropriate chmod command to minimise confusion.
2021-07-07 14:00:33 +01:00
chenxuc 1542bedae4 improve example for kubelet config file 2021-07-07 20:31:41 +08:00
Artur Zylinski 81086664f1 Update Operator pattern page, example section
Remove "in more detail" repetition
2021-07-07 14:10:10 +02:00
Tim Bannister 081c5fa7aa Use correct original term for “feature gate”
Co-authored-by: Jihoon Seo <46767780+jihoon-seo@users.noreply.github.com>
2021-07-07 11:43:10 +01:00
Haardik Dharma 7e732774ca Update feature-gates.md 2021-07-07 15:47:35 +05:30
Kubernetes Prow Robot c4f7026b4e Merge pull request #28439 from marekhanus/hotfix/kubespray-ansible-link-fr
Update broken link to Ansible inventory in kubespray.md
2021-07-06 23:20:43 -07:00
Qian.Sun a879763872 fix markdown syntax error 2021-07-07 13:55:10 +08:00
Qian.Sun ee0f03c755 Fix markdown syntax error
*XX*+space = Italic
2021-07-07 10:41:31 +08:00
Kubernetes Prow Robot 3c7ed800d0 Merge pull request #28359 from neolit123/1.22-remove-docker-autodetection-notes
kubeadm: remove some Docker cgroup driver notes
2021-07-06 18:30:43 -07:00
Adolfo García Veytia (Puerco) 7202c68a9e Sync SIG Release leads with auth source
This commit syncs the `sig-release-leads` OWNERS alias with the
authoritative source in https://git.k8s.io/sig-release/OWNERS_ALIASES

Specifically, it adds cpanato and puerco to the leads alias.

Signed-off-by: Adolfo García Veytia (Puerco) <adolfo.garcia@uservers.net>
2021-07-06 19:28:31 -05:00
Adolfo García Veytia (Puerco) a2c3d64a1e Update automatic schedule for july 2021 releases
Signed-off-by: Adolfo García Veytia (Puerco) <adolfo.garcia@uservers.net>
2021-07-06 18:56:03 -05:00
Adolfo García Veytia (Puerco) e36837e3a3 Add CP deadlines for july 2021
Signed-off-by: Adolfo García Veytia (Puerco) <adolfo.garcia@uservers.net>
2021-07-06 18:43:10 -05:00
Lucas Servén Marín df71479a6e using-api/health-checks.md: use consistent casing
This commit updates two instances so that the casing of `HTTP` and `API` is consistent throughout the document.
2021-07-07 00:49:43 +02:00
Haardik Dharma 4222cb1b46 Update feature-gates.md 2021-07-07 03:55:24 +05:30
Kubernetes Prow Robot 61047b9fa9 Merge pull request #28770 from hanlins/lb-nodeport-beta
Update ServiceLBNodePortControl feature gate status
2021-07-06 13:40:20 -07:00
Lubomir I. Ivanov 3437d0185c kubeadm/init-join.md: add note about using "skipPhases" from config
Since 1.22 it will be possible to skip phases using the configuration
file. Add note about that in the relevant sections of the kubeadm
init and join reference pages.
2021-07-06 22:51:54 +03:00
Lubomir I. Ivanov f288fc6976 kubeadm/control-plane-flags: update the page to include general details
- Re-purpose the page to include more general details about
customizing components.
- Add details about using patches via the config API (v1.22 feature).
2021-07-06 22:51:54 +03:00
Tim Bannister 3de9fc63e4 Fix outdated / incorrect links 2021-07-06 19:14:51 +01:00
Kubernetes Prow Robot a64769c54f Merge pull request #28812 from Shubham82/Update-link-Service_Account_Signing_Key_Retrieval
Update link for "Service Account Signing Key Retrieval KEP"
2021-07-06 09:00:18 -07:00
Kubernetes Prow Robot 7f1385f8f8 Merge pull request #28656 from gaoguangze111/update-chinese-page-jsonpath
Update Chinese page jsonpath
2021-07-06 02:54:19 -07:00
Shubham Kuchhal 752122089d Update link for "Service Account Signing Key Retrieval KEP" 2021-07-06 15:06:14 +05:30
Kubernetes Prow Robot a909bd7a74 Merge pull request #28805 from YuvalAvra/remove-secrets-node-risk
Remove an outdated risk regarding node permissions over secrets
2021-07-06 01:22:18 -07:00
Kubernetes Prow Robot cb3728596f Merge pull request #28806 from alculquicondor/indexed-job-beta
Update release status of Indexed Job
2021-07-06 00:50:18 -07:00
chenxuc e284bf7d9d remove deprecated kubelet flags 2021-07-06 15:25:32 +08:00
Shubham Kuchhal f7c96a4c00 Mention Security Embargo Policy. 2021-07-06 12:54:30 +05:30
Qiming Teng 1fac17f532 Remove extra horizontal line and spacing 2021-07-06 14:51:44 +08:00
Kubernetes Prow Robot 792093b37c Merge pull request #28636 from rekcah78/update-home-fr
update kubecon events
2021-07-05 23:26:18 -07:00
Hanlin Shi 25265cff5e Update ServiceLBNodePortControl feature gate status
Signed-off-by: Hanlin Shi <shihanlin9@gmail.com>
2021-07-05 15:11:07 -07:00
Kubernetes Prow Robot d7da6f8af8 Merge pull request #28790 from t-inu/fix-typo-1
[ja] Fix typos in docs/contribute/review/for-approvers.md
2021-07-05 14:43:38 -07:00
Aldo Culquicondor 96783a8119 Update release status of Indexed Job
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2021-07-05 15:00:21 -04:00
Yuval Avrahami 338139971f Remove an outdated risk regarding secrets 2021-07-05 20:42:08 +03:00
Kubernetes Prow Robot 1d89bc1763 Merge pull request #28793 from krvaibhaw/main
ru: Fixed outdated Russian contents
2021-07-05 09:52:54 -07:00
Rishabh Bohra 59fd242de4 docs: Make word 'Client' inline with other references.
Signed-off-by: Rishabh Bohra <rishabhbohra01@gmail.com>
2021-07-05 18:22:31 +05:30
bhumijgupta 437e2a74f8 Add info to verify successfull installation and address other suggestions
Signed-off-by: bhumijgupta <bhumijgupta@gmail.com>
2021-07-05 17:15:04 +05:30
Ritikaa96 077f0ca38f correcting redis address in stateless-application guestbook document
Signed-off-by: Ritikaa96 <ritika@india.nec.com>
2021-07-05 16:47:30 +05:30
Jihoon Seo 20eea3b75b Update links 2021-07-05 18:31:09 +09:00
Kubernetes Prow Robot c146f271a3 Merge pull request #28764 from ialidzhikov/id/default-disk-kind
id: Fix default disk type for Azure
2021-07-05 02:08:54 -07:00
Kubernetes Prow Robot 134900b658 Merge pull request #28765 from ialidzhikov/ko/default-disk-kind
ko: Fix default disk type for Azure
2021-07-05 01:40:55 -07:00
Kubernetes Prow Robot 8b51854c67 Merge pull request #28644 from tengqm/update-feature-gates
Update feature gates for 1.22
2021-07-05 01:06:54 -07:00
Jihoon Seo 15b64da3dd [ko] Update outdated files in dev-1.21-ko.6 (p2) 2021-07-05 16:27:39 +09:00
Vaibhaw 81c92e134e ru: Fixed outdated Russian contents 2021-07-05 12:41:56 +05:30
Kubernetes Prow Robot 2ebbdd6a1e Merge pull request #28791 from niteshseram/dev-1.21-ko.6
ko: Fixing outdated Korean contents
2021-07-04 21:40:19 -07:00
Kubernetes Prow Robot 35d30bda8a Merge pull request #28789 from qhua948/fix-typo-adminnsion-controllers
Fixed up typo in extensible-admission-controllers.md
2021-07-04 21:10:19 -07:00
Nitesh Seram 85adb64d72 fix link issue 2021-07-05 08:56:43 +05:30
Toshiaki Inukai 9ab5a710e9 Fix typos 2021-07-05 00:42:54 +00:00
Edward Huang 0c5a2e06da Fixed up typo in extensible-admission-controllers.md 2021-07-05 11:41:11 +12:00
Kubernetes Prow Robot 4809013f75 Merge pull request #28468 from tengqm/cleanup-guestbook
Cleanup guestbook tutorials
2021-07-04 06:30:18 -07:00
Kubernetes Prow Robot db21e0a8da Merge pull request #28443 from liuxu623/dev-1.22
fix kubelet flag description
2021-07-04 06:24:18 -07:00
Kubernetes Prow Robot b05de02eaa Merge pull request #28292 from Philipsty/master
Improvement for k8s.io/docs/tutorials/kubernetes-basics
2021-07-04 06:20:18 -07:00
Arhell d169f75ce3 fix typo volumes.md 2021-07-04 10:11:54 +03:00
Nitesh Seram f0bc1f3ef7 fix link issue 2021-07-04 10:40:12 +05:30
Kubernetes Prow Robot 09fb71126c Merge pull request #28684 from uhziel/patch-1
replace 'the Master' to 'the Control Plane'
2021-07-03 18:12:18 -07:00
uhziel ca1f9bd689 Update explore-intro.html 2021-07-04 08:54:54 +08:00
Kubernetes Prow Robot 88275eab73 Merge pull request #28631 from chenxuc/move-page
move HostAliases page to tasks
2021-07-03 15:14:18 -07:00
Kubernetes Prow Robot cb2db15312 Merge pull request #28307 from pacoxu/windows-pause-image
add k8s.gcr.io/pause:3.5 to windows pause image list
2021-07-03 15:06:18 -07:00
Kubernetes Prow Robot 97e1fb57bf Merge pull request #28109 from hardikshah197/issue#28062
Improvement for k8s.io/docs/concepts/overview/working-with-objects/namespaces/  link updated with v1 namespace
2021-07-03 15:04:18 -07:00
Kubernetes Prow Robot 2f282de8ae Merge pull request #28086 from squat/patch-3
Fix blog post grammar and consistency
2021-07-03 15:02:18 -07:00
John Gardiner Myers 63405a399a Use consistent terminology for the Kubernetes general CA 2021-07-03 13:50:42 -07:00
Kubernetes Prow Robot d295c65929 Merge pull request #28437 from amej/patch-1
#28436 Correct spelling in  storage-classes.md
2021-07-03 08:50:18 -07:00
Kubernetes Prow Robot a0c1002334 Merge pull request #28748 from jihoon-seo/210702_Update_outdated_links
Update outdated links
2021-07-03 08:38:18 -07:00
uhziel 84fea74349 replace 'the Master' to 'the Control Plane' 2021-07-03 18:29:24 +08:00
Kubernetes Prow Robot 85ce997d58 Merge pull request #28699 from liutaot/patch-1
Update persistent-volumes.md
2021-07-02 23:54:18 -07:00
Kubernetes Prow Robot b83dc6c8e6 Merge pull request #28767 from ialidzhikov/zh/default-disk-kind
zh: Fix default disk type for Azure
2021-07-02 23:30:18 -07:00
Kubernetes Prow Robot c4127ad8d2 Merge pull request #28763 from ialidzhikov/en/default-disk-kind
en: Fix default disk type for Azure
2021-07-02 23:28:18 -07:00
bhumijgupta 956eb48e72 Move kubectl-convert installation info under Optional kubectl configurations and plugins
Signed-off-by: bhumijgupta <bhumijgupta@gmail.com>
2021-07-03 09:36:30 +05:30
Kubernetes Prow Robot 495cbf0260 Merge pull request #28704 from eatjeff/2021063004
upgrade http link to https
2021-07-02 17:18:10 -07:00
Ricardo Katz 14efc9881b Add initial pt translation to network policy (#27331)
* Translate networkpolicy to pt-br

Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@gmail.com>

* Fix translation by reviewer suggestions

* Add missing example files

* Fix review
2021-07-02 08:26:13 -07:00
ialidzhikov a22cab7aed Fix default disk type for Azure
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2021-07-02 16:08:45 +03:00
ialidzhikov 0742545417 Fix default disk type for Azure
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2021-07-02 16:07:22 +03:00
ialidzhikov e7cdc8df51 Fix default disk type for Azure
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2021-07-02 16:02:24 +03:00
ialidzhikov 71d17c3f68 Fix default disk type for Azure
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2021-07-02 15:52:42 +03:00
Qiming Teng 372d34dc94 Update feature gates for 1.22
This PR updates the feature gate status based on upstream
implementation.

The chanegs are listed below with links to upstream PRs merged:

- BalanceAttacedNodeVolumes  kubernetes/kubernetes#102443
- CSIMigrationvSphereComplete kubernetes/kubernetes#101272
- CSIServiceAccountToken kubernetes/kubernetes#103001
- DaemonSetUpdateSurge kubernetes/kubernetes#101742
- DisableCloudProviders kubernetes/kubernetes#100136
- IndexedJob kubernetes/kubernetes#101292
- LegacyNodeRoleBehavior    kubernetes/kubernetes#100776
- NamespaceDefaultLabelName kubernetes/kubernetes#101342
- NetworkPolicyEndPort   kubernetes/kubernetes#102834
- NodeDisruptionExclusion   kubernetes/kubernetes#100776
- PodAffinityNamespaceSelector  kubernetes/kubernetes#101496
- PodDeletionCost  kubernetes/kubernetes#101080
- PreferNominatedNode kubernetes/kubernetes#102201
- ServiceLoadBalancerClass  kubernetes/kubernetes#103129
- ServiceNodeExclusion  kubernetes/kubernetes#100776
- ServiceTopology kubernetes/kubernetes#102412
- SizeMemoryBackedVoluems kubernetes/kubernetes#101048
- StatefulSetMinReadySeconds kubernetes/kubernetes#100842
- SuspendJob kubernetes/kubernetes#102022
- WindowsHostProcessContainers  kubernetes/kubernetes#99576
2021-07-02 18:20:10 +08:00
Kubernetes Prow Robot b5810b18d9 Merge pull request #28758 from jihoon-seo/210702_zh_Update_Netlify_link_address
[zh] Update Netlify link address
2021-07-02 03:16:12 -07:00
Kubernetes Prow Robot 02d056eef8 Merge pull request #28751 from jihoon-seo/210702_en_Update_Netlify_link_address
Update Netlify link address
2021-07-02 03:14:12 -07:00
Kubernetes Prow Robot 4fb2fe8449 Merge pull request #28696 from ariesliuwei/a-liu
modify kubernetes spelling error
2021-07-02 01:52:12 -07:00
Kubernetes Prow Robot 1ae373813f Merge pull request #28686 from npu21/operator-ja
Update URL for Metacontroller
2021-07-02 01:50:12 -07:00
Kubernetes Prow Robot f18ccaa622 Merge pull request #28743 from Arhell/meetup
[uk] update meetup on home page
2021-07-02 00:14:13 -07:00
Jihoon Seo 3469c12794 [zh] Update Netlify link address 2021-07-02 15:01:31 +09:00
Jihoon Seo 25f3914b41 [uk] Update Netlify link address 2021-07-02 14:58:40 +09:00
Jihoon Seo f37de46d6d [ru] Update Netlify link address 2021-07-02 14:57:13 +09:00
Jihoon Seo 0d6ae289a9 [pt] Update Netlify link address 2021-07-02 14:55:54 +09:00
Jihoon Seo 4efba9b18a [pl] Update Netlify link address 2021-07-02 14:54:34 +09:00
Jihoon Seo 812e3fbb03 [ko] Update Netlify link address 2021-07-02 14:52:37 +09:00
Jihoon Seo a7de73262a [ja] Update Netlify link address 2021-07-02 14:50:36 +09:00
Jihoon Seo b6578e7223 Update Netlify link address 2021-07-02 14:47:53 +09:00
Kubernetes Prow Robot 5bb8db31ad Merge pull request #28749 from jihoon-seo/210702_Resolve_some_issues
[ko] Fix nits
2021-07-01 22:38:12 -07:00
Kubernetes Prow Robot 92d859d14d Merge pull request #28515 from KeisukeYamashita/patch-1
Remove duplicated "のの" in JP NW policy doc
2021-07-01 20:14:12 -07:00
Jihoon Seo d9f11f3b19 [ko] Update links (http -> https) 2021-07-02 11:48:07 +09:00
Jihoon Seo 5f6f123db7 [ko] Fix nits 2021-07-02 11:24:48 +09:00
Jihoon Seo 8bd82af7c7 Update outdated links 2021-07-02 11:11:56 +09:00
Kubernetes Prow Robot 4c2d853003 Merge pull request #28732 from chenxuc/move-page-ko
[ko]move HostAliases page to tasks
2021-07-01 18:44:12 -07:00
Kubernetes Prow Robot 49cb396eaa Merge pull request #28679 from ariesliuwei/aries-liu
[ko] modify error in certificates.md
2021-07-01 18:42:13 -07:00
Kubernetes Prow Robot e87ee3e927 Merge pull request #28739 from kubernetes/dev-1.21-ko.5
[ko] 5th Korean localization work for v1.21
2021-07-01 18:08:12 -07:00
Arhell 4560e5e9b9 [uk] update meetup on home page 2021-07-02 01:47:30 +03:00
Kubernetes Prow Robot 57ed0b7373 Merge pull request #28693 from hbagdi/ingress-class-namespaced-params-beta
Ingress class namespaced params beta
2021-07-01 15:27:51 -07:00
bhumijgupta 34b701c10f Add link to kubectl-convert in install tools footer
Signed-off-by: bhumijgupta <bhumijgupta@gmail.com>
2021-07-01 23:58:59 +05:30
bhumijgupta 729414f650 Add kubectl-convert install info
Signed-off-by: bhumijgupta <bhumijgupta@gmail.com>
2021-07-01 23:51:37 +05:30
vaibhav 1f42a30967 Add the links in docs/concepts/overview/working-with-objects/labels/ 2021-07-01 19:08:36 +05:30
Kubernetes Prow Robot a0cab7282a Merge pull request #28598 from jihoon-seo/210624_Update_highly-available-master
[ko] Update highly-available-master.md
2021-07-01 06:27:55 -07:00
Kubernetes Prow Robot 0b3ee6bbd5 Merge pull request #28730 from chenxuc/move-page-zh
[zh]move HostAliases page to tasks
2021-07-01 06:25:54 -07:00
Kubernetes Prow Robot db84fe3ab9 Merge pull request #28723 from Arhell/update
[id] editing quotes
2021-07-01 06:21:54 -07:00
chenxuc 21ef3efaa1 [ko]move HostAliases page to tasks 2021-07-01 19:49:27 +08:00
chenxuc f5f8af8373 [ja]move HostAliases page to tasks 2021-07-01 19:48:43 +08:00
chenxuc a5e12d04df [zh]move HostAliases page to tasks 2021-07-01 19:42:34 +08:00
Jihoon Seo 1000c4c263 [ko] Update highly-available-master.md (3) 2021-07-01 20:23:43 +09:00
Kubernetes Prow Robot ecd4652de1 Merge pull request #28722 from sftim/20210630_annual_report_update_hyperlink
Update hyperlink to Kubernetes Community Annual Report 2020
2021-07-01 04:01:54 -07:00
Anubhav Vardhan 6cb9177e2b Update ha-control-plane.svg 2021-07-01 15:07:17 +05:30
Kubernetes Prow Robot d9aad165a3 Merge pull request #28697 from ariesliuwei/branch-a
modify kubernetes spelling error
2021-07-01 02:17:54 -07:00
Anubhav Vardhan 71507509b3 Update highly-available-control-plane.md 2021-07-01 14:47:28 +05:30
Anubhav Vardhan b9252e5982 Added ha-control-plane.svg 2021-07-01 14:33:55 +05:30
Kubernetes Prow Robot 4740c728ab Merge pull request #28729 from RinkiyaKeDad/k8s.io_master_to_main
replacing master with main for k/k8s.io links
2021-07-01 01:19:55 -07:00
RinkiyaKeDad a83f5ef666 replacing master with main for k/k8s.io links
Signed-off-by: RinkiyaKeDad <arshsharma461@gmail.com>
2021-07-01 12:20:56 +05:30
Kubernetes Prow Robot 04557972f1 Merge pull request #28600 from jihoon-seo/210624_Update_outdated_files
[ko] Update outdated files in dev-1.21-ko.5 (p4)
2021-06-30 23:03:56 -07:00
Jihoon Seo ce5dd40bac [ko] Update outdated files in dev-1.21-ko.5 (p4) 2021-07-01 14:54:27 +09:00
Kubernetes Prow Robot e1c89a54f1 Merge pull request #28643 from wookiist/main
[ko] fix incorrect contents in docs/concepts/storage/volumes.md
2021-06-30 22:37:54 -07:00
Kubernetes Prow Robot 3da18a272e Merge pull request #28593 from jihoon-seo/210624_Update_links_in_ko
[ko] Update links
2021-06-30 22:31:54 -07:00
Kubernetes Prow Robot 23c35836dd Merge pull request #28647 from ClaudiaJKang/28513-ko-contribute-analytics
[ko] Translate docs/contribute/analytics.md
2021-06-30 22:29:54 -07:00
Harry Bagdi 7ced219f2d graduate IngressClassNamespacedParams to beta 2021-06-30 17:12:29 -07:00
Arhell 7f09fb0073 [id] editing quotes 2021-07-01 01:22:41 +03:00
Tim Bannister 703468bb5b Update hyperlink to Kubernetes Community Annual Report 2020 2021-06-30 23:00:59 +01:00
Kubernetes Prow Robot 9452773b4a Merge pull request #28712 from wyy2017xd/hato5
Change the spelling of words
2021-06-30 06:53:03 -07:00
wyyxd2017 66d4431eb8 Change the spelling of words 2021-06-30 21:28:54 +08:00
Mike Dame a673c53984 Update LogarithmicScaleDown featuregate docs 2021-06-30 08:06:13 -04:00
Kubernetes Prow Robot 2648f1f73c Merge pull request #28605 from tech-geek29/fix-62788
Add documentation for ImagePullBackOff
2021-06-30 05:03:03 -07:00
Kubernetes Prow Robot 3cc8f3fec8 Merge pull request #28066 from haardikdharma10/update-RemainingItemCount-beta
Promote RemainingItemCount to beta in Feature Gates docs
2021-06-30 03:19:03 -07:00
Kubernetes Prow Robot fe87b9fe42 Merge pull request #28417 from ahg-g/ahg-cost
PodDeletionCost to Beta
2021-06-30 02:23:07 -07:00
Kubernetes Prow Robot 55d2aa3b03 Merge pull request #28587 from tallclair/psp-migration
PodSecurity Standards & PSP Best Practices
2021-06-30 01:47:03 -07:00
chenxuc aad34c5acf move HostAliases page to tasks 2021-06-30 16:30:38 +08:00
Haardik Dharma fe940d9263 Update api-concepts.md 2021-06-30 13:54:04 +05:30
yaohaoyun 3e1a0eb1e6 upgrade http link to https 2021-06-30 16:11:58 +08:00
liutao fc95bc68f8 Update persistent-volumes.md 2021-06-30 13:56:11 +08:00
Jihoon Seo 2d0363fdaa [ko] Update links 2021-06-30 14:35:23 +09:00
liuwei10 1e2fc4d599 modify kubernetes spelling error 2021-06-30 12:23:22 +08:00
liuwei10 c889d48477 modify kubernetes spelling error 2021-06-30 11:51:30 +08:00
yaohaoyun 538bf40eb3 modify kubernetes spelling error 2021-06-30 11:38:15 +08:00
Kubernetes Prow Robot 0a0b8859e3 Merge pull request #28687 from npu21/operator-id
Update URL for Metacontroller
2021-06-29 18:47:04 -07:00
Tim Bannister 7045fc791d Revise explanation for when to use readiness probes
Some cases in the existing text were better served by startup probes.
Reword to make the distinction more clear.
2021-06-29 18:12:32 +01:00
Zhang Yong 9bd06e292d Update URL for Metacontroller 2021-06-29 22:10:57 +08:00
Zhang Yong 49b6a8a721 Update URL for Metacontroller 2021-06-29 22:03:07 +08:00
Kubernetes Prow Robot db0e59cbb0 Merge pull request #28637 from rekcah78/update-home-en
update url for kubecon EU 2022
2021-06-29 06:48:40 -07:00
Kubernetes Prow Robot 28a2d58c14 Merge pull request #28678 from Shubham82/Update_Seccomp_link
Update the Seccomp link.
2021-06-29 06:46:40 -07:00
Zhang Yong a2e36cc335 Update URL for Metacontroller 2021-06-29 21:29:39 +08:00
uhziel 8af5744ea3 replace 'the Master' to 'the Control Plane' 2021-06-29 21:04:56 +08:00
Qiming Teng ec138ea002 [zh] Sync windows user guide 2021-06-29 21:04:34 +08:00
Claudia J. Kang b2e77eb52b [ko] Translate docs/contribute/analytics.md 2021-06-29 21:06:24 +09:00
Yong Zhang 32ff99fd16 Merge pull request #15 from kubernetes/main
merge
2021-06-29 20:02:54 +08:00
liuwei10 1be01b1aff modify error in certificates.md 2021-06-29 16:31:11 +08:00
Shubham Kuchhal 21f7528b75 Update the Seccomp link. 2021-06-29 12:24:04 +05:30
Kubernetes Prow Robot dbda7491c2 Merge pull request #28619 from jihoon-seo/210625_Update_outdated_files
[ko] Update outdated files in dev-1.21-ko.5 (p5)
2021-06-28 21:48:40 -07:00
Kubernetes Prow Robot 955208da74 Merge pull request #28618 from jihoon-seo/210625_ko_Update_version-skew-policy
[ko] Update releases/version-skew-policy.md
2021-06-28 21:40:40 -07:00
Kubernetes Prow Robot 2b5b50394b Merge pull request #28577 from jihoon-seo/210623_Update_outdated_files_in_dev-1.21-ko.5
[ko] Update outdated files in dev-1.21-ko.5 (p3)
2021-06-28 21:38:40 -07:00
Kubernetes Prow Robot 7dd160fd3f Merge pull request #28509 from ClaudiaJKang/outdated-dev-1.21-ko.5-m1-20
[ko] Update outdated files in the dev-1.21-ko.5 (p1)
2021-06-28 21:36:40 -07:00
Abdullah Gharaibeh cde5120c3b PodDeletionCost to Beta 2021-06-28 23:15:51 -04:00
Tim Allclair 8b5fb9939b Don't recommend PSP usage, since it's deprecated 2021-06-28 13:53:17 -07:00
Kubernetes Prow Robot 3f5a3fe6ed Merge pull request #28492 from chrisnegus/add-view-csr
Added command to view CSR to Certificates page
2021-06-28 13:12:29 -07:00
Kubernetes Prow Robot 6ebdc7cd11 Merge pull request #28668 from gaoguangze111/correct-typo-page-setup-extension-api-server
correct typo in page setup-extension-api-server
2021-06-28 05:33:25 -07:00
Kubernetes Prow Robot 6a415432d6 Merge pull request #28670 from chienfuchen32/patch-2
[zh] modify Kubeadm reference link "kubeadm-certs" in Chinese
2021-06-28 05:31:26 -07:00
Kubernetes Prow Robot c8a98bb13c Merge pull request #28666 from Polyipnus/fix_zh_typo
[zh] fix Chinese translation typo
2021-06-28 05:29:25 -07:00
Kubernetes Prow Robot 48c2535d8d Merge pull request #27957 from saschagrunert/seccomp-default
Add documentation about `SeccompDefault` feature
2021-06-28 05:07:26 -07:00
chienfuchen32 1dbbb785ae modify Kubeadm reference link "kubeadm-certs" in zh 2021-06-28 18:24:18 +08:00
polyipnus 8021449588 [zh] fix chinese translation typo
`锦衣` may be a spelling mistake, I guess it should be `进一步`。
2021-06-28 17:29:45 +08:00
Kubernetes Prow Robot 2d5ac7d2bd Merge pull request #28662 from gaoguangze111/update-chinese-page-extend-kubernetes
Update 404 link in Chinese page extend-kubernetes
2021-06-28 02:29:25 -07:00
GoodGameZoo b16c4c9391 correct typo in page setup-extension-api-server 2021-06-28 02:27:46 -07:00
Kubernetes Prow Robot aae3f87682 Merge pull request #28664 from gaoguangze111/update-chinese-page-apiserver-aggregation
Correct typo in Chinese page apiserver-aggregation.md
2021-06-28 02:27:25 -07:00
Kubernetes Prow Robot 6caa9bd535 Merge pull request #28658 from Alpenbelieve/patch-3
Update pod-topology-spread-constraints.md
2021-06-28 02:17:25 -07:00
liuwei10 3ccaf3a0b7 modify spelling mistakes in user guide 2021-06-28 17:10:37 +08:00
GoodGameZoo 3495e6c4a2 Correct typo in Chinese page apiserver-aggregation.md 2021-06-28 02:02:11 -07:00
Kubernetes Prow Robot d26f9ac045 Merge pull request #28252 from tallclair/hostpath
Copy PSP hostpath warning to hostpath volume docs
2021-06-28 01:43:25 -07:00
GoodGameZoo 6f3bd1e71a Update 404 link in Chinese page extend-kubernetes 2021-06-28 01:25:11 -07:00
Kubernetes Prow Robot 94096723f3 Merge pull request #28655 from ariesliuwei/ariesliu
modify error of index
2021-06-28 00:41:25 -07:00
CDE d6a0e9b332 Update pod-topology-spread-constraints.md
fix a word typo
2021-06-28 15:30:34 +08:00
RA489 74d913a919 Update highly-available-control-plane 2021-06-28 12:52:07 +05:30
GoodGameZoo 86984f220e Update Chinese page jsonpath 2021-06-28 00:08:05 -07:00
liuwei10 0d89aeb02e modify error of index 2021-06-28 14:35:06 +08:00
Kubernetes Prow Robot 165247a744 Merge pull request #28416 from ahg-g/ahg-nss2
Pod affinity namespaceSelector to beta
2021-06-27 19:47:25 -07:00
Kubernetes Prow Robot ea8c49dbb9 Merge pull request #28479 from jihoon-seo/210618_Translate_labels-annotations-taints
[ko] Translate reference/labels-annotations-taints
2021-06-27 17:47:24 -07:00
Kubernetes Prow Robot b089cf0376 Merge pull request #28653 from sftim/20210627_tweak_annual_report_blog_article
Revise annual report blog article: typo fixes, image
2021-06-27 16:33:24 -07:00
Kubernetes Prow Robot 91afafd592 Merge pull request #28484 from sftim/20210618_add_comment_about_cloudbuild_source_image_tag
Explain build image versioning for local preview container image
2021-06-27 16:15:24 -07:00
Kubernetes Prow Robot dabee46b88 Merge pull request #28558 from jihoon-seo/210622_pl_Remove_exec_permission_on_markdown_files
[pl] Remove exec permission on markdown files
2021-06-27 15:21:24 -07:00
Tim Bannister 7f6a77efe8 Add article image
This image links to the report, and also provides a visual heading for
the announcement article.
2021-06-27 22:55:00 +01:00
Tim Bannister ac9f04cd14 Tidy article typos etc 2021-06-27 22:50:41 +01:00
Kubernetes Prow Robot 09d368cec6 Merge pull request #28640 from edsoncelio/pt_br_fix_location_storage_docs
[PT-BR] Move storage/persistent-volumes docs from pt/ to pt-br/
2021-06-27 11:13:24 -07:00
Arhell 9f3e905ea6 [ja] Adds COF to the list of operators frameworks 2021-06-27 11:37:58 +03:00
Jihoon Seo 76b7f9fd3f [ko] Update highly-available-master.md (2) 2021-06-27 13:59:39 +09:00
Jihoon Seo c3ed460bed [ko] Update outdated files in dev-1.21-ko.5 (p3) 2021-06-27 13:15:39 +09:00
Jaewook Oh ce75bce0fb fix: typo in docs/concepts/storage/volumes.md 2021-06-27 12:15:22 +09:00
edsoncelio b6f66c941b fix: change docs location from pt/ to pt-br 2021-06-26 22:49:40 -03:00
Qiming Teng 955ae25dd3 [zh] Sync reference file (7)
This is the last one for our batch sync of the reference section.
2021-06-26 20:27:51 +08:00
Christophe Gasmi 286cf8f763 update url for kubecon EU 2022 2021-06-26 14:07:27 +02:00
Christophe Gasmi d22f387f7c update kubecon events 2021-06-26 14:00:08 +02:00
claudiajkang a162b01911 [ko] Update outdated files in the dev-1.21-ko.5
Related to : #28473

This commit fix M1-20.
2021-06-26 19:25:52 +09:00
Arhell 626aaffb2c [ja] Modified the output when retrieving Secrets 2021-06-26 12:25:12 +03:00
tylerphilips be1f5e6b35 update kubernetes-basics buttons 2021-06-25 20:53:28 -04:00
Kubernetes Prow Robot 2fe21477b4 Merge pull request #28552 from jihoon-seo/210622_es_Remove_exec_permission_on_markdown_files
[es] Remove exec permission on markdown files
2021-06-25 11:24:47 -07:00
Jiawei Wang 0b90e84c89 Deprecate and remove some storage plugins 2021-06-25 10:56:41 -07:00
Kubernetes Prow Robot 45d5e25b6c Merge pull request #28435 from divya-mohan0209/master
Blogpost for announcing Kubernetes Upstream Community Group Annual Reports
2021-06-25 10:42:45 -07:00
divya-mohan0209 a7c82a6308 Blogpost for announcing Kubernetes Upstream Community Group Annual Reports
Co-authored-by: Tim Bannister <tim@scalefactory.com>

Co-authored-by: Bob Killen <killen.bob@gmail.com>
2021-06-25 22:12:38 +05:30
Kubernetes Prow Robot 8b789a73de Merge pull request #28625 from Shubham82/Add_link_Operatorpattern
Add Link for "Operator White Paper".
2021-06-25 07:00:45 -07:00
Kubernetes Prow Robot 487cdfa07e Merge pull request #28624 from tengqm/fix-nav-root-line
Fix navbar extra title line
2021-06-25 06:08:44 -07:00
Shubham Kuchhal 57d21c6975 Correct brackets. 2021-06-25 18:20:18 +05:30
Kubernetes Prow Robot dcd6cd5793 Merge pull request #28622 from jihoon-seo/210625_Update_docs/tasks/administer-cluster/highly-available-control-plane
Replace 'master' with 'control plane'
2021-06-25 05:18:44 -07:00
Shubham Kuchhal 5eb9ded91a Modify the content. 2021-06-25 17:16:03 +05:30
Shubham Kuchhal 4b656ff45a Fix typo. 2021-06-25 15:34:01 +05:30
Shubham Kuchhal 6ad9c33963 Add Link for "Operator White Paper". 2021-06-25 15:23:35 +05:30
Qiming Teng 7b22f1a134 Fix navbar extra title line 2021-06-25 16:50:53 +08:00
Jihoon Seo d5feed3ed7 Replace 'master' with 'control plane' 2021-06-25 17:39:22 +09:00
Jihoon Seo d10cd6ee48 [ko] Translate reference/labels-annotations-taints 2021-06-25 16:17:46 +09:00
Jihoon Seo 94a460352a [ko] Update outdated files in dev-1.21-ko.5 (p5) 2021-06-25 15:54:40 +09:00
Jihoon Seo 620e11f499 [ko] Update releases/version-skew-policy.md 2021-06-25 15:18:01 +09:00
Kubernetes Prow Robot 5d4f35d5eb Merge pull request #28599 from dolfinus/wrong_dns_label_names
Fix DNS Label Names restrictions in russian translation
2021-06-24 22:58:45 -07:00
Rishabh Jain 0e7810ad04 Add documentation for ImagePullBackOff 2021-06-25 09:51:43 +05:30
Qiming Teng 860fd15404 Add feature-gates to home page card 2021-06-25 12:17:01 +08:00
Kubernetes Prow Robot dc8882da98 Merge pull request #28521 from seokho-son/fixdocsythm
Fix sidebar-tree indentation by updating layout with latest docsy theme
2021-06-24 19:56:45 -07:00
Kubernetes Prow Robot cafede5fb9 Merge pull request #27704 from edsoncelio/pt_config_best_practices
[PT-BR] Add content/pt-br/docs/concepts/configuration/overview.md
2021-06-24 16:09:59 -07:00
Kubernetes Prow Robot c88edba662 Merge pull request #28519 from lleitep3/patch-1
fix concordance of list items
2021-06-24 16:02:00 -07:00
Tim Allclair ae1ae50454 Address PR feedback 2021-06-24 10:16:32 -07:00
Tim Allclair 4600715899 Document PSP best practices for PodSecurity transition 2021-06-24 10:16:32 -07:00
Tim Allclair 6cc9bf8293 Update PodSecurityStandards to match PodSecurity KEP 2021-06-24 10:16:32 -07:00
Kubernetes Prow Robot c5e229eea9 Merge pull request #28554 from jihoon-seo/210622_id_Remove_exec_permission_on_markdown_files
[id] Remove exec permission on markdown files
2021-06-24 09:01:41 -07:00
Kubernetes Prow Robot 0709b30d05 Merge pull request #28510 from chenxuc/28490
Correct command output in custom-resources example
2021-06-24 08:41:41 -07:00
vaibhav a09d4ec1cf Update in /docs/concepts/workloads/controllers/daemonset.md 2021-06-24 20:33:33 +05:30
Kubernetes Prow Robot 8c9e504d75 Merge pull request #28495 from chenxuc/update-topo-constraints
clarify behavior of topo constraints
2021-06-24 07:27:41 -07:00
Kubernetes Prow Robot 1c673f0679 Merge pull request #28467 from tengqm/update-zh-test
[zh] update examples with test case
2021-06-24 07:23:41 -07:00
Kubernetes Prow Robot 869ce6a75a Merge pull request #28348 from tengqm/zh-sync-usingapi
[zh] Resync using-api section
2021-06-24 07:21:41 -07:00
Kubernetes Prow Robot 6b324fe12f Merge pull request #28346 from tengqm/zh-sync-ssa
[zh] Resync server-side-apply page
2021-06-24 07:19:41 -07:00
Kubernetes Prow Robot 5fb3176087 Merge pull request #28320 from tengqm/zh-sync-ref-4
[zh] Resync reference for kube-proxy
2021-06-24 07:17:41 -07:00
Sascha Grunert 27a74df031 Add documentation about SeccompDefault feature
This adds a documentation section about the `SeccompDefault` feature
gate for the kubelet. Beside that, the feature gate has been added to
the list of features, too.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-06-24 15:10:53 +02:00
kahirokunn e6271ef41b fix: k8s dashboard link.
k8s dashboard required https.
http does not currently have a corresponding endpoint.
So if you try to access it like this, you will get an error: "no endpoints available for service".
2021-06-24 21:54:12 +09:00
Maxim Martynov 836838e77f Fix DNS Label Names restrictions in russian translation 2021-06-24 12:35:15 +03:00
Jihoon Seo e93092524a [ko] Update highly-available-master.md 2021-06-24 18:17:12 +09:00
Kubernetes Prow Robot 369169dbb3 Merge pull request #28570 from zshihang/main
update doc for BoundServiceAccountTokenVolume ga
2021-06-24 01:17:41 -07:00
Kubernetes Prow Robot 8fc4e07ff6 Merge pull request #28523 from jihoon-seo/210621_Update_outdated_files_in_dev-1.21-ko.5
[ko] Update outdated files in dev-1.21-ko.5 (p2)
2021-06-24 00:59:41 -07:00
Kubernetes Prow Robot c4d103bf8e Merge pull request #28518 from sftim/20210620_remove_capture_shortcode
Remove capture shortcode
2021-06-23 18:57:40 -07:00
Kubernetes Prow Robot e53208d4f3 Merge pull request #28569 from PI-Victor/merged-master-dev-1.22
Merge main into dev-1.22 to keep in sync 22/06/2021
2021-06-23 18:53:40 -07:00
Kubernetes Prow Robot ce87d890da Merge pull request #28584 from sftim/20210623_fix_pr_template_primary_branch_rename
Fix default branch name in PR template
2021-06-23 18:39:40 -07:00
Kubernetes Prow Robot d18d8d857e Merge pull request #27879 from shannonxtreme/taints-tolerations
Add information about node conditions
2021-06-23 18:37:40 -07:00
chenxuc c6bf5d13c8 clarify behavior of topo constraints 2021-06-24 09:08:21 +08:00
Tim Allclair 6d0d8c0d7d Copy PSP hostpath warning to hostpath volume docs 2021-06-23 17:20:34 -07:00
James Strong 8b3528af61 update the version for testing: 2021-06-23 17:32:17 -04:00
Kubernetes Prow Robot cdfdd3eda3 Merge pull request #27717 from kpanic9/patch-1
Corrected service dns name
2021-06-23 13:34:10 -07:00
Shihang Zhang 3a9b198beb update doc for BoundServiceAccountTokenVolume ga 2021-06-23 09:47:49 -07:00
Tim Bannister e3676f5e16 Fix default branch name in PR template 2021-06-23 15:57:47 +01:00
vaibhav 38f3e13c57 Update the command in /docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/ 2021-06-23 20:15:01 +05:30
Kubernetes Prow Robot 731f028586 Merge pull request #27264 from npu21/node-it
Fix line separation in concepts/architecture/nodes
2021-06-23 06:26:11 -07:00
aimuz 024f281db4 Modify the syntax specification of markdown 2021-06-23 16:29:40 +08:00
Kubernetes Prow Robot 984846e53f Merge pull request #28329 from HongjiangHuang/it/container-runtime
[it]: fix container-runtime full_link 404
2021-06-23 00:36:10 -07:00
Kubernetes Prow Robot 682912bc67 Merge pull request #28555 from jihoon-seo/210622_it_Remove_exec_permission_on_markdown_files
[it] Remove exec permission on markdown files
2021-06-23 00:14:10 -07:00
Kubernetes Prow Robot 018e445c7b Merge pull request #28571 from mengjiao-liu/update-crt-sign
[zh] sync certificate-signing-requests
2021-06-22 23:18:10 -07:00
Kubernetes Prow Robot 8f27660e8f Merge pull request #28556 from jihoon-seo/210622_ja_Remove_exec_permission_on_markdown_files
[ja] Remove exec permission on markdown files
2021-06-22 23:04:10 -07:00
Mengjiao Liu af4a9c3783 [zh] sync certificate-signing-requests 2021-06-23 11:22:01 +08:00
Kubernetes Prow Robot 5cfba9ebb2 Merge pull request #27114 from mengjiao-liu/update-signerName-desc
update certificate-signing-requests Signer description
2021-06-22 14:40:11 -07:00
Shannon Kularathna e315da8f11 Add information about node conditions 2021-06-22 21:27:42 +00:00
Victor Palade 1064c8dcff Merge master into dev-1.22 to keep in sync. 2021-06-22 19:52:26 +02:00
Kubernetes Prow Robot 5288513b58 Merge pull request #28559 from jihoon-seo/210622_ptbr_Remove_exec_permission_on_markdown_files
[pt-br] Remove exec permission on markdown files
2021-06-22 10:13:58 -07:00
Kubernetes Prow Robot 1757f4b148 Merge pull request #28553 from jihoon-seo/210622_fr_Remove_exec_permission_on_markdown_files
[fr] Remove exec permission on markdown files
2021-06-22 07:21:58 -07:00
Kubernetes Prow Robot b626b80b47 Merge pull request #28535 from anubha-v-ardhan/patch-1
[ko] Translate docs/home/supported-doc-versions documentation.
2021-06-22 05:23:58 -07:00
Shubham Kuchhal 045ed2d8c5 Improvement: Runtime Class 2021-06-22 17:17:07 +05:30
Kubernetes Prow Robot 2305affb8c Merge pull request #28560 from jihoon-seo/210622_uk_Remove_exec_permission_on_markdown_files
[uk] Remove exec permission on markdown files
2021-06-22 04:17:58 -07:00
Kubernetes Prow Robot 9d06dc7cdb Merge pull request #28562 from jihoon-seo/210622_zh_Remove_exec_permission_on_markdown_files
[zh] Remove exec permission on markdown files
2021-06-22 03:17:58 -07:00
Jihoon Seo 227d2b1271 [zh] Remove exec permission on markdown files 2021-06-22 18:33:26 +09:00
Jihoon Seo 7168e4d691 [uk] Remove exec permission on markdown files 2021-06-22 18:30:31 +09:00
Jihoon Seo f670a7ac90 [pt-br] Remove exec permission on markdown files 2021-06-22 18:28:55 +09:00
Jihoon Seo 94d89c5f4c [pl] Remove exec permission on markdown files 2021-06-22 18:26:54 +09:00
Jihoon Seo 7c256aa07e [ja] Remove exec permission on markdown files 2021-06-22 18:22:52 +09:00
Jihoon Seo 2fb4914100 [it] Remove exec permission on markdown files 2021-06-22 18:21:29 +09:00
Jihoon Seo 4bcb8545e8 [id] Remove exec permission on markdown files 2021-06-22 18:19:42 +09:00
Jihoon Seo 959356a46a [fr] Remove exec permission on markdown files 2021-06-22 18:17:38 +09:00
Jihoon Seo f36d230101 [es] Remove exec permission on markdown files 2021-06-22 18:14:52 +09:00
Kubernetes Prow Robot f193a5fdf6 Merge pull request #28532 from lcc3108/patch-1
[ko] Fix typo kubelete -> kubelet at images.md
2021-06-21 21:45:58 -07:00
Kubernetes Prow Robot ee11c6c331 Merge pull request #28543 from SergeyKanzhelev/dynamicKubeletConfigOnKubeAdm
DynamicKubeletConfig has not been supported in kubeadm for a while.
2021-06-21 21:39:58 -07:00
Kubernetes Prow Robot 03571b445d Merge pull request #28546 from MittWillson/patch-2
typo: Windows
2021-06-21 20:25:57 -07:00
Mitt 47de513a89 typo: Windows 2021-06-22 10:32:10 +08:00
Lubomir I. Ivanov 6c32a72d0e kubeadm: remove some Docker cgroup driver notes
Link to existing guide pages instead.
2021-06-22 04:47:48 +03:00
Kubernetes Prow Robot 55cc56b8b3 Merge pull request #28538 from 2ZZ/patch-1
Update URL for Metacontroller
2021-06-21 18:43:57 -07:00
Kubernetes Prow Robot 99a0502665 Merge pull request #28540 from Arhell/fix-pod
[zh] Fix static pod manifests generation
2021-06-21 18:37:57 -07:00
Kubernetes Prow Robot 9b49165995 Merge pull request #28235 from SergeyKanzhelev/clarificationOnShutdownStatus
Clarification of a new shutdown status of a pod
2021-06-21 17:11:58 -07:00
Sergey Kanzhelev 936d7987f2 DynamicKubeletConfig has not been supported in kubeadm for a while. 2021-06-21 23:41:23 +00:00
Arhell 022dcfb716 [zh] Fix static pod manifests generation 2021-06-22 01:21:29 +03:00
Ian Driver 8f00a636fc Update URL for Metacontroller
Metacontroller has moved from Google control to community support, see https://github.com/metacontroller/metacontroller#a-new-home
2021-06-21 21:47:17 +01:00
Anubhav Vardhan 4677721c52 Update supported-doc-versions.md 2021-06-21 22:15:51 +05:30
IM CHAECHEOL e0738eba63 Fix typo kubelete -> kubelet images.md 2021-06-22 00:43:19 +09:00
Shubham Kuchhal 21ca9a224f Add MongoDB deployment and service. 2021-06-21 18:27:52 +05:30
Kubernetes Prow Robot 12c57e6683 Merge pull request #28347 from Shubham82/fix-Certificate_Rotation_for_the_kubelet
Correct the Configure Certificate Rotation for the Kubelet docs.
2021-06-21 04:52:51 -07:00
Tim Bannister 037456870f Remove capture shortcode
The capture shortcode is no longer used: the switch was made on
2020-06-15, in commit 0625ced466.

Remove it. After this change, it won't be possible to use this legacy
shortcode (builds would fail).
2021-06-21 09:11:57 +01:00
Kubernetes Prow Robot 64a7157643 Merge pull request #28471 from greenhandatsjtu/patch-1
Update zh version of pod-security-policy.md
2021-06-20 22:36:51 -07:00
Jihoon Seo bfdb9654a2 [ko] Update outdated files in dev-1.21-ko.5 (p2) 2021-06-21 13:45:15 +09:00
Jim Angel e33dea35ce cleaning up OWNERS 2021-06-21 03:54:19 +00:00
seokho-son e26ff03d29 Fix sidefar indentation by updating layout 2021-06-21 10:15:36 +09:00
Kubernetes Prow Robot 1b931a4a24 Merge pull request #28517 from sftim/20210620_fix_legacy_shortcodes
Replace legacy capture shortcodes
2021-06-20 18:14:51 -07:00
Kubernetes Prow Robot 284389853d Merge pull request #28514 from Arhell/manifest
[ja] Fix static pod manifests generation
2021-06-20 18:04:52 -07:00
Kubernetes Prow Robot 6f204508ae Merge pull request #28511 from chenxuc/28502
update state for PodSecurityPolicy
2021-06-20 13:02:51 -07:00
Tim Bannister ad1d8799fc Replace legacy capture shortcodes
Fixup to avoid using legacy capture statements
2021-06-20 20:51:01 +01:00
yJunS 08a8887464 Remove $ 2021-06-20 23:35:32 +08:00
yJunS 7ac583a56a Fix some questions of information 2021-06-20 23:28:59 +08:00
KeisukeYamashita 1782fb440e Remove duplicated "のの" in JP NW policy doc 2021-06-21 00:26:33 +09:00
Grace Nguyen 04d0c72c32 Kube config warnings for code execution (#28248)
* Update configure-access-multiple-clusters.md

* Rewording kubeconfig warning

* Tabitha's suggestion

Co-authored-by: Tabitha Sable <51767484+tabbysable@users.noreply.github.com>

* Re-order sentences

* Copy update

Co-authored-by: Tabitha Sable <51767484+tabbysable@users.noreply.github.com>
2021-06-20 07:12:51 -07:00
Kubernetes Prow Robot 3548f2852f Merge pull request #28421 from buptliuwei/patch-5
fix deprecated translation
2021-06-20 05:26:50 -07:00
Arhell ffab78891c [ja] Fix static pod manifests generation 2021-06-20 15:08:24 +03:00
Kubernetes Prow Robot 673671b741 Merge pull request #28478 from jihoon-seo/210618_Remove_exec_permission_on_markdown_files
[ko] Remove exec permission on markdown files
2021-06-20 01:20:51 -07:00
Kubernetes Prow Robot 307ae699c3 Merge pull request #28504 from ClaudiaJKang/enhance-28409-control-plane-flags
[ko] Enhance kubeadm/control-plane-flags.md
2021-06-20 01:18:50 -07:00
chenxuc f0f957ff21 update state for PodSecurityPolicy 2021-06-20 16:17:40 +08:00
chenxuc c2d7782e5a Correct command output
For issue #28490,
update command output to avoid confusion.
2021-06-20 16:03:08 +08:00
Claudia J. Kang 604e271204 [ko] Enhance kubeadm/control-plane-flags.md
Enhance docs/setup/production-environment/tools/kubeadm/control-plane-flags.md
2021-06-20 14:16:57 +09:00
Kubernetes Prow Robot e61d14939d Merge pull request #28499 from chenxuc/zh-namespace
[zh]Add synonym for namespace
2021-06-19 19:24:50 -07:00
Kubernetes Prow Robot 1850ddc30c Merge pull request #28420 from HongjiangHuang/install-kubectl-notes-zh
[zh]: Add PATH note for install macos kubectl
2021-06-19 19:22:50 -07:00
Kubernetes Prow Robot 0a38260ecb Merge pull request #28476 from tengqm/zh-sync-setup-1
[zh] resync setup windows
2021-06-19 19:20:50 -07:00
Kubernetes Prow Robot feecbcba66 Merge pull request #28477 from tengqm/zh-resync-container-runtime
[zh] Resync container-runtimes page
2021-06-19 19:18:50 -07:00
Leandro (Hey Man) eca7226dfb fix concordance of list items
I changed verbs conjugation to infinitive to fix concordance.
2021-06-19 22:24:16 -03:00
yJunS 93a1a281b9 Fix some format questions 2021-06-19 20:18:40 +08:00
Qiming Teng e10996a1d7 [zh] Resync server-side-apply page 2021-06-19 19:53:40 +08:00
Kubernetes Prow Robot 4840d9c0b4 Merge pull request #27636 from javidiaz/gasethostnameasfqdn
Updating docs to reflect graduation of setHostnameAsFQDN feature to GA
2021-06-19 04:40:50 -07:00
Qiming Teng 2876a43a35 [zh] Resync container-runtimes page 2021-06-19 17:44:49 +08:00
chenxuc 6df48cef0e [zh]Add synonym for namespace 2021-06-19 15:47:02 +08:00
Kubernetes Prow Robot b2e5fcd51f Merge pull request #28496 from lukeingalls/patch-1
docs: typo
2021-06-18 23:18:50 -07:00
Kubernetes Prow Robot 391459b11f Merge pull request #28434 from mehabhalodiya/fix-28324
Add tooltip for affinity
2021-06-18 23:16:51 -07:00
Luke Ingalls 7f15418fae docs: typo 2021-06-18 20:01:07 -06:00
Kubernetes Prow Robot ba20879546 Merge pull request #28463 from sftim/20210617_update_docs_for_primary_branch_rename
Update docs for primary branch rename to "main"
2021-06-18 18:04:50 -07:00
Kubernetes Prow Robot 837e1c672e Merge pull request #28464 from sftim/20210617_update_docs_for_primary_branch_rename_psp
Update docs for primary branch rename: PodSecurityPolicy
2021-06-18 18:02:50 -07:00
Kubernetes Prow Robot 67ce826dc4 Merge pull request #28440 from marekhanus/hotfix/kubespray-ansible-link-ja
Update broken link to Ansible inventory in kubespray.md
2021-06-18 17:56:51 -07:00
Tim Bannister da31234d5d Update docs for primary branch rename to "main" 2021-06-19 01:50:25 +01:00
Tim Bannister b3aef35da7 Use shortcode for PodSecurityPolicy examples 2021-06-19 01:47:52 +01:00
Tim Bannister e38d549721 Add shortcode for hyperlinking to examples 2021-06-19 01:47:51 +01:00
Tim Bannister 0aef916e81 Remove orphaned page from French localization 2021-06-19 00:57:55 +01:00
Kubernetes Prow Robot ba4287421c Merge pull request #28075 from hikkie3110/fix-26117
create topology-manager.md
2021-06-18 16:34:42 -07:00
Christopher Negus 69c9e63e9f Added command to view CSR to Certificates page 2021-06-18 22:05:21 +00:00
Sergey Kanzhelev 4bb1fc1f8c clarification of a new shutdown status of a pod 2021-06-18 20:22:16 +00:00
Kubernetes Prow Robot 3ca34b9a3b Merge pull request #28460 from sftim/20210617_do_not_set_ruby_version_for_netlify
Bump Ruby version for Netlify
2021-06-18 11:56:05 -07:00
Kubernetes Prow Robot 95842c3a4e Merge pull request #28489 from seokho-son/docsy-patch
Update docsy theme submodule for i18n
2021-06-18 11:48:06 -07:00
seokho-son fabc5cf65f Updating theme submodule for i18n 2021-06-18 23:48:08 +09:00
Kubernetes Prow Robot 419234f427 Merge pull request #28486 from strideynet/fix-incorrect-graceful-shutdown-defaults
chore: regenerate kubelet-config reference page
2021-06-18 04:40:05 -07:00
Meha Bhalodiya 53da9dfa2a Update affinity.md 2021-06-18 16:58:31 +05:30
Meha Bhalodiya 49e1c4b579 Create affinity.md 2021-06-18 16:26:02 +05:30
Noah Stride a5bff81f7f chore: regenerate kubelet-config
Updates kubelet-config with latest values to fix inaccurate values displaying in docs.
2021-06-18 11:04:32 +01:00
Kubernetes Prow Robot 4f138528b6 Merge pull request #28483 from saschagrunert/patch-regressions
Reflect latest patch release changes
2021-06-18 02:22:05 -07:00
Tim Bannister 588d7ef7ca Explain source image versioning for local preview container image 2021-06-18 10:16:23 +01:00
Kubernetes Prow Robot 9ae9f5336d Merge pull request #28480 from saschagrunert/release-links
Fix links on patch release website
2021-06-18 01:46:04 -07:00
Sascha Grunert bba18acd4e Reflect latest patch release changes
We now add the information about the regression introduced in the latest
patches. The final 1.18 release is now part of the documentation, too.
Beside that, we keep the cherry-pick deadline column and add a new one
"NOTE" to add required information.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-06-18 10:40:19 +02:00
Sascha Grunert e1288a9129 Fix links on patch release website
Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-06-18 10:26:05 +02:00
Jihoon Seo bf00b72c79 [ko] Remove exec permission on markdown files 2021-06-18 16:18:29 +09:00
Qiming Teng 909caa59a5 [zh] resync setup windows 2021-06-18 15:12:32 +08:00
greenhandatsjtu 93dcf864e2 Update pod-security-policy.md
fix a typo
2021-06-18 13:21:03 +08:00
Kubernetes Prow Robot 41e3265567 Merge pull request #28470 from kubernetes/dev-1.21-ko.4
[ko] 4th Korean localization work for v1.21
2021-06-17 22:04:04 -07:00
Kubernetes Prow Robot f67b8ffab9 Merge pull request #28386 from seokho-son/fix-ext-dev-1.21-ko.4
[ko] Fix and enhance extend-kubernetes Korean
2021-06-17 21:16:04 -07:00
Qiming Teng c4123fe383 Update zh examples with updated test case 2021-06-18 10:50:36 +08:00
Qiming Teng 53e0c4c1af Cleanup guestbook tutorials
This PR fixes two typos and reformat the guestbook tutorial.
2021-06-18 10:43:51 +08:00
Kubernetes Prow Robot 2c7d774239 Merge pull request #28407 from tengqm/fix-links
Fix some links in the concepts section
2021-06-17 19:30:04 -07:00
Kubernetes Prow Robot 8152a75765 Merge pull request #28419 from Shubham82/Update_links_RuntimeClass
Fix links in the Runtime Class.
2021-06-17 19:20:04 -07:00
Kubernetes Prow Robot e6459692d2 Merge pull request #28466 from tengqm/update-example-test
Adapt examples test for latest change
2021-06-17 19:14:04 -07:00
Kubernetes Prow Robot 5dfcf92490 Merge pull request #28447 from tengqm/fix-file-modes
Remove exec permission on markdown files
2021-06-17 19:04:04 -07:00
Qiming Teng 584097ebfa Adapt examples test for latest change 2021-06-18 09:23:39 +08:00
Kubernetes Prow Robot 46c2fb6c98 Merge pull request #28452 from jimangel/sync-guestbook-updates
Updating tutorial to match source
2021-06-17 18:06:04 -07:00
Qiming Teng ddd130c375 [zh] Fix ccm glossary 2021-06-18 08:41:35 +08:00
Jim Angel ff0018b97e updating tutorial to match source 2021-06-17 18:45:40 +00:00
Tim Bannister e3f54e0089 Bump Ruby version for Netlify
The site can build without Ruby; however, Netlify wants a Ruby version.
Pick something recent.
2021-06-17 19:10:20 +01:00
vaibhav 1df00698d4 Update addon resizer in cluster-large.md 2021-06-17 18:36:05 +05:30
Kubernetes Prow Robot 51b0bc1874 Merge pull request #28389 from seokho-son/fix-service-dev-1.21-ko.4
[ko] Enhance tutorials/services/source-ip.md translation
2021-06-17 05:32:19 -07:00
Kubernetes Prow Robot c3d5c69126 Merge pull request #28385 from seokho-son/work-dev-1.21-ko.4
[ko] Add setup/pro../turnkey-solutions.md to Korean
2021-06-17 05:30:19 -07:00
yJunS 480a5f737f Add Dockershim Deprecation part 2021-06-17 13:01:27 +08:00
vaibhav dbcc1d550f Update the docs/setup/learning-environment/_index.md 2021-06-17 10:14:23 +05:30
vaibhav a16de9ee7a Comment the body in docs/setup/learning-environment/_index.md 2021-06-17 10:01:28 +05:30
seokho-son 620cdbb677 Add setup/pro../turnkey-solutions.md to Korean 2021-06-17 13:10:11 +09:00
seokho-son 80a84f68a0 Enhance ko/services/source-ip translation 2021-06-17 13:06:33 +09:00
Kubernetes Prow Robot 304bf1bc53 Merge pull request #24387 from ameukam/container-image-build-automation
Add Container image build automation
2021-06-16 19:18:19 -07:00
Kubernetes Prow Robot aa0890d2c4 Merge pull request #27856 from oke-py/27099
Translate docs/tasks/configmap-secret/managing-secret-using-kustomize/ into Japanese
2021-06-16 17:22:20 -07:00
Kubernetes Prow Robot 4943d46433 Merge pull request #28362 from Arhell/upd
[ja] Update kops versioned download URLs
2021-06-16 17:12:19 -07:00
Kubernetes Prow Robot dd347e353b Merge pull request #27801 from shuuji3/shuuji3/translate-contribute-review-27734
Translate contribute/review/for-approvers/ into Japanese
2021-06-16 17:02:19 -07:00
Kubernetes Prow Robot 3c1787a4d8 Merge pull request #28378 from Arhell/fix-link
[ja] fix broken link to Ansible in kubespray.md
2021-06-16 08:40:00 -07:00
Kubernetes Prow Robot c73d473cca Merge pull request #28351 from howieyuen/pod-priority-and-preemption
[zh] translate pod-priority-and-preemption.md
2021-06-16 08:22:00 -07:00
Kubernetes Prow Robot d883d03f3e Merge pull request #28229 from soltysh/cronjob_fflag
Promote CronJobControllerV2 flag to GA
2021-06-16 07:29:59 -07:00
liuxu 860d576d5a fix kubelet flag description 2021-06-16 19:38:52 +08:00
Albert df2457c093 [zh]: Add PATH note for install macos kubectl 2021-06-16 19:00:14 +08:00
Kubernetes Prow Robot 9d6baceb49 Merge pull request #28418 from HongjiangHuang/install-kubectl-notes
[en]: Add PATH note for install macos kubectl
2021-06-16 03:55:59 -07:00
Qiming Teng e9703497a1 Remove exec permission on markdown files
For some unknown reasons, we have got many markdown files with exec
permission. That is weird and risky.
2021-06-16 17:57:00 +08:00
Albert cd30245ed5 [en]: Add PATH note for install macos kubectl 2021-06-16 17:51:22 +08:00
Kubernetes Prow Robot b7fa9ef8f2 Merge pull request #28425 from HongjiangHuang/duplicate
[en]: Remove duplicate content
2021-06-16 02:43:59 -07:00
Kubernetes Prow Robot 79c2fe1ad2 Merge pull request #28373 from howieyuen/node-pressure-eviction
[zh]translate node-pressure-eviction.md
2021-06-16 02:33:59 -07:00
Kubernetes Prow Robot 58f3a9c300 Merge pull request #28441 from marekhanus/hotfix/kubespray-ansible-link-ko
Update broken link to Ansible inventory in kubespray.md
2021-06-16 01:41:59 -07:00
Marek Hanuš 414dbf2ecc Update broken link to Ansible inventory in kubespray.md 2021-06-16 09:45:55 +02:00
Marek Hanuš 56272ef4d9 Update broken link to Ansible inventory in kubespray.md 2021-06-16 09:45:01 +02:00
Marek Hanuš feff516812 Update broken link to Ansible inventory in kubespray.md 2021-06-16 09:39:15 +02:00
Ameya Sathe ede15be105 Correct spelling in storage-classes.md
Fix for  https://github.com/kubernetes/website/issues/28436
2021-06-16 12:32:06 +05:30
Kubernetes Prow Robot 16b5435c62 Merge pull request #28401 from chenxuc/zh-resync-10-2
resync reference for overview and cheatsheet
2021-06-15 23:52:00 -07:00
Kubernetes Prow Robot 7d4ed843f0 Merge pull request #28391 from chenxuc/zh-resync-10-1
[zh]Resync reference for glossary and sec issues
2021-06-15 23:49:59 -07:00
howieyuen fd331f35df translate node-pressure-eviction.md 2021-06-16 14:21:37 +08:00
howieyuen e27888a089 [zh] translate pod-priority-and-preemption.md 2021-06-16 14:18:07 +08:00
Meha Bhalodiya 5a5c96b2cc Add tooltip for affinity 2021-06-16 11:11:15 +05:30
Kubernetes Prow Robot 11afd156d2 Merge pull request #28405 from n1rna/patch-1
Fix feature state version for jobs ttl
2021-06-15 18:01:59 -07:00
Kubernetes Prow Robot 1ae5374fa0 Merge pull request #28431 from Arhell/fix-pod
[fr] Fix static pod manifests generation
2021-06-15 15:49:43 -07:00
Arhell b065416e1c [fr] Fix static pod manifests generation 2021-06-16 00:21:08 +03:00
Albert 482b53e3df remove duplicate content 2021-06-15 21:54:35 +08:00
Abdullah Gharaibeh a30d7351e8 Pod affinity namespaceSelector to beta 2021-06-15 09:03:28 -04:00
Nima 42af0d2f58 Remove paragraph about TTLAfterFinished feature gate 2021-06-15 13:52:43 +02:00
Tobias Nehrlich 3501c3b9c4 Improve resource section of init containers 2021-06-15 13:28:08 +02:00
Kubernetes Prow Robot cc5ca4f049 Merge pull request #28423 from theadisoni/patch-1
Updated garbage-collection.md there was minor documentation mistake that is corrected!
2021-06-15 03:56:00 -07:00
Aditya Soni c2a5b2b39a Update garbage-collection.md 2021-06-15 15:04:04 +05:30
Maciej Szulik f3101ee9fa Update CronJob concept description 2021-06-15 10:46:27 +02:00
Maciej Szulik 24b88be247 Promote CronJobControllerV2 flag to GA 2021-06-15 10:46:26 +02:00
Kubernetes Prow Robot 09b838fa6c Merge pull request #27129 from chrismetz09/metz-ingress-pict
Upgrade Mermaid to fix diagram render problem on ingress page
2021-06-15 01:38:00 -07:00
buptliuwei b66f9a0115 fix deprecated translation
fix deprecated translation
2021-06-15 14:05:04 +08:00
Shubham Kuchhal 1096e3bcd5 Fix links in the Runtime Class. 2021-06-15 11:07:25 +05:30
Kubernetes Prow Robot 3529fc6ebb Merge pull request #28312 from antoinep92/patch-1
Document recovery from broken kubelet certificate
2021-06-14 22:08:00 -07:00
Kubernetes Prow Robot 45a1150178 Merge pull request #28056 from cynepco3hahue/fix_memory_manager_policies
memory manager: update policies names according to the code
2021-06-14 21:52:02 -07:00
Kubernetes Prow Robot 46045cf53a Merge pull request #28382 from mehabhalodiya/patch-1
doc: remove unneeded comma
2021-06-14 21:44:00 -07:00
chrismetz09 51ccd736f5 fixed render problem for mermaid picts on ingress page 2021-06-14 21:13:05 -07:00
Kubernetes Prow Robot 84a6862a2a Merge pull request #28400 from tengqm/fix-example-test
Fix test cases for examples
2021-06-14 16:36:00 -07:00
Kubernetes Prow Robot e5b5f45e7c Merge pull request #28408 from tengqm/fix-links-1
Fix some links in the tasks section
2021-06-14 16:24:01 -07:00
Mike Spreitzer 75b274a915 Doc the apiserver_flowcontrol_request_concurrency_in_use metric 2021-06-14 14:29:08 -04:00
James Strong e7600828eb Update content/en/blog/_posts/2021-06-21-update-with-ingress-nginx.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-06-14 14:18:28 -04:00
James Strong 701fe1d733 Update content/en/blog/_posts/2021-06-21-update-with-ingress-nginx.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-06-14 14:18:14 -04:00
hardikshah197 6fae06b5c8 changes made 2021-06-14 23:36:52 +05:30
Kubernetes Prow Robot 3d35f770d0 Merge pull request #28374 from froblesmartin/patch-1
Updating --cascade=false to --cascade=orphan
2021-06-14 11:01:29 -07:00
James Strong e31b30576b Update content/en/blog/_posts/2021-06-21-update-with-ingress-nginx.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-06-14 13:12:19 -04:00
James Strong 1fabeed318 Update content/en/blog/_posts/2021-06-21-update-with-ingress-nginx.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-06-14 13:11:44 -04:00
Kubernetes Prow Robot b4fc266671 Merge pull request #27010 from busser/master
Add blog article on writing labelling controller
2021-06-14 09:29:05 -07:00
James Strong efafee8ee0 Update content/en/blog/_posts/2021-06-21-update-with-ingress-nginx.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-06-14 11:52:50 -04:00
James Strong 939f7d0c80 clarifying ingress 2021-06-14 11:51:11 -04:00
James Strong cad573d5fa Update content/en/blog/_posts/2021-06-21-update-with-ingress-nginx.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-06-14 11:50:01 -04:00
James Strong ae18bd4806 Update content/en/blog/_posts/2021-06-21-update-with-ingress-nginx.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-06-14 11:49:52 -04:00
James Strong ef178c5a3e Update content/en/blog/_posts/2021-06-21-update-with-ingress-nginx.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-06-14 11:49:36 -04:00
James Strong 9a611b2e2a Update content/en/blog/_posts/2021-06-21-update-with-ingress-nginx.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-06-14 11:49:05 -04:00
James Strong 3a74cb7275 Update content/en/blog/_posts/2021-06-21-update-with-ingress-nginx.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-06-14 11:48:51 -04:00
James Strong e60c68f756 Update content/en/blog/_posts/2021-06-21-update-with-ingress-nginx.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-06-14 11:48:43 -04:00
James Strong 5aab352c81 Update content/en/blog/_posts/2021-06-21-update-with-ingress-nginx.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-06-14 11:48:34 -04:00
James Strong ad177b2e71 Update content/en/blog/_posts/2021-06-21-update-with-ingress-nginx.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-06-14 11:48:26 -04:00
James Strong 79e049b028 Merge branch 'kubernetes:master' into ingress-nginx-stabilization 2021-06-14 11:20:35 -04:00
James Strong 2d46bfb913 Update content/en/blog/_posts/2021-06-21-update-with-ingress-nginx.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-06-14 11:19:36 -04:00
James Strong 6731e5cb15 updates post and date 2021-06-14 11:06:47 -04:00
Kubernetes Prow Robot 6594729f5d Merge pull request #28335 from mylovepooh/translate-28261
Translate concepts/services-networking/service-traffic-policy in Korean
2021-06-14 07:05:05 -07:00
Qiming Teng 8282ae39a9 Fix some links in the tasks section
This PR fixes some links and typesetting nits in the tasks section.
There is no fundamental changes to the content.
2021-06-14 21:06:10 +08:00
Kubernetes Prow Robot 7d61e15524 Merge pull request #26806 from emanuelhaine/persistentstorage
add content/pt/docs/concepts/storage/persistent-volumes.md
2021-06-14 06:05:05 -07:00
Qiming Teng ad93c9a6ef Fix some links in the concepts section
This PR fixes the links in the concepts section. Most of the links are
not dead links in English version because there are redirects for them.
However, these links will be broken when localized to any languages
other English.

Where appropriate. this PR also wraps some long lines which are
unfriendly to any localization team that try to catch the differences
between revisions.
2021-06-14 20:38:10 +08:00
Kubernetes Prow Robot 15dba8f975 Merge pull request #28403 from jihoon-seo/210614_Fix_wrong_custom_heading_ID
[zh] Fix wrong custom heading ID
2021-06-14 05:15:04 -07:00
Nima 8a8427ef5e Change alpha to beta 2021-06-14 13:03:23 +02:00
Nima d92c9f2a74 Fix feature state version for jobs ttl
I think this is a typo in the docs and it should be `v1.21` instead of `v1.12`
2021-06-14 12:38:28 +02:00
Kubernetes Prow Robot 8789b66345 Merge pull request #28327 from HongjiangHuang/es/container-runtime
[es]: fix container-runtime full_link 404
2021-06-14 03:31:04 -07:00
Jihoon Seo 4267616e07 [zh] Fix wrong custom heading ID 2021-06-14 17:38:18 +09:00
mylovepooh fa912fe62e Translate concepts/services-networking/service-traffic-policy in Korean 2021-06-14 16:20:38 +09:00
chenxuc 6039c1b32e resync reference for overview and cheatsheet 2021-06-14 15:15:42 +08:00
Kubernetes Prow Robot 91bab67e80 Merge pull request #28388 from seokho-son/fix-pki-dev-1.21-ko.4
[ko] Enhance ko/docs/setup/../certificates translation
2021-06-13 23:45:05 -07:00
Qiming Teng 126e636fb5 Fix test cases for examples
This PR updates the test case to use for v1.21
2021-06-14 13:01:34 +08:00
Kubernetes Prow Robot 43f8f63809 Merge pull request #28398 from Arhell/update
[zh] update release status
2021-06-13 18:01:03 -07:00
Kubernetes Prow Robot 2b097d494a Merge pull request #28394 from Arhell/fix-word
[zh] fix typo node-resource-managers.md
2021-06-13 17:27:03 -07:00
Arhell ea83fa8ec4 [zh] update release status 2021-06-14 00:34:22 +03:00
Rolfe Dlugy-Hegwer 7aabb11bbb Proposed hugo archetype to fix issue #27843 2021-06-13 15:54:34 -04:00
Arhell 7332187091 [zh] fix typo node-resource-managers.md 2021-06-13 12:06:12 +03:00
TAKAHASHI Shuuji c2234e1154 Apply suggestions from code review
Co-authored-by: nasa9084 <nasa9084@users.noreply.github.com>
2021-06-13 14:51:56 +09:00
chenxuc 83117ce20b [zh]Resync reference for glossary and sec issues
related: #27673
2021-06-13 09:02:16 +08:00
Kubernetes Prow Robot bdeeed8266 Merge pull request #28381 from seokho-son/out1-dev-1.21-ko.4
[ko] Update outdated files in dev-1.21-ko.4 (p1)
2021-06-12 17:13:01 -07:00
Emanuel Haine c03963607a [spelling corrections] content/pt/docs/concepts/storage/persistent-volumes.md #26806 2021-06-12 17:31:35 -03:00
seokho-son 6a3ea501e0 Enhance ko/docs/setup/../certificates translation 2021-06-13 02:18:28 +09:00
seokho-son 191506a9f8 Fix ko extend-kubernetes 2021-06-13 01:50:28 +09:00
Kubernetes Prow Robot 3540214344 Merge pull request #28152 from JayKayy/master
Update default node pod limits for large cluster
2021-06-12 09:17:00 -07:00
Tim Bannister 7bdab6f121 Improve getting started page (#28356)
* Link to downloads from Getting Started

* Improve Getting Started page
2021-06-12 09:11:00 -07:00
Kubernetes Prow Robot d6a5fb221b Merge pull request #28358 from bakotaco/patch-1
Update the "hello minikube" tutorial to match updated output from minikube
2021-06-12 09:07:00 -07:00
Kubernetes Prow Robot 588f6c2e0b Merge pull request #28131 from chenxuc/dns-pod-service
Update feature availability for dns-pod-service
2021-06-12 08:57:00 -07:00
Meha Bhalodiya 314179dd37 doc: remove unneeded comma 2021-06-12 18:04:39 +05:30
Kubernetes Prow Robot 0bad7d1e06 Merge pull request #28345 from pjhwa/outdated-28288-2
[ko] Update outdated files in dev-1.21-ko.4 (p2)
2021-06-12 02:29:00 -07:00
Kubernetes Prow Robot dbb0ecab79 Merge pull request #28349 from kiyeongkil/translate-28221
Translate concepts/scheduling-eviction/api-eviction into Korean
2021-06-12 02:23:00 -07:00
Kubernetes Prow Robot d456e9c403 Merge pull request #28344 from marcushyungseoklee/translate-28137-ko.4
Translate concepts/policy/node-resource-managers into Korean
2021-06-12 02:21:00 -07:00
seokho-son cacad0e02e Update outdated files in dev-1.21-ko.4 (p1) 2021-06-12 18:02:48 +09:00
chenxuc 97a453a505 Update feature availability for dns-pod-service
Removed the outdated availability section and add feature state
shortcode.
2021-06-12 16:24:35 +08:00
Kubernetes Prow Robot 31a587634e Merge pull request #28377 from ritpanjw/merged-master-dev-1.22
Merge master into dev-1.22 to keep in sync - SIG-Release 1.22 Docs team 6/11/21
2021-06-12 00:55:00 -07:00
Brendan Burns 2a03ddea27 Remove Google SDK instructions. (#28165)
* Remove Google SDK instructions.

Ref: https://github.com/kubernetes/website/issues/20232

* Remove Google SDK instructions for MacOS

* Remove Google SDK instructions for Windows

* Delete install-kubectl-gcloud.md
2021-06-11 18:23:00 -07:00
Arhell 1f1d15f4d0 [ja] fix broken link to Ansible in kubespray.md 2021-06-12 01:57:55 +03:00
Kubernetes Prow Robot 494c825656 Merge pull request #28119 from moijes12/patch-1
Correcting entry in Multiple Resource Types
2021-06-11 15:21:00 -07:00
Kubernetes Prow Robot 1f6e7cc742 Merge pull request #28120 from HeGaoYuan/patch-2
Update determine-reason-pod-failure.md
2021-06-11 15:03:01 -07:00
Kubernetes Prow Robot c623e2c233 Merge pull request #28125 from jaxzon/patch-1
Update client-libraries.md
2021-06-11 14:58:59 -07:00
Ritu Panjwani 20efd69cd9 Merge master into dev-1.22 to keep in sync
Signed-off-by: Ritu Panjwani <panjwaniritu45@gmail.com>
2021-06-11 11:19:35 -07:00
hikkie3110 30b9889f01 Update content/ja/docs/tasks/administer-cluster/topology-manager.md
Co-authored-by: bells17 <bells171@gmail.com>
2021-06-11 23:11:04 +09:00
hikkie3110 eaafee93a4 [fix-26117]update 2021-06-11 23:10:05 +09:00
hikkie3110 b7364a4df6 Update content/ja/docs/tasks/administer-cluster/topology-manager.md
Co-authored-by: bells17 <bells171@gmail.com>
2021-06-11 23:02:28 +09:00
hikkie3110 63a94667e8 Update content/ja/docs/tasks/administer-cluster/topology-manager.md
Co-authored-by: bells17 <bells171@gmail.com>
2021-06-11 22:59:40 +09:00
hikkie3110 b2ee46c93d Update content/ja/docs/tasks/administer-cluster/topology-manager.md
Co-authored-by: nasa9084 <nasa9084@users.noreply.github.com>
2021-06-11 22:53:01 +09:00
hikkie3110 21555751e4 Update content/ja/docs/tasks/administer-cluster/topology-manager.md
Co-authored-by: bells17 <bells171@gmail.com>
2021-06-11 22:52:53 +09:00
hikkie3110 2f6acf7b2d Update content/ja/docs/tasks/administer-cluster/topology-manager.md
Co-authored-by: bells17 <bells171@gmail.com>
2021-06-11 22:52:25 +09:00
hikkie3110 05245d8757 Update content/ja/docs/tasks/administer-cluster/topology-manager.md
Co-authored-by: bells17 <bells171@gmail.com>
2021-06-11 22:52:19 +09:00
hikkie3110 bcc64ffb7e Update content/ja/docs/tasks/administer-cluster/topology-manager.md
Co-authored-by: bells17 <bells171@gmail.com>
2021-06-11 22:52:11 +09:00
hikkie3110 8986c56dfb Update content/ja/docs/tasks/administer-cluster/topology-manager.md
Co-authored-by: bells17 <bells171@gmail.com>
2021-06-11 22:52:01 +09:00
hikkie3110 69cf8dd710 Update content/ja/docs/tasks/administer-cluster/topology-manager.md
Co-authored-by: bells17 <bells171@gmail.com>
2021-06-11 22:51:52 +09:00
Francisco Robles Martín ba734d4412 Updating --cascade=false to --cascade=orphan
Cascade=false is deprecated in kubectl 1.21, according to Bug https://github.com/kubernetes/website/issues/27920
2021-06-11 15:18:12 +02:00
Arthur Busser 8c580b8c72 feat(blog): add article on writing label controller 2021-06-11 15:05:08 +02:00
Jerry Park 858e73a417 Apply suggestions from code review
Co-authored-by: Jihoon Seo <46767780+jihoon-seo@users.noreply.github.com>
2021-06-11 19:23:00 +09:00
Kubernetes Prow Robot 1e402f834d Merge pull request #28372 from cpanato/add-adolfo-carlos
release-managers: add adolfo/carlos as tech leads
2021-06-11 02:28:59 -07:00
Carlos Panato c18c0acb38 release-managers: add adolfo/carlos as tech leads
Signed-off-by: Carlos Panato <ctadeu@gmail.com>
2021-06-11 11:13:03 +02:00
Kubernetes Prow Robot 79447ed22b Merge pull request #28333 from tengqm/zh-sync-service-account-admin
[zh] Resync service account admin page
2021-06-11 01:30:59 -07:00
kiyeongkil 38291299be Translate concepts/scheduling-eviction/api-eviction into Korean 2021-06-11 09:57:56 +09:00
Hyungseok Lee 94b1fd0c11 Translate concept/policy/node-resource-managers.md into Korean(Fix
Squash Task)
2021-06-11 09:46:34 +09:00
Arhell df1aa0728b [ja] Update kops versioned download URLs 2021-06-11 03:18:07 +03:00
Kubernetes Prow Robot c1858c6134 Merge pull request #28366 from howieyuen/fix-typo
[zh]fix two broken links and reconcile `sidecar` localization
2021-06-10 09:13:27 -07:00
howieyuen 038b2b99a7 fix two broken links and a word localization 2021-06-10 23:28:30 +08:00
Haardik Dharma 595962652b Update api-concepts.md 2021-06-10 20:34:22 +05:30
Shubham Kuchhal deba5807c9 Fix typo 2021-06-10 18:15:32 +05:30
Shubham Kuchhal 3762e01c6d Correct the Configure Certificate Rotation for the Kubelet docs. 2021-06-10 18:11:39 +05:30
Kubernetes Prow Robot 2f4a570f0c Merge pull request #27573 from dancnfoo/patch-1
Update custom-resource-definition-versioning.md
2021-06-09 19:57:26 -07:00
Kubernetes Prow Robot 5582a91e4b Merge pull request #28238 from CaoDonghui123/fix1
[zh]Resync Reference files[11]
2021-06-09 19:43:27 -07:00
Bruno Gabriel da Silva 0295ca4f9e Adjust yaml indentation on allowedHostPaths example (#27731)
* Adjust yaml indentation on allowedHostPaths

allowedHostPaths is an attribute inside spec: of PSP, so the sample needs to be shifted to match the YAML.

* Adjusted the PSP example allowedHostPaths coments

Adjusted the whole example (including the #coments)
2021-06-09 18:37:26 -07:00
Kubernetes Prow Robot 36a464b5f4 Merge pull request #28343 from fml2/patch-1
doc: remove unneeded comma
2021-06-09 17:43:27 -07:00
Kubernetes Prow Robot 969706c388 Merge pull request #27371 from rosespecs/patch-1
Gramma fix for change-pv-reclaim-policy.md
2021-06-09 17:39:26 -07:00
Kubernetes Prow Robot fd3422a561 Merge pull request #28047 from AsterYujano/patch-1
Update kustomization.md
2021-06-09 17:31:26 -07:00
Kubernetes Prow Robot 94b2004b82 Merge pull request #28097 from jmyung/patch-1
fix minor typo in configure-runasusername.md
2021-06-09 17:17:27 -07:00
Lubomir I. Ivanov fa3efa1441 kubeadm: use the new v1beta3 instead of v1beta2
In 1.22 kubeadm is adding a new API version - v1beta3.
Adapt links and examples to use v1beta3 instead of v1beta2.
v1beta2 is not deprecated yet, but v1beta3 is preferred
at this point.
2021-06-10 02:51:16 +03:00
Bas Kok 03d885ebc0 Update the expected output for minikube addons enable
The output from `minikube addons enable` in the documentation should match the output from the current version of minikube (which is also in katakoda)
2021-06-09 21:30:01 +02:00
Javier Diaz-Montes e16b64c43e Updating docs to reflect graduation of setHostnameAsFQDN feature to GA. KEP PR: kubernetes/enhancements#2641, Kubernetes PR: kubernetes/kubernetes#101294 2021-06-09 14:00:17 -04:00
Kubernetes Prow Robot ae45ec249e Merge pull request #28298 from HongjiangHuang/zh/resync-reference
[zh]: Resync kube-scheduler references files.
2021-06-09 06:33:48 -07:00
Jai Govindani c3624aba96 fix(/contribute/page-templates): broken redirect (#28107)
* fix(/contribute/page-templates): broken redirect

Signed-off-by: Jai Govindani <jai@honestbank.com>

* fix(redirects): page-templates > page-content-types

* fix(static/_redirects): remove erroneous redirect
2021-06-09 05:29:47 -07:00
Qiming Teng f44e3ff8c8 [zh] Resync using-api section 2021-06-09 19:58:54 +08:00
hardikshah197 44eea9958e Merge branch 'master' into issue#28062 2021-06-09 15:54:35 +05:30
hardikshah197 23122963bc link updated 2021-06-09 15:53:18 +05:30
hardikshah197 7f0111d68a link restored 2021-06-09 15:34:39 +05:30
Jerry Park 1e50590bc4 [ko] Update outdated files in dev-1.21-ko.4 (p2) 2021-06-09 18:29:18 +09:00
fml2 86597ed556 doc: remove unneeded comma 2021-06-09 10:27:29 +02:00
Kubernetes Prow Robot 765877ac7c Merge pull request #28219 from ulrich/patch-1
Update configure-liveness-readiness-startup-probes.md
2021-06-09 00:51:47 -07:00
Kubernetes Prow Robot f9d249b415 Merge pull request #28328 from HongjiangHuang/fr/container-runtime
[fr]: fix container-runtime full_link 404
2021-06-09 00:19:47 -07:00
Kubernetes Prow Robot b22d548851 Merge pull request #28330 from HongjiangHuang/ru/container-runtime
[ru]: fix container-runtime full_link 404
2021-06-08 23:05:47 -07:00
Qiming Teng cbc503206a [zh] Resync service account admin page 2021-06-09 10:37:08 +08:00
Kubernetes Prow Robot d8f4b5c161 Merge pull request #28289 from PI-Victor/merged-master-dev-1.22
Merge master into dev-1.22
2021-06-08 19:31:47 -07:00
Kubernetes Prow Robot 9a303171a6 Merge pull request #28183 from jihoon-seo/210531_Update_KubeCon_buttons
Update 'Attend KubeCon' buttons
2021-06-08 19:31:47 -07:00
Squidtoon99 ddc67b8114 Fix a few grammar issues and typos (#28332)
* Fix few grammar issues and typos in the blog page

> see the API documentation more information
Should be corrected to "documentation for more information" as the sentence is incorrect.

> may only compare two resource version for equality
Everywhere else in the paragraph "resource versions" are used, I believe this is just a typo.

> The get, list and watch
Missing comma after list to separate the elements

* Fix typos in blog post

> On rare occurences, a 
"occurrences" is misspelled

>  whole list, map or struct
3 elements are missing a comma seperator after map
 
>  there are no way 
are is a plural form while "no way" is a singular subject

> `MergePatch`, `StrategicMergePatch`, `JSONPatch` or `Update`
Missing comma after JSONPatch
2021-06-08 19:11:47 -07:00
Kubernetes Prow Robot 6852192fc4 Merge pull request #25326 from rayw000/makefile-update-submodules-before-serve
Add new make target `module-init` and update `module-check`
2021-06-08 19:01:47 -07:00
Kubernetes Prow Robot 0bf3cb6b6c Merge pull request #27989 from makusu2/patch-1
Clarify what must be the same
2021-06-08 18:17:47 -07:00
Kubernetes Prow Robot 676da1fe64 Merge pull request #27932 from s-bauer/patch-1
Updated Feature Gate "TTLAfterFinished"
2021-06-08 16:35:46 -07:00
Kubernetes Prow Robot 181cdb0f1d Merge pull request #28299 from bells17/fix-em-tags
Fix em tags
2021-06-08 16:19:24 -07:00
tylerphilips d1fa1547e7 Added Navigation buttons for training modules 1 to 6 2021-06-08 19:04:27 -04:00
Kubernetes Prow Robot 869c5c04ca Merge pull request #27904 from jai/jai/fix-24133
chore(kubectl-cmds): add redirect to skip reundant page
2021-06-08 16:03:23 -07:00
Kubernetes Prow Robot 32dbaaaaea Merge pull request #27991 from a-mccarthy/fix-27360
Add page for analytics dashboard
2021-06-08 14:58:07 -07:00
Kubernetes Prow Robot fbab5a864d Merge pull request #28073 from vitaliyf/patch-1
Clarify that Docker registry secrets are using type kubernetes.io/dockerconfigjson
2021-06-08 14:24:08 -07:00
James Strong af063002a9 Update content/en/blog/_posts/2021-05-30-update-with-ingress-nginx.md
Co-authored-by: Taylor Dolezal <onlydole@users.noreply.github.com>
2021-06-08 15:43:30 -04:00
James Strong df7088934e Update content/en/blog/_posts/2021-05-30-update-with-ingress-nginx.md
Co-authored-by: Taylor Dolezal <onlydole@users.noreply.github.com>
2021-06-08 15:42:31 -04:00
James Strong 4f62d70405 Update content/en/blog/_posts/2021-05-30-update-with-ingress-nginx.md
Co-authored-by: Taylor Dolezal <onlydole@users.noreply.github.com>
2021-06-08 15:42:13 -04:00
James Strong 6efa69b3fd Update content/en/blog/_posts/2021-05-30-update-with-ingress-nginx.md
Co-authored-by: Taylor Dolezal <onlydole@users.noreply.github.com>
2021-06-08 15:41:49 -04:00
James Strong fa66b1c724 Update content/en/blog/_posts/2021-05-30-update-with-ingress-nginx.md
Co-authored-by: Taylor Dolezal <onlydole@users.noreply.github.com>
2021-06-08 15:41:22 -04:00
Kubernetes Prow Robot db7be243a4 Merge pull request #28254 from Arhell/fixes
[ru] Fixed errors in instructions for generating ref docs
2021-06-08 12:36:07 -07:00
Albert fc82534c5b [ru]: fix container-runtime full_link 404 2021-06-09 02:44:06 +08:00
Albert b38fe10b73 [it]: fix container-runtime full_link 404 2021-06-09 02:40:34 +08:00
Albert 8d40a8560c [fr]: fix container-runtime full_link 404 2021-06-09 02:38:55 +08:00
Albert 745e62c4d6 [es]: fix container-runtime full_link 404 2021-06-09 02:34:55 +08:00
Kubernetes Prow Robot d2f5f92e8b Merge pull request #28311 from Shubham82/fix-Managing_Service_Accounts
Improvement: Managing Service Accounts
2021-06-08 09:15:34 -07:00
Kubernetes Prow Robot aa4e715c26 Merge pull request #28208 from eatjeff/2021053104
replace http link to https
2021-06-08 07:21:12 -07:00
Kubernetes Prow Robot 3c69a21f23 Merge pull request #28250 from HongjiangHuang/fix/dotnet-client
[en]: fix client libraries
2021-06-08 07:19:13 -07:00
Kubernetes Prow Robot 2801962020 Merge pull request #28263 from yilmazsen/patch-1
Adding one line code for installation of kubectl
2021-06-08 07:17:14 -07:00
Kubernetes Prow Robot b7dc57f73d Merge pull request #28321 from tengqm/fix-typo
Fix a typo on labels-annotations-taints page
2021-06-08 06:25:13 -07:00
Antoine Poliakov 58fc28ecb8 Document kubelet client certificate recovery
break long lines

simplify wording (suggested by neolit123)

phrasing error/typo

don't mention creating a new kuebadm config file, not really relevant here

remove unnecessary stop from kubelet cert troubleshoot

minor phrasing improvement: *the* kublet

make the steps for fixing kubelet certs separate from other troubleshooting suggestions

move kubelet cert troubleshooting to a better place

improve note wording and add link

add missing dot

Co-authored-by: Lubomir I. Ivanov <neolit123@gmail.com>

add missing dot

Co-authored-by: Lubomir I. Ivanov <neolit123@gmail.com>

remove steps not related to the issue

Make instructions work on worker nodes too

Co-authored-by: Lubomir I. Ivanov <neolit123@gmail.com>
2021-06-08 09:18:02 +02:00
caodonghui c73d0510b9 [zh]Resync Reference files[11] 2021-06-08 14:53:04 +08:00
Shubham Kuchhal 5cf02fde98 Add Spaces. 2021-06-08 11:08:11 +05:30
Qiming Teng e4dde86ce2 Fix a typo on labels-annotations-taints page 2021-06-08 13:32:38 +08:00
Qiming Teng 3874ee3a96 [zh] Resync reference for kube-proxy
Part of #27673
2021-06-08 13:24:16 +08:00
Kubernetes Prow Robot 4502d3b438 Merge pull request #28108 from amuraru/patch-1
Fixed link to API priority and fairness enhancement proposal
2021-06-07 16:24:02 -07:00
timyinshi c787c02b81 delete extra chinese words
Signed-off-by: timyinshi <shiguangyin@inspur.com>
2021-06-07 22:31:24 +08:00
Shubham Kuchhal baf379436b Improvement: Managing Service Accounts 2021-06-07 17:33:58 +05:30
Albert 454ebcfd48 [zh]: resync kube-scheduler references files. 2021-06-07 18:01:52 +08:00
pacoxu 6bbe2ff4e9 add k8s.gcr.io/pause:3.5 to windows pause image list 2021-06-07 17:36:39 +08:00
Kubernetes Prow Robot 55f1b0a4b9 Merge pull request #28255 from t-inu/fix-emphasis-1
[ja] Fix emphasis tags in ja/docs/concepts/services-networking/service.md
2021-06-06 04:32:38 -07:00
Naoki Oketani 8980a7d339 fix translation of "cluster" 2021-06-06 20:15:09 +09:00
Naoki Oketani b8978f5906 update task-tutorial-prereqs 2021-06-06 20:13:34 +09:00
bells17 edac091e45 Fix em tags: content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md 2021-06-06 18:42:20 +09:00
bells17 f0c13220f1 Fix em tags: content/ja/docs/concepts/scheduling-eviction/kube-scheduler.md 2021-06-06 18:40:13 +09:00
bells17 8c4b1d3e86 Fix em tags: content/ja/docs/concepts/scheduling-eviction/assign-pod-node.md 2021-06-06 18:38:15 +09:00
bells17 1a33732455 Fix em tags: content/ja/docs/concepts/containers/runtime-class.md 2021-06-06 18:36:59 +09:00
bells17 20c11beb32 Fix em tags: content/ja/docs/concepts/configuration/overview.md 2021-06-06 18:35:43 +09:00
bells17 7b4b91831e Fix em tags: content/ja/docs/concepts/configuration/manage-resources-containers.md 2021-06-06 18:33:14 +09:00
Kubernetes Prow Robot 36dd47fa60 Merge pull request #28297 from sysnet4admin/dev-1.21-ko.4
[ko] Update assign-pod-node.md
2021-06-05 23:00:38 -07:00
Kubernetes Prow Robot 2ca47a8e94 Merge pull request #27918 from jai/jai/fix-27916
fix(redirects): update broken /contribute/participating/ redirect
2021-06-05 21:14:38 -07:00
Hoon Jo 8fee2a9ae9 Update assign-pod-node.md
Typo issue in Korean
2021-06-05 22:56:33 +09:00
Kubernetes Prow Robot cfa387a2df Merge pull request #28166 from brendandburns/brendandburns-patch-1
Delete logging-stackdriver.md
2021-06-05 06:30:38 -07:00
Kubernetes Prow Robot ade29b7f44 Merge pull request #28161 from jicowan/patch-1
Update resource-bin-packing.md
2021-06-05 06:28:38 -07:00
Kubernetes Prow Robot 04ea603058 Merge pull request #28176 from chenrui333/zh/resync-scheduling-eviction-files
zh: resync scheduling files
2021-06-05 06:26:38 -07:00
Kubernetes Prow Robot 1f70fdbf44 Merge pull request #28030 from ms-choudhary/fix-list-images
Fix list all uniq container images
2021-06-05 06:16:38 -07:00
Kubernetes Prow Robot ed7eb19f8b Merge pull request #28294 from tengqm/fix-27953
Fix Windows sample command
2021-06-05 04:50:38 -07:00
Qiming Teng d0689c9937 Fix Windows sample command
The script mentioned actually accepts simply the version string without
the 'v' character.
2021-06-05 17:24:22 +08:00
Kubernetes Prow Robot b54f8b02d4 Merge pull request #28087 from MartinKanters/contrib-upstream-remove-reference-to-deleted-file
Deleted reference to removed file
2021-06-05 02:22:38 -07:00
Kubernetes Prow Robot 892a71113d Merge pull request #27984 from kenaniah/patch-1
Fixes a small typo in topology aware hints page
2021-06-04 21:10:38 -07:00
Marian Steinbach 56dbcd6731 Terminology: high-availability masters -> high-availability control plane (#28225)
* Change terminology: high availability masters -> high availability control plane

* Fix typo

* Add alias for old URI

* Rename file
2021-06-04 21:08:38 -07:00
Kubernetes Prow Robot 9f8abfadd0 Merge pull request #28246 from Shubham82/fix-Configure_Service_Accounts_for_Pods
Improvement in Configure Service Accounts for Pods Task
2021-06-04 21:04:37 -07:00
Kubernetes Prow Robot 7097e3a8d7 Merge pull request #28096 from gjkim42/expanded-dns-config
Add ExpandedDNSConfig feature gate
2021-06-04 20:50:38 -07:00
tylerphilips b3c36f6b5e Added Navigation buttons for training modules 1 to 6 2021-06-04 21:35:43 -04:00
tylerphilips 7a02a387dc Added navigation buttons for training modules 1 to 4 2021-06-04 20:53:33 -04:00
Kubernetes Prow Robot 57b22c21d5 Merge pull request #28244 from ondrej-ivanko/patch-1
Update feature-gates.md
2021-06-04 16:22:38 -07:00
Victor Palade 996ebf5b76 Merge master into dev-1.22 to keep in sync 2021-06-04 19:09:34 +02:00
Kubernetes Prow Robot c60ea43c62 Merge pull request #28257 from kubernetes/dev-1.21-ko.3
[ko] 3rd Korean localization work for v1.21
2021-06-04 07:47:26 -07:00
TAKAHASHI Shuuji 4b624fb8ad Add a note for the Japanese text 2021-06-04 13:21:10 +00:00
James Strong 2193b58d86 create blog post for ingress-nginx stabilization discussion 2021-06-04 08:30:31 -04:00
Kubernetes Prow Robot 9d00e14cd1 Merge pull request #28093 from shuuji3/concepts/configuration/organize-cluster-access-kubeconfig
Translate concepts/configuration/organize-cluster-access-kubeconfig/ into Japanese
2021-06-04 05:13:27 -07:00
Kubernetes Prow Robot 2de5a5b6d0 Merge pull request #27950 from Arhell/fix-version
[ja] Update HAProxy Protocol Link
2021-06-04 05:11:26 -07:00
Kubernetes Prow Robot 698187e97b Merge pull request #27846 from shuuji3/shuuji3/translate-concepts-cluster-27838
Translate concepts/cluster-administration/kubelet-garbage-collection into Japanese
2021-06-04 05:09:26 -07:00
Kubernetes Prow Robot 31d86b7ce4 Merge pull request #27595 from shuuji3/shuuji3/translate-tasks-manage-27594
Translate tasks/manage-kubernetes-objects/ into Japanese
2021-06-04 05:07:26 -07:00
Kubernetes Prow Robot 71a20e6e3e Merge pull request #27712 from shuuji3/shuuji3/translate-tasks-network-27706
Translate tasks/network/validate-dual-stack/ into Japanese
2021-06-04 03:33:27 -07:00
Kubernetes Prow Robot 498ad04207 Merge pull request #27707 from shuuji3/shuuji3/translate-tasks-job-indexed-27700
Translate tasks/job/indexed-parallel-processing-static/ into Japanese
2021-06-04 03:31:26 -07:00
Qiming Teng bd7a705b3b [zh] Fix and resync RBAC 2021-06-04 16:28:12 +08:00
Yılmaz ŞEN cd04c8a1f6 Adding one line code for installation of kubectl
Hi There, When I follow these instructions, I could not install correctly kubectl.  After kubectl file downloading, That file needs to be given execution permission.
I want to contribute for that.  Best regards.
2021-06-04 11:19:25 +03:00
Toshiaki Inukai 0893e5b1cc Fix emphasis tags 2021-06-03 23:56:59 +00:00
Arhell beabc4a7e1 [ru] Fixed errors in instructions for generating ref docs 2021-06-04 01:42:02 +03:00
Albert 905619a79b [en]: fix client libraries 2021-06-04 00:08:06 +08:00
Shubham Kuchhal 8d50647fdb Improve Configure Service Accounts
Improvement in Configure Service Accounts for Pods Task

Signed-off-by: Shubham Kuchhal <shubham.kuchhal@india.nec.com>

Remove annotations field from metadata.
2021-06-03 20:57:10 +05:30
Kubernetes Prow Robot 4c111df415 Merge pull request #28121 from jm1223kim/translate-27976
[ko] Translate /concepts/cluster-administration/system-logs.md into Korean
2021-06-03 07:59:38 -07:00
jmkim 104ec65282 Translate /concepts/cluster-administration/system-logs.md into Korean 2021-06-03 23:51:03 +09:00
4ndy 5736e480db Update feature-gates.md 2021-06-03 11:38:08 +02:00
Kubernetes Prow Robot 662bedc113 Merge pull request #28134 from pjhwa/outdated-m27-28079
Update outdated files in the dev-1.21-ko.3 branch (1)
2021-06-03 01:39:38 -07:00
Kubernetes Prow Robot 5bd85f4969 Merge pull request #28175 from seokho-son/dev-1.21-ko.3-out.rd
[ko] Restructure release directory and docs for Korean
2021-06-03 01:05:38 -07:00
Ulrich VACHON 77c019e97b Update configure-liveness-readiness-startup-probes.md
Kept coherence. Using "vous" instead of "tu".
2021-06-03 08:48:56 +02:00
Kubernetes Prow Robot cf2d39aae9 Merge pull request #28174 from seokho-son/dev-1.21-ko.3-out.28
[ko] Update outdated files in dev-1.21-ko.3(M28-M36)
2021-06-02 20:53:38 -07:00
Kubernetes Prow Robot bdcc6cf1f0 Merge pull request #28210 from jihoon-seo/210531_Update_outdated_files_in_dev-1.21-ko.3
[ko] Update outdated files in dev-1.21-ko.3 (p6)
2021-06-02 19:29:38 -07:00
Kubernetes Prow Robot c848390b05 Merge pull request #28237 from redcometlpb/translate28015
[ko] Translate concepts/storage/volume-health-monitoring in Korean
2021-06-02 19:15:38 -07:00
redcometlpb edb849a725 Translate concepts/storage/volume-health-monitoring in Korean 2021-06-03 10:52:10 +09:00
Jihoon Seo f0be2cf9a5 [ko] Update outdated files in dev-1.21-ko.3 (p6) 2021-06-03 06:06:47 +09:00
Abigail McCarthy dbca4e41b7 Fix page title 2021-06-02 14:05:40 -04:00
Kubernetes Prow Robot 8f4dea0311 Merge pull request #28100 from jmyung/jesang/runasusername/v0.1
[ko] Translate docs/tasks/configure-pod-container/configure-runasusername in Korean
2021-06-02 07:28:06 -07:00
Jihoon Seo 88018a88f2 Update 'Attend KubeCon' buttons 2021-06-02 12:04:20 +09:00
jmyung 1ada7f1a26 Translate docs/tasks/configure-pod-container/configure-runasusername in Korean 2021-06-01 22:33:03 +09:00
seokho-son 64558544ec Update outdated files in dev-1.21-ko.3(M28-M36) 2021-06-01 15:17:02 +09:00
Kubernetes Prow Robot 80076c421c Merge pull request #28212 from jihoon-seo/210531_Remove_untranslated_files_in_ko/case-studies
[ko] Remove untranslated files in ko/case-studies/
2021-05-31 23:12:27 -07:00
TAKAHASHI Shuuji 66d856101e Update content/ja/docs/tasks/network/validate-dual-stack.md
Co-authored-by: bells17 <bells171@gmail.com>
2021-05-31 19:38:42 +09:00
TAKAHASHI Shuuji 252cdaa736 Update content/ja/docs/tasks/job/indexed-parallel-processing-static.md
Co-authored-by: bells17 <bells171@gmail.com>
2021-05-31 19:37:46 +09:00
Jihoon Seo 7ebb227122 [ko] Remove untranslated files in ko/case-studies/ 2021-05-31 18:23:51 +09:00
yaohaoyun 9f09fe0e94 replace http link to https 2021-05-31 15:59:18 +08:00
Rui Chen 6e1ac284da zh: sync concepts/scheduling-eviction files
zh: sync docs/concepts/scheduling-eviction/_index

zh: sync docs/concepts/scheduling-eviction/assign-pod-node

zh: sync docs/concepts/scheduling-eviction/pod-overhead

zh: sync docs/concepts/scheduling-eviction/resource-bin-packing

zh: sync docs/concepts/scheduling-eviction/scheduler-perf-tuning

zh: sync docs/concepts/scheduling-eviction/scheduling-framework

zh: sync docs/concepts/scheduling-eviction/taint-and-toleration

zh: remove glossary_definition for concepts/scheduling-eviction

Signed-off-by: Rui Chen <rui@chenrui.dev>
2021-05-30 23:23:43 -04:00
Yong Zhang 34b3f3de11 Merge pull request #14 from kubernetes/master
merge from upsteam
2021-05-31 10:00:17 +08:00
Kubernetes Prow Robot f007e221ba Merge pull request #28163 from jihoon-seo/210529_Update_outdated_files_in_dev-1.21-ko.3
[ko] Update outdated files in dev-1.21-ko.3 (p3)
2021-05-30 17:30:26 -07:00
Kubernetes Prow Robot dcb54be0e1 Merge pull request #28153 from jihoon-seo/210528_Update_outdated_files_in_dev-1.21-ko.3
[ko] Update outdated files in dev-1.21-ko.3 (p2)
2021-05-30 17:28:26 -07:00
seokho-son 1a3e0e3c13 Restruct release directory and docs for Korean 2021-05-30 19:22:07 +09:00
Naoki Oketani 9991e07af3 Translate recently added sentences 2021-05-30 17:33:54 +09:00
Jihoon Seo 70d80a89e6 [ko] Update outdated files in dev-1.21-ko.3 (p3) 2021-05-30 09:27:33 +09:00
Brendan Burns 7af03687a0 Delete logging-stackdriver.md 2021-05-29 08:40:17 -07:00
Jihoon Seo a9fb2d35d0 [ko] Update outdated files in dev-1.21-ko.3 (p2) 2021-05-29 22:45:18 +09:00
Jeremy Cowan 610835108f Update resource-bin-packing.md
The original documentation was using `Profile` instead of the `KubeSchedulerConfiguration`.  Also clarified how you pass this configuration to the scheduler.
2021-05-28 21:47:14 -05:00
John Kwiatkoski 8c4a748db1 Update default pod limits
This update modifies the "pods-per-node" recommendation to align with the default Kubernetes setting of 110 pods per node.
2021-05-28 09:10:47 -04:00
Jai Govindani 3564a5fd99 fix(redirects/kubectl-cmds): add ! to 301
Adding an "!" after the 301 to see if that fixes/makes the redirect work
2021-05-28 08:07:31 +07:00
Kubernetes Prow Robot 67b9b0ba9e Merge pull request #28032 from liggitt/warning-ga
Mark WarningHeader feature gate as GA
2021-05-27 17:48:25 -07:00
Gunju Kim 30d4d4ee68 Add ExpandedDNSConfig feature gate 2021-05-27 20:20:30 +09:00
Kubernetes Prow Robot 5dfdc39076 Merge pull request #28049 from pacoxu/patch-6
kubeadm will default it to systemd in 1.22
2021-05-26 18:58:23 -07:00
Kubernetes Prow Robot 2855ab2ce6 Merge pull request #28065 from tallclair/features
StreamingProxyRedirects deprecation docs
2021-05-26 09:45:38 -07:00
Kubernetes Prow Robot 7d631e4f9e Merge pull request #27810 from liggitt/eviction-v1
Update eviction example to use policy/v1
2021-05-26 09:23:38 -07:00
Jerry Park 43cee67f88 Update outdated files in the dev-1.21-ko.3 branch (1) 2021-05-26 23:03:40 +09:00
jaanus e9ad987d02 Update client-libraries.md
Pykube is archived and not maintained anymore.
2021-05-26 10:41:21 +03:00
HeGaoYuan 40e305ac9d Update determine-reason-pod-failure.md
cmd => command for more accurate
2021-05-26 12:57:38 +08:00
Alex bff31ff2b4 Correcting entry in Multiple Resource Types
We *can* use field selectors across multiple resource types.
2021-05-26 08:53:51 +05:30
hardikshah197 d54878ec75 namespace source link updated 2021-05-25 16:46:19 +05:30
Adrian Muraru 131c3a313e Fixed link to API priority and fairness enhancement proposal 2021-05-25 12:47:13 +03:00
olivierk 1661dbb435 fix typo _index.md
fix typo of a maj after a coma

Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-05-25 11:35:24 +04:00
olivierk 59d526f55c _index.md fix typo maj
fix the typo of a maj on the first letter of a sentence

Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-05-25 11:34:50 +04:00
Haardik Dharma 7376d834cb Mention that responses include a remainingItemCount by default 2021-05-24 21:08:14 +05:30
Jesang Myung dd05e6211d no right parenthesis in three parts. 2021-05-24 22:36:12 +09:00
TAKAHASHI Shuuji 47a137594b Translate concepts/configuration/organize-cluster-access-kubeconfig into Japanese 2021-05-24 03:14:48 +00:00
Martin Kanters 259bdd2848 Deleted reference to removed file 2021-05-23 11:28:44 +02:00
Lucas Servén Marín 14de2197f6 Fix grammar and consistency
This commit adds a missing word to a sentence to correct the grammar and adds a `the` before `Gateway API` for consistency.

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2021-05-23 10:07:50 +02:00
hikkie3110 16b3301da9 [fix-26117]shortcodeパラメータ修正 2021-05-21 23:41:55 +09:00
Paco Xu 3d96b73457 kubeadm will default it to systemd in 1.22
https://github.com/kubernetes/kubernetes/pull/102133#issuecomment-844264623
Signed-off-by: pacoxu <paco.xu@daocloud.io>
2021-05-21 17:36:27 +08:00
ms-choudhary e4550dc620 Fix: List all unique container images 2021-05-21 13:38:42 +05:30
hikkie3110 aa2be37048 create topology-manager.md 2021-05-21 11:50:26 +09:00
Vitaliy ccc61c87fc Clarify that Docker registry secrets are using type kubernetes.io/dockerconfigjson 2021-05-20 18:49:59 -04:00
Kubernetes Prow Robot af84d4255f Merge pull request #28064 from PI-Victor/merged-master-dev-1.22
Merge master into dev-1.22
2021-05-20 13:18:16 -07:00
Haardik Dharma 91f613e3ae Update feature-gates.md 2021-05-21 00:23:51 +05:30
Tim Allclair 76c58d8fd5 StreamingProxyRedirects deprecation docs 2021-05-20 11:48:54 -07:00
Victor Palade 5cb4f973a4 Merge master into dev-1.22 to keep in sync 2021-05-20 19:17:30 +02:00
Steven Pitts e72b6ace24 Update content/en/docs/tasks/configure-pod-container/quality-service-pod.md 2021-05-20 09:03:46 -04:00
olivierk 507f934707 Update content/fr/docs/concepts/workloads/_index.md
swap definition

Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-05-20 14:31:40 +04:00
olivierk 1a25dc8e73 Update content/fr/docs/concepts/workloads/_index.md
Fix DaemonSet word, and sentence

Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-05-20 14:27:53 +04:00
olivierk b2e8b6f913 Update content/fr/docs/concepts/workloads/_index.md
delete a non usefull space

Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-05-20 14:27:27 +04:00
olivierk adf73902b7 Update content/fr/docs/concepts/workloads/_index.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-05-20 14:26:38 +04:00
Artyom Lukianov 0b826545e8 memory manager: update policies names according to the code
Signed-off-by: Artyom Lukianov <alukiano@redhat.com>
2021-05-20 11:59:50 +03:00
Steven Pitts 0103741138 Update content/en/docs/tasks/configure-pod-container/quality-service-pod.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-05-19 17:23:05 -04:00
François 097292f485 Update kustomization.md
Fix typo for the *volumeMount* field

Running the previous snippets with `kubectl apply -k .` would generate this error: 

```
error validating ".": error validating data: ValidationError(Deployment.spec.template.spec.containers[0]): unknown field "volumeMount" in io.k8s.api.core.v1.Container;
```

According to [this page](https://kubernetes.io/docs/concepts/storage/volumes/), the correct field is "volumeMounts".
2021-05-19 23:05:01 +02:00
Jordan Liggitt 1500f1453d Mark WarningHeader feature gate as GA 2021-05-19 10:11:34 -04:00
Kubernetes Prow Robot 09a6795d12 Merge pull request #28010 from neolit123/1.22-remove-config-view
kubeadm: remove reference to the "config view" command.
2021-05-19 05:02:51 -07:00
Kubernetes Prow Robot 9380d26728 Merge pull request #28038 from apelisse/ssa-ga
Mark SSA as GA
2021-05-18 15:40:28 -07:00
Antoine Pelisse 289c3d0cee Mark ServerSideApply as GA 2021-05-18 15:07:37 -07:00
Kubernetes Prow Robot 2a10ec4721 Merge pull request #27988 from verb/1.22-api
Update website for change in the 1.22 ephemeral containers API
2021-05-18 07:45:31 -07:00
Lubomir I. Ivanov a41a4f98ee kubeadm: remove reference of the "config view" command.
The command is being removed in 1.22.
Clear references to it in kubeadm-config.md.
2021-05-17 21:21:18 +03:00
Abigail McCarthy 3a8af16d57 Update with nits from reviews 2021-05-17 08:39:39 -04:00
edsoncelio 0a5d839101 Update task secret translation 2021-05-16 09:12:38 -03:00
Abigail McCarthy b8ab5835b9 Add page for analytics dashboard 2021-05-14 17:12:27 -04:00
Steven Pitts c315df3c0f Clarify what must be the same
When reading these sentences, I thought that each pod must have the same values as each other pod. In other words, pod1's memory limit must equal pod2's memory limit.

It looks like I misunderstood; "must be the same" means that the limit and request values on each individual pod must match.

Clarify what "must be the same".
2021-05-14 12:12:48 -04:00
Lee Verberne ede985dccd Update website for 1.22 ephemeral containers API
This removes the description of the ephemeral containers API from the
concepts section of the website. Most (all?) concepts don't have a
detailed description of their API in concepts. We added it for the
initial release of ephemeral containers because using the raw API was
the only way to add an ephemeral container.

This description of the API is no longer correct. Since it's now easy to
add an ephemeral container using `kubectl debug`, and this is too much
detail for a concepts section, we should remove the API description
entirely.
2021-05-14 14:49:41 +02:00
olivierk 97475e7ba8 French translation of workloads page
Add the translated (french) page of the workload ressource.
2021-05-14 13:51:40 +04:00
Kenaniah Cerny 4da06b0930 Fixes a small typo 2021-05-13 16:15:26 -07:00
Kubernetes Prow Robot 347388843f Merge pull request #27870 from PI-Victor/merged-master-dev-1.22
Merge master into dev-1.22
2021-05-11 16:51:39 -07:00
Arhell 0e8b3e4aa8 [ja] Update HAProxy Protocol Link 2021-05-12 00:43:17 +03:00
Kubernetes Prow Robot cd24a8616f Merge pull request #27869 from PI-Victor/config-toml-1.22
config.toml: update config for k/website 1.22 release.
2021-05-11 11:22:37 -07:00
Jai Govindani 939f0881ab fix(redirects): spacing
Signed-off-by: Jai Govindani <jai@honestbank.com>
2021-05-11 12:15:59 +07:00
toshokan c860159ea8 [en] Fix secret -> secrets in titles 2021-05-10 22:07:40 -04:00
Simon Bauer a359a21959 Updated Feature Gate "TTLAfterFinished"
According to https://github.com/kubernetes/kubernetes/pull/98678 and the release notes for 1.21 the feature gate `TTLAfterFinished` is in beta now and enable by default. This change is not yet reflected in the Feature Gates documentation.
2021-05-10 15:39:32 +02:00
TAKAHASHI Shuuji cb894d47f2 Copy content/en/docs/concepts/configuration/organize-cluster-access-kubeconfig.md for translation 2021-05-09 09:37:42 +00:00
Edson C 9141b5762f Fix typos and improvements request by code review 2021-05-08 19:07:37 -03:00
Jai Govindani b0f9d9f074 fix(redirects): update broken /contribute/participating/ redirect
Signed-off-by: Jai Govindani <jai@honestbank.com>
2021-05-08 12:40:01 +07:00
Jai Govindani fdb56e4070 chore(kubectl-cmds): add redirect to skip reundant page
Signed-off-by: Jai Govindani <jai@honestbank.com>
2021-05-07 19:45:17 +07:00
Jai Govindani 2c82e7d6cf docs(manage-resources-containers): add volume and volumeMount for ephemeral storage
Signed-off-by: Jai Govindani <jai@honestbank.com>
2021-05-07 19:34:43 +07:00
Victor Palade 06119b951b Merge master into dev-1.22 to keep in sync. 2021-05-04 23:22:47 +02:00
Victor Palade f3040bca47 config.toml: update config for k/website 1.22 release.
Signed-off-by: Victor Palade <victor@cloudflavor.io>
2021-05-04 22:47:17 +02:00
Naoki Oketani 0ac1ac4e3d Translate docs/tasks/configmap-secret/managing-secret-using-kustomize/ into Japanese 2021-05-03 15:37:04 +09:00
edsoncelio 72267ac653 Add initial files to translate the secret task 2021-05-02 10:30:34 -03:00
edsoncelio c9ac54c054 Add label section translation 2021-05-02 10:21:28 -03:00
TAKAHASHI Shuuji 919cafa2c0 Add an anchor link to concepts/containers/_index.md 2021-05-01 08:00:27 +00:00
TAKAHASHI Shuuji e654c368a7 Translate concepts/cluster-administration/kubelet-garbage-collection into Japanese 2021-05-01 07:57:30 +00:00
TAKAHASHI Shuuji 390de57ebf Copy content/en/docs/concepts/cluster-administration/kubelet-garbage-collection.md for translation 2021-05-01 06:24:13 +00:00
Jordan Liggitt f081886b75 Update eviction example to use policy/v1 2021-04-29 12:05:03 -04:00
TAKAHASHI Shuuji 1e7eb181d2 Translate contribute/review/for-approvers/ into Japanese 2021-04-29 05:53:13 +00:00
TAKAHASHI Shuuji 68033869bf Translate tasks/network/validate-dual-stack into japanese 2021-04-27 11:21:43 +00:00
TAKAHASHI Shuuji 553e907708 Translate _index.md 2021-04-27 11:20:14 +00:00
TAKAHASHI Shuuji 074cc20ce3 Update example YAML files 2021-04-27 11:20:14 +00:00
TAKAHASHI Shuuji fe2e63d8e8 Copy content/ja/docs/tasks/network/{_index,validate-dual-stack}.md 2021-04-27 11:19:58 +00:00
edsoncelio 65d18f9229 Add digest translation 2021-04-26 19:49:39 -03:00
TAKAHASHI Shuuji fb49858f5a Copy content/en/docs/contribute/review/for-approvers.md for translation 2021-04-26 12:59:31 +00:00
Namesh Sanjitha 7dda1ca2e7 Corrected service dns name
I think data.prod.cluster.local should change to data.prod.svc.cluster.local
2021-04-26 06:53:52 +10:00
edsoncelio e8a94147fe Add the last of translation 2021-04-24 17:55:37 -03:00
TAKAHASHI Shuuji 1e3a357f47 Translate tasks/job/indexed-parallel-processing-static into Japanese 2021-04-24 13:46:00 +00:00
TAKAHASHI Shuuji 17f688f533 Add two new example files 2021-04-24 13:45:35 +00:00
TAKAHASHI Shuuji 37a6668fb2 Copy /content/en/docs/tasks/job/indexed-parallel-processing-static.md for Japanese translation 2021-04-24 05:39:06 +00:00
edsoncelio 104029df89 Add initial translation 2021-04-24 00:07:06 -03:00
Qiming Teng 145acad1f7 [zh] Update release notes
We still have an old release notes for zh localization.
2021-04-22 17:20:33 +08:00
TAKAHASHI Shuuji ce1f628732 Translate tasks/manage-kubernetes-objects/ into Japanese 2021-04-17 14:46:03 +00:00
dancnfoo a38531234f Update custom-resource-definition-versioning.md
`stored` should be `storage`
2021-04-15 11:50:24 -07:00
Rey Lejano ba7fae9534 Tracking commit for v1.22 docs 2021-04-08 13:08:35 -07:00
rosespecs dc413834ea Gramma fix for change-pv-reclaim-policy.md
Changing `is` to `will` here makes more grammatical sense.
2021-04-01 10:52:56 +01:00
Zhang Yong 02721989d8 Fix line separation in concepts/architecture/nodes 2021-03-28 11:19:22 +08:00
Zhang Yong 1fb6685925 Fix line separation in concepts/architecture/nodes 2021-03-28 11:05:23 +08:00
mengjiao.liu b2bc2fe7c2 update certificate-signing-requests Signer description 2021-03-18 18:01:32 +08:00
Emanuel Haine 172de26c54 Miswritten corrections 2021-03-07 17:13:46 -03:00
Emanuel Haine 6b8f15bd22 Fixing push request #26806 recommendations and I made some improvement on the translation 2021-03-07 15:35:38 -03:00
Emanuel Haine 8bd82abd9f persistent-volumes.md translation from storage directory 2021-03-06 16:47:17 -03:00
Emanuel Haine 16793b7e7f Fix word translations about push request #26806 2021-03-06 16:40:53 -03:00
Emanuel Haine 9ac0ee9665 persistent-volumes.md translation from storage directory 2021-03-06 16:40:53 -03:00
Ray Wang 57f12c3660 Better module checking/initializing mechanism
1. Print a message to tell if modules need to be initialized when running `make serve` or other similar targets, and stop current make procedure.
2. Provide `module-init` target to initialize all dependencies

Co-authored-by: Tim Bannister <tim@scalefactory.com>
2021-02-22 16:21:43 +08:00
Arnaud Meukam 5eadf77b14 Add Container image build automation
As suggested by BenTheElder, we need to add a cloudbuild.yaml spec that
will be used by the prow job to automate the container build and push
the tags.

Signed-off-by: Arnaud Meukam <ameukam@gmail.com>
2020-10-06 00:42:07 +02:00
1560 changed files with 192051 additions and 18986 deletions
+1 -1
View File
@@ -11,7 +11,7 @@
For overall help on editing and submitting pull requests, visit:
https://kubernetes.io/docs/contribute/start/#improve-existing-content
Use the default base branch, “master”, if you're documenting existing
Use the default base branch, “main”, if you're documenting existing
features in the English localization.
If you're working on a different localization (not English), see
+8 -3
View File
@@ -6,8 +6,9 @@ NETLIFY_FUNC = $(NODE_BIN)/netlify-lambda
# but this can be overridden when calling make, e.g.
# CONTAINER_ENGINE=podman make container-image
CONTAINER_ENGINE ?= docker
IMAGE_REGISTRY ?= gcr.io/k8s-staging-sig-docs
IMAGE_VERSION=$(shell scripts/hash-files.sh Dockerfile Makefile | cut -c 1-12)
CONTAINER_IMAGE = kubernetes-hugo:v$(HUGO_VERSION)-$(IMAGE_VERSION)
CONTAINER_IMAGE = $(IMAGE_REGISTRY)/k8s-website-hugo:v$(HUGO_VERSION)-$(IMAGE_VERSION)
CONTAINER_RUN = $(CONTAINER_ENGINE) run --rm --interactive --tty --volume $(CURDIR):/src
CCRED=\033[0;31m
@@ -19,7 +20,11 @@ help: ## Show this help.
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
module-check:
@git submodule status --recursive | awk '/^[+-]/ {printf "\033[31mWARNING\033[0m Submodule not initialized: \033[34m%s\033[0m\n",$$2}' 1>&2
@git submodule status --recursive | awk '/^[+-]/ {err = 1; printf "\033[31mWARNING\033[0m Submodule not initialized: \033[34m%s\033[0m\n",$$2} END { if (err != 0) print "You need to run \033[32mmake module-init\033[0m to initialize missing modules first"; exit err }' 1>&2
module-init:
@echo "Initializing submodules..." 1>&2
@git submodule update --init --recursive --depth 1
all: build ## Build site with production settings and put deliverables in ./public
@@ -91,4 +96,4 @@ clean-api-reference: ## Clean all directories in API reference directory, preser
api-reference: clean-api-reference ## Build the API reference pages. go needed
cd api-ref-generator/gen-resourcesdocs && \
go run cmd/main.go kwebsite --config-dir config/v1.21/ --file api/v1.21/swagger.json --output-dir ../../content/en/docs/reference/kubernetes-api --templates templates
go run cmd/main.go kwebsite --config-dir ../../api-ref-assets/config/ --file ../../api-ref-assets/api/swagger.json --output-dir ../../content/en/docs/reference/kubernetes-api --templates ../../api-ref-assets/templates
+2
View File
@@ -8,7 +8,9 @@ approvers:
emeritus_approvers:
# - chenopis, commented out to disable PR assignments
# - irvifa, commented out to disable PR assignments
# - jaredbhatti, commented out to disable PR assignments
# - kbarnard10, commented out to disable PR assignments
# - steveperry-53, commented out to disable PR assignments
- stewart-yu
# - zacharysarah, commented out to disable PR assignments
+14 -21
View File
@@ -1,12 +1,8 @@
aliases:
sig-docs-blog-owners: # Approvers for blog content
- castrojo
- kbarnard10
- onlydole
- mrbobbytables
sig-docs-blog-reviewers: # Reviewers for blog content
- castrojo
- kbarnard10
- mrbobbytables
- onlydole
- sftim
@@ -22,31 +18,25 @@ aliases:
- annajung
- bradtopol
- celestehorgan
- irvifa
- jimangel
- kbarnard10
- jlbutler
- kbhawkey
- onlydole
- pi-victor
- reylejano
- savitharaghunathan
- sftim
- steveperry-53
- tengqm
- zparnold
sig-docs-en-reviews: # PR reviews for English content
- bradtopol
- celestehorgan
- daminisatya
- jimangel
- kbarnard10
- kbhawkey
- onlydole
- rajeshdeshpande02
- sftim
- steveperry-53
- tengqm
- zparnold
sig-docs-es-owners: # Admins for Spanish content
- raelga
- electrocucaracha
@@ -82,19 +72,18 @@ aliases:
- anthonydahanne
- feloy
sig-docs-hi-owners: # Admins for Hindi content
- avidLearnerInProgress
- daminisatya
- anubha-v-ardhan
- divya-mohan0209
- mittalyashu
sig-docs-hi-reviews: # PR reviews for Hindi content
- avidLearnerInProgress
- daminisatya
- anubha-v-ardhan
- divya-mohan0209
- mittalyashu
sig-docs-id-owners: # Admins for Indonesian content
- ariscahyadi
- danninov
- girikuncoro
- habibrosyad
- irvifa
- phanama
- wahyuoi
sig-docs-id-reviews: # PR reviews for Indonesian content
@@ -102,7 +91,6 @@ aliases:
- danninov
- girikuncoro
- habibrosyad
- irvifa
- phanama
- wahyuoi
sig-docs-it-owners: # Admins for Italian content
@@ -138,14 +126,14 @@ aliases:
- ClaudiaJKang
- gochist
- ianychoi
- seokho-son
- ysyukr
- jihoon-seo
- jmyung
- pjhwa
- seokho-son
- yoonian
- ysyukr
sig-docs-leads: # Website chairs and tech leads
- irvifa
- jimangel
- kbarnard10
- kbhawkey
- onlydole
- sftim
@@ -163,8 +151,10 @@ aliases:
# zhangxiaoyu-zidif
sig-docs-zh-reviews: # PR reviews for Chinese content
- chenrui333
- chenxuc
- howieyuen
- idealhack
- mengjiao-liu
- pigletfly
- SataQiu
- tanjunchen
@@ -235,10 +225,12 @@ aliases:
- parispittman
# authoritative source: https://git.k8s.io/sig-release/OWNERS_ALIASES
sig-release-leads:
- cpanato # SIG Technical Lead
- hasheddan # SIG Technical Lead
- jeremyrickard # SIG Technical Lead
- justaugustus # SIG Chair
- LappleApple # SIG Program Manager
- puerco # SIG Technical Lead
- saschagrunert # SIG Chair
release-engineering-approvers:
- cpanato # Release Manager
@@ -250,6 +242,7 @@ aliases:
release-engineering-reviewers:
- ameukam # Release Manager Associate
- jimangel # Release Manager Associate
- markyjackson-taulia # Release Manager Associate
- mkorbi # Release Manager Associate
- palnabarun # Release Manager Associate
- onlydole # Release Manager Associate
+1 -1
View File
@@ -1,6 +1,6 @@
# Kubernetesのドキュメント
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-master-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
このリポジトリには、[KubernetesのWebサイトとドキュメント](https://kubernetes.io/)をビルドするために必要な全アセットが格納されています。貢献に興味を持っていただきありがとうございます!
+1 -1
View File
@@ -1,6 +1,6 @@
# 쿠버네티스 문서화
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-master-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
이 저장소에는 [쿠버네티스 웹사이트 및 문서](https://kubernetes.io/)를 빌드하는 데 필요한 자산이 포함되어 있습니다. 기여해주셔서 감사합니다!
+5 -3
View File
@@ -1,6 +1,6 @@
# Dokumentacja projektu Kubernetes
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-master-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
W tym repozytorium znajdziesz wszystko, czego potrzebujesz do zbudowania [strony internetowej Kubernetesa wraz z dokumentacją](https://kubernetes.io/). Bardzo nam miło, że chcesz wziąć udział w jej współtworzeniu!
@@ -18,7 +18,7 @@ Aby móc skorzystać z tego repozytorium, musisz lokalnie zainstalować:
- [npm](https://www.npmjs.com/)
- [Go](https://golang.org/)
- [Hugo (Extended version)](https://gohugo.io/)
- Środowisko obsługi kontenerów, np. [Docker-a](https://www.docker.com/).
- Środowisko obsługi kontenerów, np. [Dockera](https://www.docker.com/).
Przed rozpoczęciem zainstaluj niezbędne zależności. Sklonuj repozytorium i przejdź do odpowiedniego katalogu:
@@ -43,7 +43,9 @@ make container-image
make container-serve
```
Aby obejrzeć zawartość serwisu otwórz w przeglądarce adres http://localhost:1313. Po każdej zmianie plików źródłowych, Hugo automatycznie aktualizuje stronę i odświeża jej widok w przeglądarce.
Jeśli widzisz błędy, prawdopodobnie kontener z Hugo nie dysponuje wystarczającymi zasobami. Aby rozwiązać ten problem, zwiększ ilość dostępnych zasobów CPU i pamięci dla Dockera na Twojej maszynie ([MacOSX](https://docs.docker.com/docker-for-mac/#resources) i [Windows](https://docs.docker.com/docker-for-windows/#resources)).
Aby obejrzeć zawartość serwisu, otwórz w przeglądarce adres http://localhost:1313. Po każdej zmianie plików źródłowych, Hugo automatycznie aktualizuje stronę i odświeża jej widok w przeglądarce.
## Jak uruchomić lokalną kopię strony przy pomocy Hugo?
+1 -1
View File
@@ -1,6 +1,6 @@
# A documentação do Kubernetes
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-master-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
Bem-vindos! Este repositório contém todos os recursos necessários para criar o [website e documentação do Kubernetes](https://kubernetes.io/). Estamos muito satisfeitos por você querer contribuir!
+1 -1
View File
@@ -1,6 +1,6 @@
# Документация по Kubernetes
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-master-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
Данный репозиторий содержит все необходимые файлы для сборки [сайта Kubernetes и документации](https://kubernetes.io/). Мы благодарим вас за желание внести свой вклад!
+1 -1
View File
@@ -1,7 +1,7 @@
<!-- # The Kubernetes documentation -->
# Документація Kubernetes
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-master-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
<!-- This repository contains the assets required to build the [Kubernetes website and documentation](https://kubernetes.io/). We're glad that you want to contribute! -->
Вітаємо! В цьому репозиторії міститься все необхідне для роботи над [сайтом і документацією Kubernetes](https://kubernetes.io/). Ми щасливі, що ви хочете зробити свій внесок!
+1 -1
View File
@@ -4,7 +4,7 @@
# The Kubernetes documentation
-->
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-master-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
<!--
This repository contains the assets required to build the [Kubernetes website and documentation](https://kubernetes.io/). We're glad that you want to contribute!
+51 -59
View File
@@ -1,13 +1,13 @@
# The Kubernetes documentation
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-master-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
This repository contains the assets required to build the [Kubernetes website and documentation](https://kubernetes.io/). We're glad that you want to contribute!
+ [Contributing to the docs](#contributing-to-the-docs)
+ [Localization ReadMes](#localization-readmemds)
- [Contributing to the docs](#contributing-to-the-docs)
- [Localization ReadMes](#localization-readmemds)
# Using this repository
## Using this repository
You can run the website locally using Hugo (Extended version), or you can run it in a container runtime. We strongly recommend using the container runtime, as it gives deployment consistency with the live website.
@@ -22,14 +22,14 @@ To use this repository, you need the following installed locally:
Before you start, install the dependencies. Clone the repository and navigate to the directory:
```
```bash
git clone https://github.com/kubernetes/website.git
cd website
```
The Kubernetes website uses the [Docsy Hugo theme](https://github.com/google/docsy#readme). Even if you plan to run the website in a container, we strongly recommend pulling in the submodule and other development dependencies by running the following:
```
```bash
# pull in the Docsy submodule
git submodule update --init --recursive --depth 1
```
@@ -38,14 +38,14 @@ git submodule update --init --recursive --depth 1
To build the site in a container, run the following to build the container image and run it:
```
```bash
make container-image
make container-serve
```
If you see errors, it probably means that the hugo container did not have enough computing resources available. To solve it, increase the amount of allowed CPU and memory usage for Docker on your machine ([MacOSX](https://docs.docker.com/docker-for-mac/#resources) and [Windows](https://docs.docker.com/docker-for-windows/#resources)).
Open up your browser to http://localhost:1313 to view the website. As you make changes to the source files, Hugo updates the website and forces a browser refresh.
Open up your browser to <http://localhost:1313> to view the website. As you make changes to the source files, Hugo updates the website and forces a browser refresh.
## Running the website locally using Hugo
@@ -59,54 +59,47 @@ npm ci
make serve
```
This will start the local Hugo server on port 1313. Open up your browser to http://localhost:1313 to view the website. As you make changes to the source files, Hugo updates the website and forces a browser refresh.
This will start the local Hugo server on port 1313. Open up your browser to <http://localhost:1313> to view the website. As you make changes to the source files, Hugo updates the website and forces a browser refresh.
## Building the API reference pages
The API reference pages located in `content/en/docs/reference/kubernetes-api` are built from the Swagger specification, using https://github.com/kubernetes-sigs/reference-docs/tree/master/gen-resourcesdocs.
The API reference pages located in `content/en/docs/reference/kubernetes-api` are built from the Swagger specification, using <https://github.com/kubernetes-sigs/reference-docs/tree/master/gen-resourcesdocs>.
To update the reference pages for a new Kubernetes release (replace v1.20 in the following examples with the release to update to):
1. Pull the `kubernetes-resources-reference` submodule:
```
git submodule update --init --recursive --depth 1
```
```bash
git submodule update --init --recursive --depth 1
```
2. Create a new API revision into the submodule, and add the Swagger specification:
2. Update the Swagger specification:
```
mkdir api-ref-generator/gen-resourcesdocs/api/v1.20
curl 'https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json' > api-ref-generator/gen-resourcesdocs/api/v1.20/swagger.json
curl 'https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json' > api-ref-assets/api/swagger.json
```
3. Copy the table of contents and fields configuration for the new release from a previous one:
3. In `api-ref-assets/config/`, adapt the files `toc.yaml` and `fields.yaml` to reflect the changes of the new release.
```
mkdir api-ref-generator/gen-resourcesdocs/api/v1.20
cp api-ref-generator/gen-resourcesdocs/api/v1.19/* api-ref-generator/gen-resourcesdocs/api/v1.20/
```
4. Next, build the pages:
4. Adapt the files `toc.yaml` and `fields.yaml` to reflect the changes between the two releases
```bash
make api-reference
```
5. Next, build the pages:
You can test the results locally by making and serving the site from a container image:
```
make api-reference
```
```bash
make container-image
make container-serve
```
You can test the results locally by making and serving the site from a container image:
In a web browser, go to <http://localhost:1313/docs/reference/kubernetes-api/> to view the API reference.
```
make container-image
make container-serve
```
In a web browser, go to http://localhost:1313/docs/reference/kubernetes-api/ to view the API reference.
6. When all changes of the new contract are reflected into the configuration files `toc.yaml` and `fields.yaml`, create a Pull Request with the newly generated API reference pages.
5. When all changes of the new contract are reflected into the configuration files `toc.yaml` and `fields.yaml`, create a Pull Request with the newly generated API reference pages.
## Troubleshooting
### error: failed to transform resource: TOCSS: failed to transform "scss/main.scss" (text/x-scss): this feature is not available in your current Hugo version
Hugo is shipped in two set of binaries for technical reasons. The current website runs based on the **Hugo Extended** version only. In the [release page](https://github.com/gohugoio/hugo/releases) look for archives with `extended` in the name. To confirm, run `hugo version` and look for the word `extended`.
@@ -115,7 +108,7 @@ Hugo is shipped in two set of binaries for technical reasons. The current websit
If you run `make serve` on macOS and receive the following error:
```
```bash
ERROR 2020/08/01 19:09:18 Error: listen tcp 127.0.0.1:1313: socket: too many open files
make: *** [serve] Error 1
```
@@ -124,7 +117,7 @@ Try checking the current limit for open files:
`launchctl limit maxfiles`
Then run the following commands (adapted from https://gist.github.com/tombigel/d503800a282fcadbee14b537735d202c):
Then run the following commands (adapted from <https://gist.github.com/tombigel/d503800a282fcadbee14b537735d202c>):
```shell
#!/bin/sh
@@ -147,8 +140,7 @@ sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist
This works for Catalina as well as Mojave macOS.
# Get involved with SIG Docs
## Get involved with SIG Docs
Learn more about SIG Docs Kubernetes community and meetings on the [community page](https://github.com/kubernetes/community/tree/master/sig-docs#meetings).
@@ -157,39 +149,39 @@ You can also reach the maintainers of this project at:
- [Slack](https://kubernetes.slack.com/messages/sig-docs) [Get an invite for this Slack](https://slack.k8s.io/)
- [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-docs)
# Contributing to the docs
## Contributing to the docs
You can click the **Fork** button in the upper-right area of the screen to create a copy of this repository in your GitHub account. This copy is called a *fork*. Make any changes you want in your fork, and when you are ready to send those changes to us, go to your fork and create a new pull request to let us know about it.
You can click the **Fork** button in the upper-right area of the screen to create a copy of this repository in your GitHub account. This copy is called a _fork_. Make any changes you want in your fork, and when you are ready to send those changes to us, go to your fork and create a new pull request to let us know about it.
Once your pull request is created, a Kubernetes reviewer will take responsibility for providing clear, actionable feedback. As the owner of the pull request, **it is your responsibility to modify your pull request to address the feedback that has been provided to you by the Kubernetes reviewer.**
Once your pull request is created, a Kubernetes reviewer will take responsibility for providing clear, actionable feedback. As the owner of the pull request, **it is your responsibility to modify your pull request to address the feedback that has been provided to you by the Kubernetes reviewer.**
Also, note that you may end up having more than one Kubernetes reviewer provide you feedback or you may end up getting feedback from a Kubernetes reviewer that is different than the one initially assigned to provide you feedback.
Furthermore, in some cases, one of your reviewers might ask for a technical review from a Kubernetes tech reviewer when needed. Reviewers will do their best to provide feedback in a timely fashion but response time can vary based on circumstances.
Furthermore, in some cases, one of your reviewers might ask for a technical review from a Kubernetes tech reviewer when needed. Reviewers will do their best to provide feedback in a timely fashion but response time can vary based on circumstances.
For more information about contributing to the Kubernetes documentation, see:
* [Contribute to Kubernetes docs](https://kubernetes.io/docs/contribute/)
* [Page Content Types](https://kubernetes.io/docs/contribute/style/page-content-types/)
* [Documentation Style Guide](https://kubernetes.io/docs/contribute/style/style-guide/)
* [Localizing Kubernetes Documentation](https://kubernetes.io/docs/contribute/localization/)
- [Contribute to Kubernetes docs](https://kubernetes.io/docs/contribute/)
- [Page Content Types](https://kubernetes.io/docs/contribute/style/page-content-types/)
- [Documentation Style Guide](https://kubernetes.io/docs/contribute/style/style-guide/)
- [Localizing Kubernetes Documentation](https://kubernetes.io/docs/contribute/localization/)
# Localization `README.md`'s
## Localization `README.md`'s
| Language | Language |
|---|---|
|[Chinese](README-zh.md)|[Korean](README-ko.md)|
|[French](README-fr.md)|[Polish](README-pl.md)|
|[German](README-de.md)|[Portuguese](README-pt.md)|
|[Hindi](README-hi.md)|[Russian](README-ru.md)|
|[Indonesian](README-id.md)|[Spanish](README-es.md)|
|[Italian](README-it.md)|[Ukrainian](README-uk.md)|
|[Japanese](README-ja.md)|[Vietnamese](README-vi.md)|
| Language | Language |
| -------------------------- | -------------------------- |
| [Chinese](README-zh.md) | [Korean](README-ko.md) |
| [French](README-fr.md) | [Polish](README-pl.md) |
| [German](README-de.md) | [Portuguese](README-pt.md) |
| [Hindi](README-hi.md) | [Russian](README-ru.md) |
| [Indonesian](README-id.md) | [Spanish](README-es.md) |
| [Italian](README-it.md) | [Ukrainian](README-uk.md) |
| [Japanese](README-ja.md) | [Vietnamese](README-vi.md) |
# Code of conduct
## Code of conduct
Participation in the Kubernetes community is governed by the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).
# Thank you!
## Thank you
Kubernetes thrives on community participation, and we appreciate your contributions to our website and our documentation!
-3
View File
@@ -4,8 +4,6 @@
Join the [kubernetes-security-announce] group for security and vulnerability announcements.
You can also subscribe to an RSS feed of the above using [this link][kubernetes-security-announce-rss].
## Reporting a Vulnerability
Instructions for reporting a vulnerability can be found on the
@@ -17,6 +15,5 @@ Information about supported Kubernetes versions can be found on the
[Kubernetes version and version skew support policy] page on the Kubernetes website.
[kubernetes-security-announce]: https://groups.google.com/forum/#!forum/kubernetes-security-announce
[kubernetes-security-announce-rss]: https://groups.google.com/forum/feed/kubernetes-security-announce/msgs/rss_v2_0.xml?num=50
[Kubernetes version and version skew support policy]: https://kubernetes.io/docs/setup/release/version-skew-policy/#supported-versions
[Kubernetes Security and Disclosure Information]: https://kubernetes.io/docs/reference/issues-security/security/#report-a-vulnerability
+1 -3
View File
@@ -1,6 +1,6 @@
# Defined below are the security contacts for this repo.
#
# They are the contact point for the Product Security Committee to reach out
# They are the contact point for the Security Response Committee to reach out
# to for triaging and handling of incoming issues.
#
# The below names agree to abide by the
@@ -10,7 +10,5 @@
# DO NOT REPORT SECURITY VULNERABILITIES DIRECTLY TO THESE NAMES, FOLLOW THE
# INSTRUCTIONS AT https://kubernetes.io/security/
irvifa
jimangel
kbarnard10
sftim
File diff suppressed because it is too large Load Diff
+696
View File
@@ -0,0 +1,696 @@
- definition: io.k8s.api.core.v1.PodSpec
field_categories:
- name: Containers
fields:
- containers
- initContainers
- imagePullSecrets
- enableServiceLinks
- name: Volumes
fields:
- volumes
- name: Scheduling
fields:
- nodeSelector
- nodeName
- affinity
- tolerations
- schedulerName
- runtimeClassName
- priorityClassName
- priority
- topologySpreadConstraints
- name: Lifecycle
fields:
- restartPolicy
- terminationGracePeriodSeconds
- activeDeadlineSeconds
- readinessGates
- name: Hostname and Name resolution
fields:
- hostname
- setHostnameAsFQDN
- subdomain
- hostAliases
- dnsConfig
- dnsPolicy
- name: Hosts namespaces
fields:
- hostNetwork
- hostPID
- hostIPC
- shareProcessNamespace
- name: Service account
fields:
- serviceAccountName
- automountServiceAccountToken
- name: Security context
fields:
- securityContext
- name: Beta level
fields:
- preemptionPolicy
- overhead
- name: Alpha level
fields:
- ephemeralContainers
- name: Deprecated
fields:
- serviceAccount
- definition: io.k8s.api.core.v1.PodSecurityContext
field_categories:
- fields:
- runAsUser
- runAsNonRoot
- runAsGroup
- supplementalGroups
- fsGroup
- fsGroupChangePolicy
- seccompProfile
- seLinuxOptions
- sysctls
- windowsOptions
- definition: io.k8s.api.core.v1.Toleration
field_categories:
- fields:
- key
- operator
- value
- effect
- tolerationSeconds
- definition: io.k8s.api.core.v1.PodStatus
field_categories:
- fields:
- nominatedNodeName
- hostIP
- startTime
- phase
- message
- reason
- podIP
- podIPs
- conditions
- qosClass
- initContainerStatuses
- containerStatuses
- ephemeralContainerStatuses
- definition: io.k8s.api.core.v1.Container
field_categories:
- fields:
- name
- name: Image
fields:
- image
- imagePullPolicy
- name: Entrypoint
fields:
- command
- args
- workingDir
- name: Ports
fields:
- ports
- name: Environment variables
fields:
- env
- envFrom
- name: Volumes
fields:
- volumeMounts
- volumeDevices
- name: Resources
fields:
- resources
- name: Lifecycle
fields:
- lifecycle
- terminationMessagePath
- terminationMessagePolicy
- livenessProbe
- readinessProbe
- startupProbe
- name: Security Context
fields:
- securityContext
- name: Debugging
fields:
- stdin
- stdinOnce
- tty
- definition: io.k8s.api.core.v1.Probe
field_categories:
- fields:
- exec
- httpGet
- tcpSocket
- initialDelaySeconds
- terminationGracePeriodSeconds
- periodSeconds
- timeoutSeconds
- failureThreshold
- successThreshold
- definition: io.k8s.api.core.v1.SecurityContext
field_categories:
- fields:
- runAsUser
- runAsNonRoot
- runAsGroup
- readOnlyRootFilesystem
- procMount
- privileged
- allowPrivilegeEscalation
- capabilities
- seccompProfile
- seLinuxOptions
- windowsOptions
- definition: io.k8s.api.core.v1.ContainerStatus
field_categories:
- fields:
- name
- image
- imageID
- containerID
- state
- lastState
- ready
- restartCount
- started
- definition: io.k8s.api.core.v1.ContainerStateTerminated
field_categories:
- fields:
- containerID
- exitCode
- startedAt
- finishedAt
- message
- reason
- signal
- definition: io.k8s.api.core.v1.EphemeralContainer
field_categories:
- fields:
- name
- targetContainerName
- name: Image
fields:
- image
- imagePullPolicy
- name: Entrypoint
fields:
- command
- args
- workingDir
- name: Environment variables
fields:
- env
- envFrom
- name: Volumes
fields:
- volumeMounts
- volumeDevices
- name: Lifecycle
fields:
- terminationMessagePath
- terminationMessagePolicy
- name: Debugging
fields:
- stdin
- stdinOnce
- tty
- name: Not allowed
fields:
- ports
- resources
- lifecycle
- livenessProbe
- readinessProbe
- securityContext
- startupProbe
- definition: io.k8s.api.core.v1.ReplicationControllerSpec
field_categories:
- fields:
- selector
- template
- replicas
- minReadySeconds
- definition: io.k8s.api.core.v1.ReplicationControllerStatus
field_categories:
- fields:
- replicas
- availableReplicas
- readyReplicas
- fullyLabeledReplicas
- conditions
- observedGeneration
- definition: io.k8s.api.apps.v1.ReplicaSetSpec
field_categories:
- fields:
- selector
- template
- replicas
- minReadySeconds
- definition: io.k8s.api.apps.v1.ReplicaSetStatus
field_categories:
- fields:
- replicas
- availableReplicas
- readyReplicas
- fullyLabeledReplicas
- conditions
- observedGeneration
- definition: io.k8s.api.apps.v1.DeploymentSpec
field_categories:
- fields:
- selector
- template
- replicas
- minReadySeconds
- strategy
- revisionHistoryLimit
- progressDeadlineSeconds
- paused
- definition: io.k8s.api.apps.v1.DeploymentStatus
field_categories:
- fields:
- replicas
- availableReplicas
- readyReplicas
- unavailableReplicas
- updatedReplicas
- collisionCount
- conditions
- observedGeneration
- definition: io.k8s.api.apps.v1.DeploymentStrategy
field_categories:
- fields:
- type
- rollingUpdate
- definition: io.k8s.api.apps.v1.StatefulSetSpec
field_categories:
- fields:
- serviceName
- selector
- template
- replicas
- updateStrategy
- podManagementPolicy
- revisionHistoryLimit
- volumeClaimTemplates
- minReadySeconds
- definition: io.k8s.api.apps.v1.StatefulSetUpdateStrategy
field_categories:
- fields:
- type
- rollingUpdate
- definition: io.k8s.api.apps.v1.StatefulSetStatus
field_categories:
- fields:
- replicas
- readyReplicas
- currentReplicas
- updatedReplicas
- availableReplicas
- collisionCount
- conditions
- currentRevision
- updateRevision
- observedGeneration
- definition: io.k8s.api.apps.v1.DaemonSetSpec
field_categories:
- fields:
- selector
- template
- minReadySeconds
- updateStrategy
- revisionHistoryLimit
- definition: io.k8s.api.apps.v1.DaemonSetUpdateStrategy
field_categories:
- fields:
- type
- rollingUpdate
- definition: io.k8s.api.apps.v1.DaemonSetStatus
field_categories:
- fields:
- numberReady
- numberAvailable
- numberUnavailable
- numberMisscheduled
- desiredNumberScheduled
- currentNumberScheduled
- updatedNumberScheduled
- collisionCount
- conditions
- observedGeneration
- definition: io.k8s.api.batch.v1.JobSpec
field_categories:
- name: Replicas
fields:
- template
- parallelism
- name: Lifecycle
fields:
- completions
- completionMode
- backoffLimit
- activeDeadlineSeconds
- ttlSecondsAfterFinished
- suspend
- name: Selector
fields:
- selector
- manualSelector
- definition: io.k8s.api.batch.v1.JobStatus
field_categories:
- fields:
- startTime
- completionTime
- active
- failed
- succeeded
- completedIndexes
- conditions
- uncountedTerminatedPods
- definition: io.k8s.api.batch.v1.CronJobSpec
field_categories:
- fields:
- jobTemplate
- schedule
- concurrencyPolicy
- startingDeadlineSeconds
- suspend
- successfulJobsHistoryLimit
- failedJobsHistoryLimit
- definition: io.k8s.api.autoscaling.v2beta2.HorizontalPodAutoscalerSpec
field_categories:
- fields:
- maxReplicas
- scaleTargetRef
- minReplicas
- behavior
- metrics
- definition: io.k8s.api.autoscaling.v2beta2.HPAScalingPolicy
field_categories:
- fields:
- type
- value
- periodSeconds
- definition: io.k8s.api.core.v1.ServiceSpec
field_categories:
- fields:
- selector
- ports
- type
- ipFamilies
- ipFamilyPolicy
- clusterIP
- clusterIPs
- externalIPs
- sessionAffinity
- loadBalancerIP
- loadBalancerSourceRanges
- loadBalancerClass
- externalName
- externalTrafficPolicy
- internalTrafficPolicy
- healthCheckNodePort
- publishNotReadyAddresses
- sessionAffinityConfig
- allocateLoadBalancerNodePorts
- definition: io.k8s.api.core.v1.ServicePort
field_categories:
- fields:
- port
- targetPort
- protocol
- name
- nodePort
- appProtocol
- definition: io.k8s.api.core.v1.EndpointSubset
field_categories:
- fields:
- addresses
- notReadyAddresses
- ports
- definition: io.k8s.api.core.v1.EndpointPort
field_categories:
- fields:
- port
- protocol
- name
- appProtocol
- definition: io.k8s.api.discovery.v1.EndpointPort
field_categories:
- fields:
- port
- protocol
- name
- appProtocol
- definition: io.k8s.api.core.v1.Volume
field_categories:
- fields:
- name
- name: Exposed Persistent volumes
fields:
- persistentVolumeClaim
- name: Projections
fields:
- configMap
- secret
- downwardAPI
- projected
- name: Local / Temporary Directory
fields:
- emptyDir
- hostPath
- name: Persistent volumes
fields:
- awsElasticBlockStore
- azureDisk
- azureFile
- cephfs
- cinder
- csi
- fc
- flexVolume
- flocker
- gcePersistentDisk
- glusterfs
- iscsi
- nfs
- photonPersistentDisk
- portworxVolume
- quobyte
- rbd
- scaleIO
- storageos
- vsphereVolume
- name: Alpha level
fields:
- ephemeral
- name: Deprecated
fields:
- gitRepo
- definition: io.k8s.api.core.v1.ConfigMapVolumeSource
field_categories:
- fields:
- name
- optional
- defaultMode
- items
- definition: io.k8s.api.core.v1.SecretVolumeSource
field_categories:
- fields:
- secretName
- optional
- defaultMode
- items
- definition: io.k8s.api.core.v1.ConfigMapProjection
field_categories:
- fields:
- name
- optional
- items
- definition: io.k8s.api.core.v1.SecretProjection
field_categories:
- fields:
- name
- optional
- items
- definition: io.k8s.api.core.v1.ProjectedVolumeSource
field_categories:
- fields:
- defaultMode
- sources
- definition: io.k8s.api.core.v1.PersistentVolumeClaimSpec
field_categories:
- fields:
- accessModes
- selector
- resources
- volumeName
- storageClassName
- volumeMode
- name: Alpha level
fields:
- dataSource
- dataSourceRef
- definition: io.k8s.api.core.v1.PersistentVolumeSpec
field_categories:
- fields:
- accessModes
- capacity
- claimRef
- mountOptions
- nodeAffinity
- persistentVolumeReclaimPolicy
- storageClassName
- volumeMode
- name: Local
fields:
- hostPath
- local
- name: Persistent volumes
fields:
- awsElasticBlockStore
- azureDisk
- azureFile
- cephfs
- cinder
- csi
- fc
- flexVolume
- flocker
- gcePersistentDisk
- glusterfs
- iscsi
- nfs
- photonPersistentDisk
- portworxVolume
- quobyte
- rbd
- scaleIO
- storageos
- vsphereVolume
- definition: io.k8s.api.rbac.v1.PolicyRule
field_categories:
- fields:
- apiGroups
- resources
- verbs
- resourceNames
- nonResourceURLs
- definition: io.k8s.api.networking.v1.NetworkPolicySpec
field_categories:
- fields:
- podSelector
- policyTypes
- ingress
- egress
- definition: io.k8s.api.networking.v1.NetworkPolicyEgressRule
field_categories:
- fields:
- to
- ports
- definition: io.k8s.api.networking.v1.NetworkPolicyPort
field_categories:
- fields:
- port
- endPort
- protocol
- definition: io.k8s.api.policy.v1beta1.PodSecurityPolicySpec
field_categories:
- fields:
- runAsUser
- runAsGroup
- fsGroup
- supplementalGroups
- seLinux
- readOnlyRootFilesystem
- privileged
- allowPrivilegeEscalation
- defaultAllowPrivilegeEscalation
- allowedCSIDrivers
- allowedCapabilities
- requiredDropCapabilities
- defaultAddCapabilities
- allowedFlexVolumes
- allowedHostPaths
- allowedProcMountTypes
- allowedUnsafeSysctls
- forbiddenSysctls
- hostIPC
- hostNetwork
- hostPID
- hostPorts
- runtimeClass
- volumes
- definition: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
field_categories:
- fields:
- name
- generateName
- namespace
- labels
- annotations
- name: System
fields:
- finalizers
- managedFields
- ownerReferences
- name: Read-only
fields:
- creationTimestamp
- deletionGracePeriodSeconds
- deletionTimestamp
- generation
- resourceVersion
- selfLink
- uid
- name: Ignored
fields:
- clusterName
+267
View File
@@ -0,0 +1,267 @@
# Copyright 2016 The Kubernetes Authors.
# Copyright 2020 Philippe Martin
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
parts:
- name: Workload Resources
chapters:
- name: Pod
group: ""
version: v1
otherDefinitions:
- PodSpec
- Container
- EphemeralContainer
- Handler
- NodeAffinity
- PodAffinity
- PodAntiAffinity
- Probe
- PodStatus
- PodList
- name: PodTemplate
group: ""
version: v1
- name: ReplicationController
group: ""
version: v1
- name: ReplicaSet
group: apps
version: v1
- name: Deployment
group: apps
version: v1
- name: StatefulSet
group: apps
version: v1
- name: ControllerRevision
group: apps
version: v1
- name: DaemonSet
group: apps
version: v1
- name: Job
group: batch
version: v1
- name: CronJob
group: batch
version: v1
- name: HorizontalPodAutoscaler
group: autoscaling
version: v1
- name: HorizontalPodAutoscaler
group: autoscaling
version: v2beta2
- name: PriorityClass
group: scheduling.k8s.io
version: v1
- name: Service Resources
chapters:
- name: Service
group: ""
version: v1
- name: Endpoints
group: ""
version: v1
- name: EndpointSlice
group: discovery.k8s.io
version: v1
- name: Ingress
group: networking.k8s.io
version: v1
otherDefinitions:
- IngressSpec
- IngressBackend
- IngressStatus
- IngressList
- name: IngressClass
group: networking.k8s.io
version: v1
- name: Config and Storage Resources
chapters:
- name: ConfigMap
group: ""
version: v1
- name: Secret
group: ""
version: v1
- name: Volume
key: io.k8s.api.core.v1.Volume
otherDefinitions:
- DownwardAPIVolumeFile
- KeyToPath
- name: PersistentVolumeClaim
group: ""
version: v1
- name: PersistentVolume
group: ""
version: v1
- name: StorageClass
group: storage.k8s.io
version: v1
- name: VolumeAttachment
group: storage.k8s.io
version: v1
- name: CSIDriver
group: storage.k8s.io
version: v1
- name: CSINode
group: storage.k8s.io
version: v1
- name: CSIStorageCapacity
group: storage.k8s.io
version: v1beta1
- name: Authentication Resources
chapters:
- name: ServiceAccount
group: ""
version: v1
- name: TokenRequest
group: authentication.k8s.io
version: v1
- name: TokenReview
group: authentication.k8s.io
version: v1
- name: CertificateSigningRequest
group: certificates.k8s.io
version: v1
- name: Authorization Resources
chapters:
- name: LocalSubjectAccessReview
group: authorization.k8s.io
version: v1
- name: SelfSubjectAccessReview
group: authorization.k8s.io
version: v1
- name: SelfSubjectRulesReview
group: authorization.k8s.io
version: v1
- name: SubjectAccessReview
group: authorization.k8s.io
version: v1
- name: ClusterRole
group: rbac.authorization.k8s.io
version: v1
- name: ClusterRoleBinding
group: rbac.authorization.k8s.io
version: v1
- name: Role
group: rbac.authorization.k8s.io
version: v1
- name: RoleBinding
group: rbac.authorization.k8s.io
version: v1
- name: Policy Resources
chapters:
- name: LimitRange
group: ""
version: v1
- name: ResourceQuota
group: ""
version: v1
- name: NetworkPolicy
group: networking.k8s.io
version: v1
- name: PodDisruptionBudget
group: policy
version: v1
- name: PodSecurityPolicy
group: policy
version: v1beta1
- name: Extend Resources
chapters:
- name: CustomResourceDefinition
group: apiextensions.k8s.io
version: v1
otherDefinitions:
- CustomResourceDefinitionSpec
- JSONSchemaProps
- CustomResourceDefinitionStatus
- CustomResourceDefinitionList
- name: MutatingWebhookConfiguration
group: admissionregistration.k8s.io
version: v1
- name: ValidatingWebhookConfiguration
group: admissionregistration.k8s.io
version: v1
- name: Cluster Resources
chapters:
- name: Node
group: ""
version: v1
- name: Namespace
group: ""
version: v1
- name: Event
group: events.k8s.io
version: v1
- name: APIService
group: apiregistration.k8s.io
version: v1
- name: Lease
group: coordination.k8s.io
version: v1
- name: RuntimeClass
group: node.k8s.io
version: v1
- name: FlowSchema
group: flowcontrol.apiserver.k8s.io
version: v1beta1
- name: PriorityLevelConfiguration
group: flowcontrol.apiserver.k8s.io
version: v1beta1
- name: Binding
group: ""
version: v1
- name: ComponentStatus
group: ""
version: v1
- name: Common Definitions
chapters:
- name: DeleteOptions
key: io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions
- name: LabelSelector
key: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector
- name: ListMeta
key: io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta
- name: LocalObjectReference
key: io.k8s.api.core.v1.LocalObjectReference
- name: NodeSelectorRequirement
key: io.k8s.api.core.v1.NodeSelectorRequirement
- name: ObjectFieldSelector
key: io.k8s.api.core.v1.ObjectFieldSelector
- name: ObjectMeta
key: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
- name: ObjectReference
key: io.k8s.api.core.v1.ObjectReference
- name: Patch
key: io.k8s.apimachinery.pkg.apis.meta.v1.Patch
- name: Quantity
key: "io.k8s.apimachinery.pkg.api.resource.Quantity"
- name: ResourceFieldSelector
key: io.k8s.api.core.v1.ResourceFieldSelector
- name: Status
key: io.k8s.apimachinery.pkg.apis.meta.v1.Status
- name: TypedLocalObjectReference
key: io.k8s.api.core.v1.TypedLocalObjectReference
skippedResources:
- APIGroup
- APIGroupList
- APIResourceList
- APIVersions
- Eviction
- Scale
- Status
- StorageVersion
- StorageVersionList
@@ -0,0 +1,83 @@
---
api_metadata:
apiVersion: "{{.ApiVersion}}"
import: "{{.Import}}"
kind: "{{.Kind}}"
content_type: "api_reference"
description: "{{.Metadata.Description}}"
title: "{{.Metadata.Title}}"
weight: {{.Metadata.Weight}}
auto_generated: true
---
<!--
The file is auto-generated from the Go source code of the component using a generic
[generator](https://github.com/kubernetes-sigs/reference-docs/). To learn how
to generate the reference documentation, please read
[Contributing to the reference documentation](/docs/contribute/generate-ref-docs/).
To update the reference content, please follow the
[Contributing upstream](/docs/contribute/generate-ref-docs/contribute-upstream/)
guide. You can file document formatting bugs against the
[reference-docs](https://github.com/kubernetes-sigs/reference-docs/) project.
-->
{{if .ApiVersion}}`apiVersion: {{.ApiVersion}}`{{end}}
{{if .Import}}`import "{{.Import}}"`{{end}}
{{range .Sections}}
{{.Description | replace "<" "\\<" }}
<hr>
{{range .Fields}}
{{ "" | indent .Indent | indent .Indent}}- {{.Name}}{{if .Value}}: {{.Value}}{{end}}
{{if .Description}}
{{.Description | replace "<" "\\<" | indent 2 | indent .Indent | indent .Indent}}
{{- end}}
{{if .TypeDefinition}}
{{ "" | indent .Indent | indent .Indent}} <a name="{{.Type}}"></a>
{{.TypeDefinition | indent 2 | indent .Indent | indent .Indent}}
{{end}}
{{- end}}{{/* range .Fields */}}
{{range .FieldCategories}}
### {{.Name}} {#{{"-" | regexReplaceAll "[^a-zA-Z0-9]+" .Name }}}{{/* explicitly set fragment to keep capitalization */}}
{{range .Fields}}
{{ "" | indent .Indent | indent .Indent}}- {{.Name}}{{if .Value}}: {{.Value}}{{end}}
{{if .Description}}
{{.Description | replace "<" "\\<" | indent 2 | indent .Indent | indent .Indent}}
{{- end}}
{{if .TypeDefinition}}
{{ "" | indent .Indent | indent .Indent}} <a name="{{.Type}}"></a>
{{.TypeDefinition | indent 2 | indent .Indent | indent .Indent}}
{{end}}
{{- end}}{{/* range .Fields */}}
{{- end}}{{/* range .FieldCategories */}}
{{range .Operations}}
### `{{.Verb}}` {{.Title}}
#### HTTP Request
{{.RequestMethod}} {{.RequestPath}}
#### Parameters
{{range .Parameters}}
- {{.Title}}
{{.Description | indent 2}}
{{end}}{{/* range .Parameters */}}
#### Response
{{range .Responses}}
{{.Code}}{{if .Type}} ({{.Type}}){{end}}: {{.Description}}
{{end}}{{/* range .Responses */}}
{{- end}}{{/* range .Operations */}}
{{- end}}{{/* range .Sections */}}
+85
View File
@@ -0,0 +1,85 @@
---
api_metadata:
apiVersion: "{{.ApiVersion}}"
import: "{{.Import}}"
kind: "{{.Kind}}"
content_type: "api_reference"
description: "{{.Metadata.Description}}"
title: "{{.Metadata.Title}}"
weight: {{.Metadata.Weight}}
auto_generated: true
---
<!--
The file is auto-generated from the Go source code of the component using a generic
[generator](https://github.com/kubernetes-sigs/reference-docs/). To learn how
to generate the reference documentation, please read
[Contributing to the reference documentation](/docs/contribute/generate-ref-docs/).
To update the reference content, please follow the
[Contributing upstream](/docs/contribute/generate-ref-docs/contribute-upstream/)
guide. You can file document formatting bugs against the
[reference-docs](https://github.com/kubernetes-sigs/reference-docs/) project.
-->
{{if .ApiVersion}}`apiVersion: {{.ApiVersion}}`{{end}}
{{if .Import}}`import "{{.Import}}"`{{end}}
{{range .Sections}}
## {{.Name}} {#{{"-" | regexReplaceAll "[^a-zA-Z0-9]+" .Name }}}{{/* explicitly set fragment to keep capitalization */}}
{{.Description | replace "<" "\\<" }}
<hr>
{{range .Fields}}
{{ "" | indent .Indent | indent .Indent}}- {{.Name}}{{if .Value}}: {{.Value}}{{end}}
{{if .Description}}
{{.Description | replace "<" "\\<" | indent 2 | indent .Indent | indent .Indent}}
{{- end}}
{{if .TypeDefinition}}
{{ "" | indent .Indent | indent .Indent}} <a name="{{.Type}}"></a>
{{.TypeDefinition | indent 2 | indent .Indent | indent .Indent}}
{{end}}
{{- end}}{{/* range .Fields */}}
{{range .FieldCategories}}
### {{.Name}}
{{range .Fields}}
{{ "" | indent .Indent | indent .Indent}}- {{.Name}}{{if .Value}}: {{.Value}}{{end}}
{{if .Description}}
{{.Description | replace "<" "\\<" | indent 2 | indent .Indent | indent .Indent}}
{{- end}}
{{if .TypeDefinition}}
{{ "" | indent .Indent | indent .Indent}} <a name="{{.Type}}"></a>
{{.TypeDefinition | indent 2 | indent .Indent | indent .Indent}}
{{end}}
{{- end}}{{/* range .Fields */}}
{{- end}}{{/* range .FieldCategories */}}
{{range .Operations}}
### `{{.Verb}}` {{.Title}}
#### HTTP Request
{{.RequestMethod}} {{.RequestPath}}
#### Parameters
{{range .Parameters}}
- {{.Title}}
{{.Description | indent 2}}
{{end}}{{/* range .Parameters */}}
#### Response
{{range .Responses}}
{{.Code}}{{if .Type}} ({{.Type}}){{end}}: {{.Description}}
{{end}}{{/* range .Responses */}}
{{- end}}{{/* range .Operations */}}
{{- end}}{{/* range .Sections */}}
+17
View File
@@ -0,0 +1,17 @@
---
title: "{{.Title}}"
weight: {{.Weight}}
auto_generated: true
---
<!--
The file is auto-generated from the Go source code of the component using a generic
[generator](https://github.com/kubernetes-sigs/reference-docs/). To learn how
to generate the reference documentation, please read
[Contributing to the reference documentation](/docs/contribute/generate-ref-docs/).
To update the reference content, please follow the
[Contributing upstream](/docs/contribute/generate-ref-docs/contribute-upstream/)
guide. You can file document formatting bugs against the
[reference-docs](https://github.com/kubernetes-sigs/reference-docs/) project.
-->
+61
View File
@@ -0,0 +1,61 @@
---
layout: blog
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
slug: <seo-friendly-version-of-title-separated-by-dashes>
---
**Author:** <your name> (<your organization name>), <another author's name> (<their organization>)
<!--
Instructions:
- Replace these instructions and the following text with your content.
- Replace `<angle bracket placeholders>` with actual values. For example, you would update `date: <yyyy>-<mm>-<dd>` to look something like `date: 2021-10-21`.
- For convenience, use third-party tools to author and collaborate on your content.
- To save time and effort in reviews, check your content's spelling, grammar, and style before contributing.
- Feel free to ask for assistance in the Kubernetes Slack channel, [#sig-docs-blog](https://kubernetes.slack.com/archives/CJDHVD54J).
-->
Replace this first line of your content with one to three sentences that summarize the blog post.
## This is a section heading
To help the reader, organize your content into sections that contain about three to six paragraphs.
If you're documenting commands, separate the commands from the outputs, like this:
1. Verify that the Secret exists by running the following command:
```shell
kubectl get secrets
```
The response should be like this:
```shell
NAME TYPE DATA AGE
mysql-pass-c57bb4t7mf Opaque 1 9s
```
You're free to create any sections you like. Below are a few common patterns we see at the end of blog posts.
## Whats next?
This optional section describes the future of the thing you've just described in the post.
## How can I learn more?
This optional section provides links to more information. Please avoid promoting and over-represent your organization.
## How do I get involved?
An optional section that links to resources for readers to get involved, and acknowledgments of individual contributors, such as:
* [The name of a channel on Slack, #a-channel](https://<a-workspace>.slack.com/messages/<a-channel>)
* [A link to a "contribute" page with more information](<https://github.com/kubernetes/community/blob/master/sig-storage/README.md#contact>).
* Acknowledgements and thanks to the contributors. <person's name> ([<github id>](https://github.com/<github id>)) who did X, Y, and Z.
* Those interested in getting involved with the design and development of <project>, join the [<name of the SIG>](https://github.com/project/community/tree/master/<sig-group>). Were rapidly growing and always welcome new contributors.
+25
View File
@@ -0,0 +1,25 @@
# See https://cloud.google.com/cloud-build/docs/build-config
# this must be specified in seconds. If omitted, defaults to 600s (10 mins)
timeout: 1200s
# this prevents errors if you don't use both _GIT_TAG and _PULL_BASE_REF,
# or any new substitutions added in the future.
options:
substitution_option: ALLOW_LOOSE
steps:
# It's fine to bump the tag to a recent version, as needed
- name: "gcr.io/k8s-testimages/gcb-docker-gcloud:v20190906-745fed4"
entrypoint: make
env:
- DOCKER_CLI_EXPERIMENTAL=enabled
- TAG=$_GIT_TAG
- BASE_REF=$_PULL_BASE_REF
args:
- container-image
substitutions:
# _GIT_TAG will be filled with a git-based tag for the image, of the form vYYYYMMDD-hash, and
# can be used as a substitution
_GIT_TAG: "12345"
# _PULL_BASE_REF will contain the ref that was pushed to to trigger this build -
# a branch like 'master' or 'release-0.2', or a tag like 'v0.2'.
_PULL_BASE_REF: "master"
+27 -27
View File
@@ -30,8 +30,7 @@ pygmentsStyle = "emacs"
enableGitInfo = true
# Norwegian ("no") is sometimes but not currently used for testing.
# Hindi is disabled because it's currently in development.
disableLanguages = ["hi", "no"]
disableLanguages = ["no"]
[caches]
[caches.assets]
@@ -138,12 +137,12 @@ time_format_default = "January 02, 2006 at 3:04 PM PST"
description = "Production-Grade Container Orchestration"
showedit = true
latest = "v1.21"
latest = "v1.22"
fullversion = "v1.21.0"
version = "v1.21"
githubbranch = "master"
docsbranch = "master"
fullversion = "v1.22.0"
version = "v1.22"
githubbranch = "main"
docsbranch = "main"
deprecated = false
currentUrl = "https://kubernetes.io/docs/home/"
nextUrl = "https://kubernetes-io-vnext-staging.netlify.com/"
@@ -178,45 +177,46 @@ js = [
]
[[params.versions]]
fullversion = "v1.21.0"
version = "v1.21"
githubbranch = "v1.21.0"
docsbranch = "master"
fullversion = "v1.22.0"
version = "v1.22"
githubbranch = "v1.22.0"
docsbranch = "main"
url = "https://kubernetes.io"
[[params.versions]]
fullversion = "v1.20.5"
fullversion = "v1.21.4"
version = "v1.21"
githubbranch = "v1.21.4"
docsbranch = "release-1.21"
url = "https://v1-21.docs.kubernetes.io"
[[params.versions]]
fullversion = "v1.20.10"
version = "v1.20"
githubbranch = "v1.20.5"
githubbranch = "v1.20.10"
docsbranch = "release-1.20"
url = "https://v1-20.docs.kubernetes.io"
[[params.versions]]
fullversion = "v1.19.9"
fullversion = "v1.19.14"
version = "v1.19"
githubbranch = "v1.19.9"
githubbranch = "v1.19.14"
docsbranch = "release-1.19"
url = "https://v1-19.docs.kubernetes.io"
[[params.versions]]
fullversion = "v1.18.17"
fullversion = "v1.18.20"
version = "v1.18"
githubbranch = "v1.18.17"
githubbranch = "v1.18.20"
docsbranch = "release-1.18"
url = "https://v1-18.docs.kubernetes.io"
[[params.versions]]
fullversion = "v1.17.17"
version = "v1.17"
githubbranch = "v1.17.17"
docsbranch = "release-1.17"
url = "https://v1-17.docs.kubernetes.io"
# User interface configuration
[params.ui]
# Enable to show the side bar menu in its compact state.
sidebar_menu_compact = false
# https://github.com/gohugoio/hugo/issues/8918#issuecomment-903314696
sidebar_cache_limit = 1
# Set to true to disable breadcrumb navigation.
breadcrumb_disable = false
# Set to true to hide the sidebar search box (the top nav search box will still be displayed if search is enabled)
@@ -427,8 +427,8 @@ language_alternatives = ["en"]
[languages.hi]
title = "Kubernetes"
description = "Production-Grade Container Orchestration"
languageName = "Hindi"
description = "प्रोडक्शन-ग्रेड कंटेनर ऑर्केस्ट्रेशन"
languageName = "हिन्दी"
weight = 11
contentDir = "content/hi"
languagedirection = "ltr"
+2 -2
View File
@@ -9,7 +9,7 @@ cid: home
{{% blocks/feature image="flower" %}}
### [Kubernetes (K8s)]({{< relref "/docs/concepts/overview/what-is-kubernetes" >}}) ist ein Open-Source-System zur Automatisierung der Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen.
Es gruppiert Container, aus denen sich eine Anwendung zusammensetzt, in logische Einheiten, um die Verwaltung und Erkennung zu erleichtern. Kubernetes baut auf [15 Jahre Erfahrung in Bewältigung von Produktions-Workloads bei Google] (http://queue.acm.org/detail.cfm?id=2898444), kombiniert mit Best-of-Breed-Ideen und Praktiken aus der Community.
Es gruppiert Container, aus denen sich eine Anwendung zusammensetzt, in logische Einheiten, um die Verwaltung und Erkennung zu erleichtern. Kubernetes baut auf [15 Jahre Erfahrung in Bewältigung von Produktions-Workloads bei Google](http://queue.acm.org/detail.cfm?id=2898444), kombiniert mit Best-of-Breed-Ideen und Praktiken aus der Community.
{{% /blocks/feature %}}
{{% blocks/feature image="scalable" %}}
@@ -57,4 +57,4 @@ Kubernetes ist Open Source und bietet Dir die Freiheit, die Infrastruktur vor Or
{{< blocks/kubernetes-features >}}
{{< blocks/case-studies >}}
{{< blocks/case-studies >}}
@@ -26,7 +26,7 @@ Die Add-Ons in den einzelnen Kategorien sind alphabetisch sortiert - Die Reihenf
* [CNI-Genie](https://github.com/Huawei-PaaS/CNI-Genie) ermöglicht das nahtlose Verbinden von Kubernetes mit einer Reihe an CNI-Plugins wie z.B. Calico, Canal, Flannel, Romana, oder Weave.
* [Contiv](http://contiv.github.io) bietet konfigurierbares Networking (Native L3 auf BGP, Overlay mit vxlan, Klassisches L2, Cisco-SDN/ACI) für verschiedene Anwendungszwecke und auch umfangreiches Policy-Framework. Das Contiv-Projekt ist vollständig [Open Source](http://github.com/contiv). Der [installer](http://github.com/contiv/install) bietet sowohl kubeadm als auch nicht-kubeadm basierte Installationen.
* [Contrail](http://www.juniper.net/us/en/products-services/sdn/contrail/contrail-networking/), basierend auf [Tungsten Fabric](https://tungsten.io), ist eine Open Source, multi-Cloud Netzwerkvirtualisierungs- und Policy-Management Plattform. Contrail und Tungsten Fabric sind mit Orechstratoren wie z.B. Kubernetes, OpenShift, OpenStack und Mesos integriert und bieten Isolationsmodi für Virtuelle Maschinen, Container (bzw. Pods) und Bare Metal workloads.
* [Flannel](https://github.com/coreos/flannel/blob/master/Documentation/kubernetes.md) ist ein Overlay-Network-Provider der mit Kubernetes genutzt werden kann.
* [Flannel](https://github.com/flannel-io/flannel#deploying-flannel-manually) ist ein Overlay-Network-Provider der mit Kubernetes genutzt werden kann.
* [Knitter](https://github.com/ZTE/Knitter/) ist eine Network-Lösung die Mehrfach-Network in Kubernetes ermöglicht.
* [Multus](https://github.com/Intel-Corp/multus-cni) ist ein Multi-Plugin für Mehrfachnetzwerk-Unterstützung um alle CNI-Plugins (z.B. Calico, Cilium, Contiv, Flannel), zusätzlich zu SRIOV-, DPDK-, OVS-DPDK- und VPP-Basierten Workloads in Kubernetes zu unterstützen.
* [NSX-T](https://docs.vmware.com/en/VMware-NSX-T/2.0/nsxt_20_ncp_kubernetes.pdf) Container Plug-in (NCP) bietet eine Integration zwischen VMware NSX-T und einem Orchestator wie z.B. Kubernetes. Außerdem bietet es eine Integration zwischen NSX-T und Containerbasierten CaaS/PaaS-Plattformen wie z.B. Pivotal Container Service (PKS) und OpenShift.
@@ -5,7 +5,7 @@ weight: 20
<!DOCTYPE html>
<html lang="en">
<html lang="de">
<body>
@@ -5,7 +5,7 @@ weight: 20
<!DOCTYPE html>
<html lang="en">
<html lang="de">
<body>
@@ -5,7 +5,7 @@ weight: 10
<!DOCTYPE html>
<html lang="en">
<html lang="de">
<body>
@@ -5,7 +5,7 @@ weight: 20
<!DOCTYPE html>
<html lang="en">
<html lang="de">
<body>
@@ -5,7 +5,7 @@ weight: 10
<!DOCTYPE html>
<html lang="en">
<html lang="de">
<body>
@@ -5,7 +5,7 @@ weight: 20
<!DOCTYPE html>
<html lang="en">
<html lang="de">
<body>
@@ -5,7 +5,7 @@ weight: 10
<!DOCTYPE html>
<html lang="en">
<html lang="de">
<body>
+3 -3
View File
@@ -43,12 +43,12 @@ Kubernetes is open source giving you the freedom to take advantage of on-premise
<button id="desktopShowVideoButton" onclick="kub.showVideo()">Watch Video</button>
<br>
<br>
<a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/?utm_source=kubernetes.io&utm_medium=nav&utm_campaign=kccncna20" button id="desktopKCButton">Attend KubeCon NA virtually on November 17-20, 2020</a>
<a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/?utm_source=kubernetes.io&utm_medium=nav&utm_campaign=kccncna21" button id="desktopKCButton">Attend KubeCon North America on October 11-15, 2021</a>
<br>
<br>
<br>
<br>
<a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/?utm_source=kubernetes.io&utm_medium=nav&utm_campaign=kccnceu21" button id="desktopKCButton">Attend KubeCon EU virtually on May 4 7, 2021</a>
<a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-europe-2022/?utm_source=kubernetes.io&utm_medium=nav&utm_campaign=kccnceu22" button id="desktopKCButton">Attend KubeCon Europe on May 17-20, 2022</a>
</div>
<div id="videoPlayer">
<iframe data-url="https://www.youtube.com/embed/H06qrNmGqyE?autoplay=1" frameborder="0" allowfullscreen></iframe>
@@ -58,4 +58,4 @@ Kubernetes is open source giving you the freedom to take advantage of on-premise
{{< blocks/kubernetes-features >}}
{{< blocks/case-studies >}}
{{< blocks/case-studies >}}
@@ -125,7 +125,7 @@ You may wish to, but you cannot create a hierarchy of namespaces. Namespaces can
Namespaces are easy to create and use but its also easy to deploy code inadvertently into the wrong namespace. Good DevOps hygiene suggests documenting and automating processes where possible and this will help. The other way to avoid using the wrong namespace is to set a [kubectl context](/docs/user-guide/kubectl/kubectl_config_set-context/).&nbsp;
Namespaces are easy to create and use but its also easy to deploy code inadvertently into the wrong namespace. Good DevOps hygiene suggests documenting and automating processes where possible and this will help. The other way to avoid using the wrong namespace is to set a [kubectl context](/docs/reference/generated/kubectl/kubectl-commands#-em-set-context-em-).&nbsp;
@@ -5,6 +5,11 @@ slug: visualize-kubelet-performance-with-node-dashboard
url: /blog/2016/11/Visualize-Kubelet-Performance-With-Node-Dashboard
---
_Since this article was published, the Node Performance Dashboard was retired and is no longer available._
_This retirement happened in early 2019, as part of the_ `kubernetes/contrib`
_[repository deprecation](https://github.com/kubernetes-retired/contrib/issues/3007)_.
In Kubernetes 1.4, we introduced a new node performance analysis tool, called the _node performance dashboard_, to visualize and explore the behavior of the Kubelet in much richer details. This new feature will make it easy to understand and improve code performance for Kubelet developers, and lets cluster maintainer set configuration according to provided Service Level Objectives (SLOs).
**Background**
@@ -37,7 +37,7 @@ If you run your storage application on high-end hardware or extra-large instance
[ZooKeeper](https://zookeeper.apache.org/doc/current/) is an interesting use case for StatefulSet for two reasons. First, it demonstrates that StatefulSet can be used to run a distributed, strongly consistent storage application on Kubernetes. Second, it's a prerequisite for running workloads like [Apache Hadoop](http://hadoop.apache.org/) and [Apache Kakfa](https://kafka.apache.org/) on Kubernetes. An [in-depth tutorial](/docs/tutorials/stateful-application/zookeeper/) on deploying a ZooKeeper ensemble on Kubernetes is available in the Kubernetes documentation, and well outline a few of the key features below.
**Creating a ZooKeeper Ensemble**
Creating an ensemble is as simple as using [kubectl create](/docs/user-guide/kubectl/kubectl_create/) to generate the objects stored in the manifest.
Creating an ensemble is as simple as using [kubectl create](/docs/reference/generated/kubectl/kubectl-commands#create) to generate the objects stored in the manifest.
```
@@ -297,7 +297,7 @@ zk-0 0/1 Terminating 0 15m
You can use [kubectl apply](/docs/user-guide/kubectl/kubectl_apply/) to recreate the zk StatefulSet and redeploy the ensemble.
You can use [kubectl apply](/docs/reference/generated/kubectl/kubectl-commands#apply) to recreate the zk StatefulSet and redeploy the ensemble.
@@ -95,7 +95,7 @@ The core workloads API surface is stable, but its still software, and softwar
--Kenneth Owens, Software Engineer, Google
- [Download](http://get.k8s.io/) Kubernetes
- [Download](https://get.k8s.io/) Kubernetes
- Get involved with the Kubernetes project on [GitHub](https://github.com/kubernetes/kubernetes)
- Post questions (or answer questions) on [Stack Overflow](http://stackoverflow.com/questions/tagged/kubernetes)
- Connect with the community on [Slack](http://slack.k8s.io/)
@@ -140,7 +140,7 @@ The local persistent volume beta feature is not complete by far. Some notable en
## Complementary features
[Pod priority and preemption](/docs/concepts/configuration/pod-priority-preemption/) is another Kubernetes feature that is complementary to local persistent volumes. When your application uses local storage, it must be scheduled to the specific node where the local volume resides. You can give your local storage workload high priority so if that node ran out of room to run your workload, Kubernetes can preempt lower priority workloads to make room for it.
[Pod priority and preemption](/docs/concepts/scheduling-eviction/pod-priority-preemption/) is another Kubernetes feature that is complementary to local persistent volumes. When your application uses local storage, it must be scheduled to the specific node where the local volume resides. You can give your local storage workload high priority so if that node ran out of room to run your workload, Kubernetes can preempt lower priority workloads to make room for it.
[Pod disruption budget](/docs/concepts/workloads/pods/disruptions/) is also very important for those workloads that must maintain quorum. Setting a disruption budget for your workload ensures that it does not drop below quorum due to voluntary disruption events, such as node drains during upgrade.
@@ -94,7 +94,7 @@ JOSH BERKUS: That goes into release notes. I mean, keep in mind that one of the
However, stuff happens, and we do occasionally have to do those. And so far, our main way to identify that to people actually is in the release notes. If you look at [the current release notes](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.11.md#no-really-you-must-do-this-before-you-upgrade), there are actually two things in there right now that are sort of breaking changes.
One of them is the bit with [priority and preemption](/docs/concepts/configuration/pod-priority-preemption/) in that preemption being on by default now allows badly behaved users of the system to cause trouble in new ways. I'd actually have to look at the release notes to see what the second one was...
One of them is the bit with [priority and preemption](/docs/concepts/scheduling-eviction/pod-priority-preemption/) in that preemption being on by default now allows badly behaved users of the system to cause trouble in new ways. I'd actually have to look at the release notes to see what the second one was...
TIM PEPPER: The [JSON capitalization case sensitivity](https://github.com/kubernetes/kubernetes/issues/64612).
@@ -104,7 +104,7 @@ Master and Worker nodes should be protected from overload and resource exhaustio
Resource consumption by the control plane will correlate with the number of pods and the pod churn rate. Very large and very small clusters will benefit from non-default [settings](/docs/reference/command-line-tools-reference/kube-apiserver/) of kube-apiserver request throttling and memory. Having these too high can lead to request limit exceeded and out of memory errors.
On worker nodes, [Node Allocatable](/docs/tasks/administer-cluster/reserve-compute-resources/) should be configured based on a reasonable supportable workload density at each node. Namespaces can be created to subdivide the worker node cluster into multiple virtual clusters with resource CPU and memory [quotas](/docs/tasks/administer-cluster/manage-resources/memory-default-namespace/). Kubelet handling of [out of resource](/docs/tasks/administer-cluster/out-of-resource/) conditions can be configured.
On worker nodes, [Node Allocatable](/docs/tasks/administer-cluster/reserve-compute-resources/) should be configured based on a reasonable supportable workload density at each node. Namespaces can be created to subdivide the worker node cluster into multiple virtual clusters with resource CPU and memory [quotas](/docs/tasks/administer-cluster/manage-resources/memory-default-namespace/). Kubelet handling of [out of resource](/docs/concepts/scheduling-eviction/node-pressure-eviction/) conditions can be configured.
## Security
@@ -166,7 +166,7 @@ Some critical state is held outside etcd. Certificates, container images, and ot
* Cloud provider specific account and configuration data
## Considerations for your production workloads
Anti-affinity specifications can be used to split clustered services across backing hosts, but at this time the settings are used only when the pod is scheduled. This means that Kubernetes can restart a failed node of your clustered application, but does not have a native mechanism to rebalance after a fail back. This is a topic worthy of a separate blog, but supplemental logic might be useful to achieve optimal workload placements after host or worker node recoveries or expansions. The [Pod Priority and Preemption feature](/docs/concepts/configuration/pod-priority-preemption/) can be used to specify a preferred triage in the event of resource shortages caused by failures or bursting workloads.
Anti-affinity specifications can be used to split clustered services across backing hosts, but at this time the settings are used only when the pod is scheduled. This means that Kubernetes can restart a failed node of your clustered application, but does not have a native mechanism to rebalance after a fail back. This is a topic worthy of a separate blog, but supplemental logic might be useful to achieve optimal workload placements after host or worker node recoveries or expansions. The [Pod Priority and Preemption feature](/docs/concepts/scheduling-eviction/pod-priority-preemption/) can be used to specify a preferred triage in the event of resource shortages caused by failures or bursting workloads.
For stateful services, external attached volume mounts are the standard Kubernetes recommendation for a non-clustered service (e.g., a typical SQL database). At this time Kubernetes managed snapshots of these external volumes is in the category of a [roadmap feature request](https://docs.google.com/presentation/d/1dgxfnroRAu0aF67s-_bmeWpkM1h2LCxe6lB1l1oS0EQ/edit#slide=id.g3ca07c98c2_0_47), likely to align with the Container Storage Interface (CSI) integration. Thus performing backups of such a service would involve application specific, in-pod activity that is beyond the scope of this document. While awaiting better Kubernetes support for a snapshot and backup workflow, running your database service in a VM rather than a container, and exposing it to your Kubernetes workload may be worth considering.
@@ -8,7 +8,7 @@ date: 2019-04-16
Kubernetes is well-known for running scalable workloads. It scales your workloads based on their resource usage. When a workload is scaled up, more instances of the application get created. When the application is critical for your product, you want to make sure that these new instances are scheduled even when your cluster is under resource pressure. One obvious solution to this problem is to over-provision your cluster resources to have some amount of slack resources available for scale-up situations. This approach often works, but costs more as you would have to pay for the resources that are idle most of the time.
[Pod priority and preemption](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/) is a scheduler feature made generally available in Kubernetes 1.14 that allows you to achieve high levels of scheduling confidence for your critical workloads without overprovisioning your clusters. It also provides a way to improve resource utilization in your clusters without sacrificing the reliability of your essential workloads.
[Pod priority and preemption](/docs/concepts/scheduling-eviction/pod-priority-preemption/) is a scheduler feature made generally available in Kubernetes 1.14 that allows you to achieve high levels of scheduling confidence for your critical workloads without overprovisioning your clusters. It also provides a way to improve resource utilization in your clusters without sacrificing the reliability of your essential workloads.
## Guaranteed scheduling with controlled cost
@@ -55,7 +55,7 @@ The team has made progress in the last few months that is well worth celebrating
- The K8s-Infrastructure Working Group released an automated billing report that they start every meeting off by reviewing as a group.
- DNS for k8s.io and kubernetes.io are also fully [community-owned](https://groups.google.com/g/kubernetes-dev/c/LZTYJorGh7c/m/u-ydk-yNEgAJ), with community members able to [file issues](https://github.com/kubernetes/k8s.io/issues/new?assignees=&labels=wg%2Fk8s-infra&template=dns-request.md&title=DNS+REQUEST%3A+%3Cyour-dns-record%3E) to manage records.
- The container registry [k8s.gcr.io](https://github.com/kubernetes/k8s.io/tree/master/k8s.gcr.io) is also fully community-owned and available for all Kubernetes subprojects to use.
- The container registry [k8s.gcr.io](https://github.com/kubernetes/k8s.io/tree/main/k8s.gcr.io) is also fully community-owned and available for all Kubernetes subprojects to use.
- The Kubernetes [publishing-bot](https://github.com/kubernetes/publishing-bot) responsible for keeping k8s.io/kubernetes/staging repositories published to their own top-level repos (For example: [kubernetes/api](https://github.com/kubernetes/api)) runs on a community-owned cluster.
- The gcsweb.k8s.io service used to provide anonymous access to GCS buckets for kubernetes artifacts runs on a community-owned cluster.
- There is also an automated process of promoting all our container images. This includes a fully documented infrastructure, managed by the Kubernetes community, with automated processes for provisioning permissions.
@@ -186,7 +186,7 @@ metadata:
### Role Oriented Design
When you put it all together, you have a single load balancing infrastructure that can be safely shared by multiple teams. The Gateway API not only a more expressive API for advanced routing, but is also a role-oriented API, designed for multi-tenant infrastructure. Its extensibility ensures that it will evolve for future use-cases while preserving portability. Ultimately these characteristics will allow Gateway API to adapt to different organizational models and implementations well into the future.
When you put it all together, you have a single load balancing infrastructure that can be safely shared by multiple teams. The Gateway API is not only a more expressive API for advanced routing, but is also a role-oriented API, designed for multi-tenant infrastructure. Its extensibility ensures that it will evolve for future use-cases while preserving portability. Ultimately these characteristics will allow the Gateway API to adapt to different organizational models and implementations well into the future.
### Try it out and get involved
@@ -194,4 +194,4 @@ There are many resources to check out to learn more.
* Check out the [user guides](https://gateway-api.sigs.k8s.io/guides/getting-started/) to see what use-cases can be addressed.
* Try out one of the [existing Gateway controllers ](https://gateway-api.sigs.k8s.io/references/implementations/)
* Or [get involved](https://gateway-api.sigs.k8s.io/contributing/community/) and help design and influence the future of Kubernetes service networking!
* Or [get involved](https://gateway-api.sigs.k8s.io/contributing/community/) and help design and influence the future of Kubernetes service networking!
@@ -0,0 +1,467 @@
---
layout: blog
title: "Writing a Controller for Pod Labels"
date: 2021-06-21
slug: writing-a-controller-for-pod-labels
---
**Authors**: Arthur Busser (Padok)
[Operators][what-is-an-operator] are proving to be an excellent solution to
running stateful distributed applications in Kubernetes. Open source tools like
the [Operator SDK][operator-sdk] provide ways to build reliable and maintainable
operators, making it easier to extend Kubernetes and implement custom
scheduling.
Kubernetes operators run complex software inside your cluster. The open source
community has already built [many operators][operatorhub] for distributed
applications like Prometheus, Elasticsearch, or Argo CD. Even outside of
open source, operators can help to bring new functionality to your Kubernetes
cluster.
An operator is a set of [custom resources][custom-resource-definitions] and a
set of [controllers][controllers]. A controller watches for changes to specific
resources in the Kubernetes API and reacts by creating, updating, or deleting
resources.
The Operator SDK is best suited for building fully-featured operators.
Nonetheless, you can use it to write a single controller. This post will walk
you through writing a Kubernetes controller in Go that will add a `pod-name`
label to pods that have a specific annotation.
## Why do we need a controller for this?
I recently worked on a project where we needed to create a Service that routed
traffic to a specific Pod in a ReplicaSet. The problem is that a Service can
only select pods by label, and all pods in a ReplicaSet have the same labels.
There are two ways to solve this problem:
1. Create a Service without a selector and manage the Endpoints or
EndpointSlices for that Service directly. We would need to write a custom
controller to insert our Pod's IP address into those resources.
2. Add a label to the Pod with a unique value. We could then use this label in
our Service's selector. Again, we would need to write a custom controller to
add this label.
A controller is a control loop that tracks one or more Kubernetes resource
types. The controller from option n°2 above only needs to track pods, which
makes it simpler to implement. This is the option we are going to walk through
by writing a Kubernetes controller that adds a `pod-name` label to our pods.
StatefulSets [do this natively][statefulset-pod-name-label] by adding a
`pod-name` label to each Pod in the set. But what if we don't want to or can't
use StatefulSets?
We rarely create pods directly; most often, we use a Deployment, ReplicaSet, or
another high-level resource. We can specify labels to add to each Pod in the
PodSpec, but not with dynamic values, so no way to replicate a StatefulSet's
`pod-name` label.
We tried using a [mutating admission webhook][mutating-admission-webhook]. When
anyone creates a Pod, the webhook patches the Pod with a label containing the
Pod's name. Disappointingly, this does not work: not all pods have a name before
being created. For instance, when the ReplicaSet controller creates a Pod, it
sends a `namePrefix` to the Kubernetes API server and not a `name`. The API
server generates a unique name before persisting the new Pod to etcd, but only
after calling our admission webhook. So in most cases, we can't know a Pod's
name with a mutating webhook.
Once a Pod exists in the Kubernetes API, it is mostly immutable, but we can
still add a label. We can even do so from the command line:
```bash
kubectl label my-pod my-label-key=my-label-value
```
We need to watch for changes to any pods in the Kubernetes API and add the label
we want. Rather than do this manually, we are going to write a controller that
does it for us.
## Bootstrapping a controller with the Operator SDK
A controller is a reconciliation loop that reads the desired state of a resource
from the Kubernetes API and takes action to bring the cluster's actual state
closer to the desired state.
In order to write this controller as quickly as possible, we are going to use
the Operator SDK. If you don't have it installed, follow the
[official documentation][operator-sdk-installation].
```terminal
$ operator-sdk version
operator-sdk version: "v1.4.2", commit: "4b083393be65589358b3e0416573df04f4ae8d9b", kubernetes version: "v1.19.4", go version: "go1.15.8", GOOS: "darwin", GOARCH: "amd64"
```
Let's create a new directory to write our controller in:
```bash
mkdir label-operator && cd label-operator
```
Next, let's initialize a new operator, to which we will add a single controller.
To do this, you will need to specify a domain and a repository. The domain
serves as a prefix for the group your custom Kubernetes resources will belong
to. Because we are not going to be defining custom resources, the domain does
not matter. The repository is going to be the name of the Go module we are going
to write. By convention, this is the repository where you will be storing your
code.
As an example, here is the command I ran:
```bash
# Feel free to change the domain and repo values.
operator-sdk init --domain=padok.fr --repo=github.com/busser/label-operator
```
Next, we need a create a new controller. This controller will handle pods and
not a custom resource, so no need to generate the resource code. Let's run this
command to scaffold the code we need:
```bash
operator-sdk create api --group=core --version=v1 --kind=Pod --controller=true --resource=false
```
We now have a new file: `controllers/pod_controller.go`. This file contains a
`PodReconciler` type with two methods that we need to implement. The first is
`Reconcile`, and it looks like this for now:
```go
func (r *PodReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
_ = r.Log.WithValues("pod", req.NamespacedName)
// your logic here
return ctrl.Result{}, nil
}
```
The `Reconcile` method is called whenever a Pod is created, updated, or deleted.
The name and namespace of the Pod are in the `ctrl.Request` the method receives
as a parameter.
The second method is `SetupWithManager` and for now it looks like this:
```go
func (r *PodReconciler) SetupWithManager(mgr ctrl.Manager) error {
return ctrl.NewControllerManagedBy(mgr).
// Uncomment the following line adding a pointer to an instance of the controlled resource as an argument
// For().
Complete(r)
}
```
The `SetupWithManager` method is called when the operator starts. It serves to
tell the operator framework what types our `PodReconciler` needs to watch. To
use the same `Pod` type used by Kubernetes internally, we need to import some of
its code. All of the Kubernetes source code is open source, so you can import
any part you like in your own Go code. You can find a complete list of available
packages in the Kubernetes source code or [here on pkg.go.dev][pkg-go-dev]. To
use pods, we need the `k8s.io/api/core/v1` package.
```go
package controllers
import (
// other imports...
corev1 "k8s.io/api/core/v1"
// other imports...
)
```
Lets use the `Pod` type in `SetupWithManager` to tell the operator framework we
want to watch pods:
```go
func (r *PodReconciler) SetupWithManager(mgr ctrl.Manager) error {
return ctrl.NewControllerManagedBy(mgr).
For(&corev1.Pod{}).
Complete(r)
}
```
Before moving on, we should set the RBAC permissions our controller needs. Above
the `Reconcile` method, we have some default permissions:
```go
// +kubebuilder:rbac:groups=core,resources=pods,verbs=get;list;watch;create;update;patch;delete
// +kubebuilder:rbac:groups=core,resources=pods/status,verbs=get;update;patch
// +kubebuilder:rbac:groups=core,resources=pods/finalizers,verbs=update
```
We don't need all of those. Our controller will never interact with a Pod's
status or its finalizers. It only needs to read and update pods. Lets remove the
unnecessary permissions and keep only what we need:
```go
// +kubebuilder:rbac:groups=core,resources=pods,verbs=get;list;watch;update;patch
```
We are now ready to write our controller's reconciliation logic.
## Implementing reconciliation
Here is what we want our `Reconcile` method to do:
1. Use the Pod's name and namespace from the `ctrl.Request` to fetch the Pod
from the Kubernetes API.
2. If the Pod has an `add-pod-name-label` annotation, add a `pod-name` label to
the Pod; if the annotation is missing, don't add the label.
3. Update the Pod in the Kubernetes API to persist the changes made.
Lets define some constants for the annotation and label:
```go
const (
addPodNameLabelAnnotation = "padok.fr/add-pod-name-label"
podNameLabel = "padok.fr/pod-name"
)
```
The first step in our reconciliation function is to fetch the Pod we are working
on from the Kubernetes API:
```go
// Reconcile handles a reconciliation request for a Pod.
// If the Pod has the addPodNameLabelAnnotation annotation, then Reconcile
// will make sure the podNameLabel label is present with the correct value.
// If the annotation is absent, then Reconcile will make sure the label is too.
func (r *PodReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
log := r.Log.WithValues("pod", req.NamespacedName)
/*
Step 0: Fetch the Pod from the Kubernetes API.
*/
var pod corev1.Pod
if err := r.Get(ctx, req.NamespacedName, &pod); err != nil {
log.Error(err, "unable to fetch Pod")
return ctrl.Result{}, err
}
return ctrl.Result{}, nil
}
```
Our `Reconcile` method will be called when a Pod is created, updated, or
deleted. In the deletion case, our call to `r.Get` will return a specific error.
Let's import the package that defines this error:
```go
package controllers
import (
// other imports...
apierrors "k8s.io/apimachinery/pkg/api/errors"
// other imports...
)
```
We can now handle this specific error and — since our controller does not care
about deleted pods — explicitly ignore it:
```go
/*
Step 0: Fetch the Pod from the Kubernetes API.
*/
var pod corev1.Pod
if err := r.Get(ctx, req.NamespacedName, &pod); err != nil {
if apierrors.IsNotFound(err) {
// we'll ignore not-found errors, since we can get them on deleted requests.
return ctrl.Result{}, nil
}
log.Error(err, "unable to fetch Pod")
return ctrl.Result{}, err
}
```
Next, lets edit our Pod so that our dynamic label is present if and only if our
annotation is present:
```go
/*
Step 1: Add or remove the label.
*/
labelShouldBePresent := pod.Annotations[addPodNameLabelAnnotation] == "true"
labelIsPresent := pod.Labels[podNameLabel] == pod.Name
if labelShouldBePresent == labelIsPresent {
// The desired state and actual state of the Pod are the same.
// No further action is required by the operator at this moment.
log.Info("no update required")
return ctrl.Result{}, nil
}
if labelShouldBePresent {
// If the label should be set but is not, set it.
if pod.Labels == nil {
pod.Labels = make(map[string]string)
}
pod.Labels[podNameLabel] = pod.Name
log.Info("adding label")
} else {
// If the label should not be set but is, remove it.
delete(pod.Labels, podNameLabel)
log.Info("removing label")
}
```
Finally, let's push our updated Pod to the Kubernetes API:
```go
/*
Step 2: Update the Pod in the Kubernetes API.
*/
if err := r.Update(ctx, &pod); err != nil {
log.Error(err, "unable to update Pod")
return ctrl.Result{}, err
}
```
When writing our updated Pod to the Kubernetes API, there is a risk that the Pod
has been updated or deleted since we first read it. When writing a Kubernetes
controller, we should keep in mind that we are not the only actors in the
cluster. When this happens, the best thing to do is start the reconciliation
from scratch, by requeuing the event. Lets do exactly that:
```go
/*
Step 2: Update the Pod in the Kubernetes API.
*/
if err := r.Update(ctx, &pod); err != nil {
if apierrors.IsConflict(err) {
// The Pod has been updated since we read it.
// Requeue the Pod to try to reconciliate again.
return ctrl.Result{Requeue: true}, nil
}
if apierrors.IsNotFound(err) {
// The Pod has been deleted since we read it.
// Requeue the Pod to try to reconciliate again.
return ctrl.Result{Requeue: true}, nil
}
log.Error(err, "unable to update Pod")
return ctrl.Result{}, err
}
```
Let's remember to return successfully at the end of the method:
```go
return ctrl.Result{}, nil
}
```
And that's it! We are now ready to run the controller on our cluster.
## Run the controller on your cluster
To run our controller on your cluster, we need to run the operator. For that,
all you will need is `kubectl`. If you don't have a Kubernetes cluster at hand,
I recommend you start one locally with [KinD (Kubernetes in Docker)][kind].
All it takes to run the operator from your machine is this command:
```bash
make run
```
After a few seconds, you should see the operator's logs. Notice that our
controller's `Reconcile` method was called for all pods already running in the
cluster.
Let's keep the operator running and, in another terminal, create a new Pod:
```bash
kubectl run --image=nginx my-nginx
```
The operator should quickly print some logs, indicating that it reacted to the
Pod's creation and subsequent changes in status:
```text
INFO controllers.Pod no update required {"pod": "default/my-nginx"}
INFO controllers.Pod no update required {"pod": "default/my-nginx"}
INFO controllers.Pod no update required {"pod": "default/my-nginx"}
INFO controllers.Pod no update required {"pod": "default/my-nginx"}
```
Lets check the Pod's labels:
```terminal
$ kubectl get pod my-nginx --show-labels
NAME READY STATUS RESTARTS AGE LABELS
my-nginx 1/1 Running 0 11m run=my-nginx
```
Let's add an annotation to the Pod so that our controller knows to add our
dynamic label to it:
```bash
kubectl annotate pod my-nginx padok.fr/add-pod-name-label=true
```
Notice that the controller immediately reacted and produced a new line in its
logs:
```text
INFO controllers.Pod adding label {"pod": "default/my-nginx"}
```
```terminal
$ kubectl get pod my-nginx --show-labels
NAME READY STATUS RESTARTS AGE LABELS
my-nginx 1/1 Running 0 13m padok.fr/pod-name=my-nginx,run=my-nginx
```
Bravo! You just successfully wrote a Kubernetes controller capable of adding
labels with dynamic values to resources in your cluster.
Controllers and operators, both big and small, can be an important part of your
Kubernetes journey. Writing operators is easier now than it has ever been. The
possibilities are endless.
## What next?
If you want to go further, I recommend starting by deploying your controller or
operator inside a cluster. The `Makefile` generated by the Operator SDK will do
most of the work.
When deploying an operator to production, it is always a good idea to implement
robust testing. The first step in that direction is to write unit tests.
[This documentation][operator-sdk-testing] will guide you in writing tests for
your operator. I wrote tests for the operator we just wrote; you can find all of
my code in [this GitHub repository][github-repo].
## How to learn more?
The [Operator SDK documentation][operator-sdk-docs] goes into detail on how you
can go further and implement more complex operators.
When modeling a more complex use-case, a single controller acting on built-in
Kubernetes types may not be enough. You may need to build a more complex
operator with [Custom Resource Definitions (CRDs)][custom-resource-definitions]
and multiple controllers. The Operator SDK is a great tool to help you do this.
If you want to discuss building an operator, join the [#kubernetes-operator][slack-channel]
channel in the [Kubernetes Slack workspace][slack-workspace]!
<!-- Links -->
[controllers]: https://kubernetes.io/docs/concepts/architecture/controller/
[custom-resource-definitions]: https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/
[kind]: https://kind.sigs.k8s.io/docs/user/quick-start/#installation
[github-repo]: https://github.com/busser/label-operator
[mutating-admission-webhook]: https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#mutatingadmissionwebhook
[operator-sdk]: https://sdk.operatorframework.io/
[operator-sdk-docs]: https://sdk.operatorframework.io/docs/
[operator-sdk-installation]: https://sdk.operatorframework.io/docs/installation/
[operator-sdk-testing]: https://sdk.operatorframework.io/docs/building-operators/golang/testing/
[operatorhub]: https://operatorhub.io/
[pkg-go-dev]: https://pkg.go.dev/k8s.io/api
[slack-channel]: https://kubernetes.slack.com/messages/kubernetes-operators
[slack-workspace]: https://slack.k8s.io/
[statefulset-pod-name-label]: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-name-label
[what-is-an-operator]: https://kubernetes.io/docs/concepts/extend-kubernetes/operator/
@@ -0,0 +1,49 @@
---
layout: blog
title: "Announcing Kubernetes Community Group Annual Reports"
description: >
Introducing brand new Kubernetes Community Group Annual Reports for
Special Interest Groups and Working Groups.
date: 2021-06-28T10:00:00-08:00
slug: Announcing-Kubernetes-Community-Group-Annual-Reports
---
**Authors:** Divya Mohan
{{< figure src="k8s_annual_report_2020.svg" alt="Community annual report 2020" link="https://www.cncf.io/reports/kubernetes-community-annual-report-2020/" >}}
Given the growth and scale of the Kubernetes project, the existing reporting mechanisms were proving to be inadequate and challenging.
Kubernetes is a large open source project. With over 100000 commits just to the main k/kubernetes repository, hundreds of other code
repositories in the project, and thousands of contributors, there's a lot going on. In fact, there are 37 contributor groups at the time of
writing. We also value all forms of contribution and not just code changes.
With that context in mind, the challenge of reporting on all this activity was a call to action for exploring better options. Therefore
inspired by the Apache Software Foundations [open guide to PMC Reporting](https://www.apache.org/foundation/board/reporting) and the
[CNCF project Annual Reporting](https://www.cncf.io/cncf-annual-report-2020/), the Kubernetes project is proud to announce the
**Kubernetes Community Group Annual Reports for Special Interest Groups (SIGs) and Working Groups (WGs)**. In its flagship edition,
the [2020 Summary report](https://www.cncf.io/reports/kubernetes-community-annual-report-2020/) focuses on bettering the
Kubernetes ecosystem by assessing and promoting the healthiness of the groups within the upstream community.
Previously, the mechanisms for the Kubernetes project overall to report on groups and their activities were
[devstats](https://k8s.devstats.cncf.io/), GitHub data, issues, to measure the healthiness of a given UG/WG/SIG/Committee. As a
project spanning several diverse communities, it was essential to have something that captured the human side of things. With 50,000+
contributors, its easy to assume that the project has enough help and this report surfaces more information than /help-wanted and
/good-first-issue for end users. This is how we sustain the project. Paraphrasing one of the Steering Committee members,
[Paris Pittman](https://github.com/parispittman), “There was a requirement for tighter feedback loops - ones that involved more than just
GitHub data and issues. Given that Kubernetes, as a project, has grown in scale and number of contributors over the years, we have
outgrown the existing reporting mechanisms."
The existing communication channels between the Steering committee members and the folks leading the groups and committees were also required
to be made as open and as bi-directional as possible. Towards achieving this very purpose, every group and committee has been assigned a
liaison from among the steering committee members for kick off, help, or guidance needed throughout the process. According to
[Davanum Srinivas a.k.a. dims](https://github.com/dims), “... That was one of the main motivations behind this report. People (leading the
groups/committees) know that they can reach out to us and theres a vehicle for them to reach out to us… This is our way of setting up a
two-way feedback for them." The progress on these action items would be updated and tracked on the monthly Steering Committee meetings
ensuring that this is not a one-off activity. Quoting [Nikhita Raghunath](https://github.com/nikhita), one of the Steering Committee members,
“... Once we have a base, the liaisons will work with these groups to ensure that the problems are resolved. When we have a report next year,
well have a look at the progress made and how we could still do better. But the idea is definitely to not stop at the report.”
With this report, we hope to empower our end user communities with information that they can use to identify ways in which they can support
the project as well as a sneak peek into the roadmap for upcoming features. As a community, we thrive on feedback and would love to hear your
views about the report. You can get in touch with the [Steering Committee](https://github.com/kubernetes/steering#contact) via
[Slack](https://kubernetes.slack.com/messages/steering-committee) or via the [mailing list](steering@kubernetes.io).
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.2 MiB

@@ -0,0 +1,276 @@
---
layout: blog
title: "Kubernetes API and Feature Removals In 1.22: Heres What You Need To Know"
date: 2021-07-14
slug: upcoming-changes-in-kubernetes-1-22
---
**Authors**: Krishna Kilari (Amazon Web Services), Tim Bannister (The Scale Factory)
As the Kubernetes API evolves, APIs are periodically reorganized or upgraded.
When APIs evolve, the old APIs they replace are deprecated, and eventually removed.
See [Kubernetes API removals](#kubernetes-api-removals) to read more about Kubernetes'
policy on removing APIs.
We want to make sure you're aware of some upcoming removals. These are
beta APIs that you can use in current, supported Kubernetes versions,
and they are already deprecated. The reason for all of these removals
is that they have been superseded by a newer, stable (“GA”) API.
Kubernetes 1.22, due for release in August 2021, will remove a number of deprecated
APIs.
_Update_:
[Kubernetes 1.22: Reaching New Peaks](/blog/2021/08/04/kubernetes-1-22-release-announcement/)
has details on the v1.22 release.
## API removals for Kubernetes v1.22 {#api-changes}
The **v1.22** release will stop serving the API versions we've listed immediately below.
These are all beta APIs that were previously deprecated in favor of newer and more stable
API versions.
<!-- sorted by API group -->
* Beta versions of the `ValidatingWebhookConfiguration` and `MutatingWebhookConfiguration` API (the **admissionregistration.k8s.io/v1beta1** API versions)
* The beta `CustomResourceDefinition` API (**apiextensions.k8s.io/v1beta1**)
* The beta `APIService` API (**apiregistration.k8s.io/v1beta1**)
* The beta `TokenReview` API (**authentication.k8s.io/v1beta1**)
* Beta API versions of `SubjectAccessReview`, `LocalSubjectAccessReview`, `SelfSubjectAccessReview` (API versions from **authorization.k8s.io/v1beta1**)
* The beta `CertificateSigningRequest` API (**certificates.k8s.io/v1beta1**)
* The beta `Lease` API (**coordination.k8s.io/v1beta1**)
* All beta `Ingress` APIs (the **extensions/v1beta1** and **networking.k8s.io/v1beta1** API versions)
The Kubernetes documentation covers these
[API removals for v1.22](/docs/reference/using-api/deprecation-guide/#v1-22) and explains
how each of those APIs change between beta and stable.
## What to do
We're going to run through each of the resources that are affected by these removals
and explain the steps you'll need to take.
`Ingress`
: Migrate to use the **networking.k8s.io/v1**
[Ingress](/docs/reference/kubernetes-api/service-resources/ingress-v1/) API,
[available since v1.19](/blog/2020/08/26/kubernetes-release-1.19-accentuate-the-paw-sitive/#ingress-graduates-to-general-availability).
The related API [IngressClass](/docs/reference/kubernetes-api/service-resources/ingress-class-v1/)
is designed to complement the [Ingress](/docs/concepts/services-networking/ingress/)
concept, allowing you to configure multiple kinds of Ingress within one cluster.
If you're currently using the deprecated
[`kubernetes.io/ingress.class`](https://kubernetes.io/docs/reference/labels-annotations-taints/#kubernetes-io-ingress-class-deprecated)
annotation, plan to switch to using the `.spec.ingressClassName` field instead.
On any cluster running Kubernetes v1.19 or later, you can use the v1 API to
retrieve or update existing Ingress objects, even if they were created using an
older API version.
When you convert an Ingress to the v1 API, you should review each rule in that Ingress.
Older Ingresses use the legacy `ImplementationSpecific` path type. Instead of `ImplementationSpecific`, switch [path matching](/docs/concepts/services-networking/ingress/#path-types) to either `Prefix` or `Exact`. One of the benefits of moving to these alternative path types is that it becomes easier to migrate between different Ingress classes.
**ⓘ** As well as upgrading _your_ own use of the Ingress API as a client, make sure that
every ingress controller that you use is compatible with the v1 Ingress API.
Read [Ingress Prerequisites](/docs/concepts/services-networking/ingress/#prerequisites)
for more context about Ingress and ingress controllers.
`ValidatingWebhookConfiguration` and `MutatingWebhookConfiguration`
: Migrate to use the **admissionregistration.k8s.io/v1** API versions of
[ValidatingWebhookConfiguration](/docs/reference/kubernetes-api/extend-resources/validating-webhook-configuration-v1/)
and [MutatingWebhookConfiguration](/docs/reference/kubernetes-api/extend-resources/mutating-webhook-configuration-v1/),
available since v1.16.
You can use the v1 API to retrieve or update existing objects, even if they were created using an older API version.
`CustomResourceDefinition`
: Migrate to use the [CustomResourceDefinition](/docs/reference/kubernetes-api/extend-resources/custom-resource-definition-v1/)
**apiextensions.k8s.io/v1** API, available since v1.16.
You can use the v1 API to retrieve or update existing objects, even if they were created
using an older API version. If you defined any custom resources in your cluster, those
are still served after you upgrade.
If you're using external CustomResourceDefinitions, you can use
[`kubectl convert`](#kubectl-convert) to translate existing manifests to use the newer API.
Because there are some functional differences between beta and stable CustomResourceDefinitions,
our advice is to test out each one to make sure it works how you expect after the upgrade.
`APIService`
: Migrate to use the **apiregistration.k8s.io/v1** [APIService](/docs/reference/kubernetes-api/cluster-resources/api-service-v1/)
API, available since v1.10.
You can use the v1 API to retrieve or update existing objects, even if they were created using an older API version.
If you already have API aggregation using an APIService object, this aggregation continues
to work after you upgrade.
`TokenReview`
: Migrate to use the **authentication.k8s.io/v1** [TokenReview](/docs/reference/kubernetes-api/authentication-resources/token-review-v1/)
API, available since v1.10.
As well as serving this API via HTTP, the Kubernetes API server uses the same format to
[send](/docs/reference/access-authn-authz/authentication/#webhook-token-authentication)
TokenReviews to webhooks. The v1.22 release continues to use the v1beta1 API for TokenReviews
sent to webhooks by default. See [Looking ahead](#looking-ahead) for some specific tips about
switching to the stable API.
`SubjectAccessReview`, `SelfSubjectAccessReview` and `LocalSubjectAccessReview`
: Migrate to use the **authorization.k8s.io/v1** versions of those
[authorization APIs](/docs/reference/kubernetes-api/authorization-resources/), available since v1.6.
`CertificateSigningRequest`
: Migrate to use the **certificates.k8s.io/v1**
[CertificateSigningRequest](/docs/reference/kubernetes-api/authentication-resources/certificate-signing-request-v1/)
API, available since v1.19.
You can use the v1 API to retrieve or update existing objects, even if they were created
using an older API version. Existing issued certificates retain their validity when you upgrade.
`Lease`
: Migrate to use the **coordination.k8s.io/v1** [Lease](/docs/reference/kubernetes-api/cluster-resources/lease-v1/)
API, available since v1.14.
You can use the v1 API to retrieve or update existing objects, even if they were created
using an older API version.
### `kubectl convert`
There is a plugin to `kubectl` that provides the `kubectl convert` subcommand.
It's an official plugin that you can download as part of Kubernetes.
See [Download Kubernetes](/releases/download/) for more details.
You can use `kubectl convert` to update manifest files to use a different API
version. For example, if you have a manifest in source control that uses the beta
Ingress API, you can check that definition out,
and run
`kubectl convert -f <manifest> --output-version <group>/<version>`.
You can use the `kubectl convert` command to automatically convert an
existing manifest.
For example, to convert an older Ingress definition to
`networking.k8s.io/v1`, you can run:
```bash
kubectl convert -f ./legacy-ingress.yaml --output-version networking.k8s.io/v1
```
The automatic conversion uses a similar technique to how the Kubernetes control plane
updates objects that were originally created using an older API version. Because it's
a mechanical conversion, you might need to go in and change the manifest to adjust
defaults etc.
### Rehearse for the upgrade
If you manage your cluster's API server component, you can try out these API
removals before you upgrade to Kubernetes v1.22.
To do that, add the following to the kube-apiserver command line arguments:
`--runtime-config=admissionregistration.k8s.io/v1beta1=false,apiextensions.k8s.io/v1beta1=false,apiregistration.k8s.io/v1beta1=false,authentication.k8s.io/v1beta1=false,authorization.k8s.io/v1beta1=false,certificates.k8s.io/v1beta1=false,coordination.k8s.io/v1beta1=false,extensions/v1beta1/ingresses=false,networking.k8s.io/v1beta1=false`
(as a side effect, this also turns off v1beta1 of EndpointSlice - watch out for
that when you're testing).
Once you've switched all the kube-apiservers in your cluster to use that setting,
those beta APIs are removed. You can test that API clients (`kubectl`, deployment
tools, custom controllers etc) still work how you expect, and you can revert if
you need to without having to plan a more disruptive downgrade.
### Advice for software authors
Maybe you're reading this because you're a developer of an addon or other
component that integrates with Kubernetes?
If you develop an Ingress controller, webhook authenticator, an API aggregation, or
any other tool that relies on these deprecated APIs, you should already have started
to switch your software over.
You can use the tips in
[Rehearse for the upgrade](#rehearse-for-the-upgrade) to run your own Kubernetes
cluster that only uses the new APIs, and make sure that your code works OK.
For your documentation, make sure readers are aware of any steps they should take
for the Kubernetes v1.22 upgrade.
Where possible, give your users a hand to adopt the new APIs early - perhaps in a
test environment - so they can give you feedback about any problems.
There are some [more deprecations](#looking-ahead) coming in Kubernetes v1.25,
so plan to have those covered too.
## Kubernetes API removals
Here's some background about why Kubernetes removes some APIs, and also a promise
about _stable_ APIs in Kubernetes.
Kubernetes follows a defined
[deprecation policy](/docs/reference/using-api/deprecation-policy/) for its
features, including the Kubernetes API. That policy allows for replacing stable
(“GA”) APIs from Kubernetes. Importantly, this policy means that a stable API only
be deprecated when a newer stable version of that same API is available.
That stability guarantee matters: if you're using a stable Kubernetes API, there
won't ever be a new version released that forces you to switch to an alpha or beta
feature.
Earlier stages are different. Alpha features are under test and potentially
incomplete. Almost always, alpha features are disabled by default.
Kubernetes releases can and do remove alpha features that haven't worked out.
After alpha, comes beta. These features are typically enabled by default; if the
testing works out, the feature can graduate to stable. If not, it might need
a redesign.
Last year, Kubernetes officially
[adopted](/blog/2020/08/21/moving-forward-from-beta/#avoiding-permanent-beta)
a policy for APIs that have reached their beta phase:
> For Kubernetes REST APIs, when a new feature's API reaches beta, that starts
> a countdown. The beta-quality API now has three releases &hellip;
> to either:
>
> * reach GA, and deprecate the beta, or
> * have a new beta version (and deprecate the previous beta).
_At the time of that article, three Kubernetes releases equated to roughly nine
calendar months. Later that same month, Kubernetes
adopted a new
release cadence of three releases per calendar year, so the countdown period is
now roughly twelve calendar months._
Whether an API removal is because of a beta feature graduating to stable, or
because that API hasn't proved successful, Kubernetes will continue to remove
APIs by following its deprecation policy and making sure that migration options
are documented.
### Looking ahead
There's a setting that's relevant if you use webhook authentication checks.
A future Kubernetes release will switch to sending TokenReview objects
to webhooks using the `authentication.k8s.io/v1` API by default. At the moment,
the default is to send `authentication.k8s.io/v1beta1` TokenReviews to webhooks,
and that's still the default for Kubernetes v1.22.
However, you can switch over to the stable API right now if you want:
add `--authentication-token-webhook-version=v1` to the command line options for
the kube-apiserver, and check that webhooks for authentication still work how you
expected.
Once you're happy it works OK, you can leave the `--authentication-token-webhook-version=v1`
option set across your control plane.
The **v1.25** release that's planned for next year will stop serving beta versions of
several Kubernetes APIs that are stable right now and have been for some time.
The same v1.25 release will **remove** PodSecurityPolicy, which is deprecated and won't
graduate to stable. See
[PodSecurityPolicy Deprecation: Past, Present, and Future](/blog/2021/04/06/podsecuritypolicy-deprecation-past-present-and-future/)
for more information.
The official [list of API removals](/docs/reference/using-api/deprecation-guide/#v1-25)
planned for Kubernetes 1.25 is:
* The beta `CronJob` API (**batch/v1beta1**)
* The beta `EndpointSlice` API (**networking.k8s.io/v1beta1**)
* The beta `PodDisruptionBudget` API (**policy/v1beta1**)
* The beta `PodSecurityPolicy` API (**policy/v1beta1**)
## Want to know more?
Deprecations are announced in the Kubernetes release notes. You can see the announcements
of pending deprecations in the release notes for
[1.19](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.19.md#deprecations),
[1.20](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md#deprecation),
and [1.21](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.21.md#deprecation).
For information on the process of deprecation and removal, check out the official Kubernetes
[deprecation policy](/docs/reference/using-api/deprecation-policy/#deprecating-parts-of-the-api)
document.
@@ -0,0 +1,65 @@
---
layout: blog
title: "Spotlight on SIG Usability"
date: 2021-07-15
slug: sig-usability-spotlight-2021
---
**Author:** Kunal Kushwaha, Civo
## Introduction
Are you interested in learning about what [SIG Usability](https://github.com/kubernetes/community/tree/master/sig-usability) does and how you can get involved? Well, you're at the right place. SIG Usability is all about making Kubernetes more accessible to new folks, and its main activity is conducting user research for the community. In this blog, we have summarized our conversation with [Gaby Moreno](https://twitter.com/morengab), who walks us through the various aspects of being a part of the SIG and shares some insights about how others can get involved.
Gaby is a co-lead for SIG Usability. She works as a Product Designer at IBM and enjoys working on the user experience of open, hybrid cloud technologies like Kubernetes, OpenShift, Terraform, and Cloud Foundry.
## A summary of our conversation
### Q. Could you tell us a little about what SIG Usability does?
A. SIG Usability at a high level started because there was no dedicated user experience team for Kubernetes. The extent of SIG Usability is focussed on the end-client ease of use of the Kubernetes project. The main activity is user research for the community, which includes speaking to Kubernetes users.
This covers points like user experience and accessibility. The objectives of the SIG are to guarantee that the Kubernetes project is maximally usable by people of a wide range of foundations and capacities, such as incorporating internationalization and ensuring the openness of documentation.
### Q. Why should new and existing contributors consider joining SIG Usability?
A. There are plenty of territories where new contributors can begin. For example:
- User research projects, where people can help understand the usability of the end-user experiences, including error messages, end-to-end tasks, etc.
- Accessibility guidelines for Kubernetes community artifacts, examples include: internationalization of documentation, color choices for people with color blindness, ensuring compatibility with screen reader technology, user interface design for core components with user interfaces, and more.
### Q. What do you do to help new contributors get started?
A. New contributors can get started by shadowing one of the user interviews, going through user interview transcripts, analyzing them, and designing surveys.
SIG Usability is also open to new project ideas. If you have an idea, well do what we can to support it. There are regular SIG Meetings where people can ask their questions live. These meetings are also recorded for those who may not be able to attend. As always, you can reach out to us on Slack as well.
### Q. What does the survey include?
A. In simple terms, the survey gathers information about how people use Kubernetes, such as trends in learning to deploy a new system, error messages they receive, and workflows.
One of our goals is to standardize the responses accordingly. The ultimate goal is to analyze survey responses for important user stories whose needs aren't being met.
### Q. Are there any particular skills youd like to recruit for? What skills are contributors to SIG Usability likely to learn?
A. Although contributing to SIG Usability does not have any pre-requisites as such, experience with user research, qualitative research, or prior experience with how to conduct an interview would be great plus points. Quantitative research, like survey design and screening, is also helpful and something that we expect contributors to learn.
### Q. What are you getting positive feedback on, and whats coming up next for SIG Usability?
A. We have had new members joining and coming to monthly meetings regularly and showing interests in becoming a contributor and helping the community. We have also had a lot of people reach out to us via Slack showcasing their interest in the SIG.
Currently, we are focused on finishing the study mentioned in our [talk](https://www.youtube.com/watch?v=Byn0N_ZstE0), also our project for this year. We are always happy to have new contributors join us.
### Q: Any closing thoughts/resources youd like to share?
A. We love meeting new contributors and assisting them in investigating different Kubernetes project spaces. We will work with and team up with other SIGs to facilitate engaging with end-users, running studies, and help them integrate accessible design practices into their development practices.
Here are some resources for you to get started:
- [GitHub](https://github.com/kubernetes/community/tree/master/sig-usability)
- [Mailing list](https://groups.google.com/g/kubernetes-sig-usability)
- [Open Community Issues/PRs](https://github.com/kubernetes/community/labels/sig%2Fusability)
- [Slack](https://slack.k8s.io/)
- [Slack channel #sig-usability](https://kubernetes.slack.com/archives/CLC5EF63T)
## Wrap Up
SIG Usability hosted a [KubeCon talk](https://www.youtube.com/watch?v=Byn0N_ZstE0) about studying Kubernetes users' experiences. The talk focuses on updates to the user study projects, understanding who is using Kubernetes, what they are trying to achieve, how the project is addressing their needs, and where we need to improve the project and the client experience. Join the SIG's update to find out about the most recent research results, what the plans are for the forthcoming year, and how to get involved in the upstream usability team as a contributor!
@@ -0,0 +1,83 @@
---
layout: blog
title: "Kubernetes Release Cadence Change: Heres What You Need To Know"
date: 2021-07-20
slug: new-kubernetes-release-cadence
---
**Authors**: Celeste Horgan, Adolfo García Veytia, James Laverack, Jeremy Rickard
On April 23, 2021, the Release Team merged a Kubernetes Enhancement Proposal (KEP) changing the Kubernetes release cycle from four releases a year (once a quarter) to three releases a year.
This blog post provides a high level overview about what this means for the Kubernetes community's contributors and maintainers.
## What's changing and when
Starting with the [Kubernetes 1.22 release](https://github.com/kubernetes/sig-release/tree/master/releases/release-1.22), a lightweight policy will drive the creation of each release schedule. This policy states:
* The first Kubernetes release of a calendar year should start at the second or third
week of January to provide people more time for contributors coming back from the
end of year holidays.
* The last Kubernetes release of a calendar year should be finished by the middle of
December.
* A Kubernetes release cycle has a length of approximately 15 weeks.
* The week of KubeCon + CloudNativeCon is not considered a 'working week' for SIG Release. The Release Team will not hold meetings or make decisions in this period.
* An explicit SIG Release break of at least two weeks between each cycle will
be enforced.
As a result, Kubernetes will follow a three releases per year cadence. Kubernetes 1.23 will be the final release of the 2021 calendar year. This new policy results in a very predictable release schedule, allowing us to forecast upcoming release dates:
*Proposed Kubernetes Release Schedule for the remainder of 2021*
| Week Number in Year | Release Number | Release Week | Note |
| -------- | -------- | -------- | -------- |
| 35 | 1.23 | 1 (August 23) | |
| 50 | 1.23 | 16 (December 07) | KubeCon + CloudNativeCon NA Break (Oct 11-15) |
*Proposed Kubernetes Release Schedule for 2022*
| Week Number in Year | Release Number | Release Week | Note |
| -------- | -------- | -------- | -------- |
| 1 | 1.24 | 1 (January 03) | |
| 15 | 1.24 | 15 (April 12) | |
| 17 | 1.25 | 1 (April 26) | KubeCon + CloudNativeCon EU likely to occur |
| 32 | 1.25 | 15 (August 09) | |
| 34 | 1.26 | 1 (August 22 | KubeCon + CloudNativeCon NA likely to occur |
| 49 | 1.26 | 14 (December 06) |
These proposed dates reflect only the start and end dates, and they are subject to change. The Release Team will select dates for enhancement freeze, code freeze, and other milestones at the start of each release. For more information on these milestones, please refer to the [release phases](https://www.k8s.dev/resources/release/#phases) documentation. Feedback from prior releases will feed into this process.
## What this means for end users
The major change end users will experience is a slower release cadence and a slower rate of enhancement graduation. Kubernetes release artifacts, release notes, and all other aspects of any given release will stay the same.
Prior to this change an enhancement could graduate from alpha to stable in 9 months. With the change in cadence, this will stretch to 12 months. Additionally, graduation of features over the last few releases has in some part been driven by release team activities.
With fewer releases, users can expect to see the rate of feature graduation slow. Users can also expect releases to contain a larger number of enhancements that they need to be aware of during upgrades. However, with fewer releases to consume per year, it's intended that end user organizations will spend less time on upgrades and gain more time on supporting their Kubernetes clusters. It also means that Kubernetes releases are in support for a slightly longer period of time, so bug fixes and security patches will be available for releases for a longer period of time.
## What this means for Kubernetes contributors
With a lower release cadence, contributors have more time for project enhancements, feature development, planning, and testing. A slower release cadence also provides more room for maintaining their mental health, preparing for events like KubeCon + CloudNativeCon or work on downstream integrations.
## Why we decided to change the release cadence
The Kubernetes 1.19 cycle was far longer than usual. SIG Release extended it to lessen the burden on both Kubernetes contributors and end users due the COVID-19 pandemic. Following this extended release, the Kubernetes 1.20 release became the third, and final, release for 2020.
As the Kubernetes project matures, the number of enhancements per cycle grows, along with the burden on contributors, the Release Engineering team. Downstream consumers and integrators also face increased challenges keeping up with [ever more feature-packed releases](https://kubernetes.io/blog/2021/04/08/kubernetes-1-21-release-announcement/). A wider project adoption means the complexity of supporting a rapidly evolving platform affects a bigger downstream chain of consumers.
Changing the release cadence from four to three releases per year balances a variety of factors for stakeholders: while it's not strictly an LTS policy, consumers and integrators will get longer support terms for each minor version as the extended release cycles lead to the [previous three releases being supported](https://kubernetes.io/blog/2020/08/31/kubernetes-1-19-feature-one-year-support/) for a longer period. Contributors get more time to [mature enhancements](https://www.cncf.io/blog/2021/04/12/enhancing-the-kubernetes-enhancements-process/) and [get them ready for production](https://github.com/kubernetes/community/blob/master/sig-architecture/production-readiness.md).
Finally, the management overhead for SIG Release and the Release Engineering team diminishes allowing the team to spend more time on improving the quality of the software releases and the tooling that drives them.
## How you can help
Join the [discussion](https://github.com/kubernetes/sig-release/discussions/1566) about communicating future release dates and be sure to be on the lookout for post release surveys.
## Where you can find out more
- Read the KEP [here](https://github.com/kubernetes/enhancements/tree/master/keps/sig-release/2572-release-cadence)
- Join the [kubernetes-dev](https://groups.google.com/g/kubernetes-dev) mailing list
- Join [Kubernetes Slack](https://slack.k8s.io) and follow the #announcements channel
@@ -0,0 +1,71 @@
---
layout: blog
title: 'Updating NGINX-Ingress to use the stable Ingress API'
date: 2021-07-26
slug: update-with-ingress-nginx
---
**Authors:** James Strong, Ricardo Katz
With all Kubernetes APIs, there is a process to creating, maintaining, and
ultimately deprecating them once they become GA. The networking.k8s.io API group is no
different. The upcoming Kubernetes 1.22 release will remove several deprecated APIs
that are relevant to networking:
- the `networking.k8s.io/v1beta1` API version of [IngressClass](/docs/concepts/services-networking/ingress/#ingress-class)
- all beta versions of [Ingress](/docs/concepts/services-networking/ingress/): `extensions/v1beta1` and `networking.k8s.io/v1beta1`
On a v1.22 Kubernetes cluster, you'll be able to access Ingress and IngressClass
objects through the stable (v1) APIs, but access via their beta APIs won't be possible.
This change has been in
in discussion since
[2017](https://github.com/kubernetes/kubernetes/issues/43214),
[2019](https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/) with
1.16 Kubernetes API deprecations, and most recently in
KEP-1453:
[Graduate Ingress API to GA](https://github.com/kubernetes/enhancements/tree/master/keps/sig-network/1453-ingress-api#122).
During community meetings, the networking Special Interest Group has decided to continue
supporting Kubernetes versions older than 1.22 with Ingress-NGINX version 0.47.0.
Support for Ingress-NGINX will continue for six months after Kubernetes 1.22
is released. Any additional bug fixes and CVEs for Ingress-NGINX will be
addressed on a need-by-need basis.
Ingress-NGINX will have separate branches and releases of Ingress-NGINX to
support this model, mirroring the Kubernetes project process. Future
releases of the Ingress-NGINX project will track and support the latest
versions of Kubernetes.
{{< table caption="Ingress NGINX supported version with Kubernetes Versions" >}}
Kubernetes version | Ingress-NGINX version | Notes
:-------------------|:----------------------|:------------
v1.22 | v1.0.0-alpha.2 | New features, plus bug fixes.
v1.21 | v0.47.x | Bugfixes only, and just for security issues or crashes. No end-of-support date announced.
v1.20 | v0.47.x | Bugfixes only, and just for security issues or crashes. No end-of-support date announced.
v1.19 | v0.47.x | Bugfixes only, and just for security issues or crashes. Fixes only provided until 6 months after Kubernetes v1.22.0 is released.
{{< /table >}}
Because of the updates in Kubernetes 1.22, **v0.47.0** will not work with
Kubernetes 1.22.
# What you need to do
The team is currently in the process of upgrading ingress-nginx to support
the v1 migration, you can track the progress
[here](https://github.com/kubernetes/ingress-nginx/pull/7156).
We're not making feature improvements to `ingress-nginx` until after the support for
Ingress v1 is complete.
In the meantime to ensure no compatibility issues:
* Update to the latest version of Ingress-NGINX; currently
[v0.47.0](https://github.com/kubernetes/ingress-nginx/releases/tag/controller-v0.47.0)
* After Kubernetes 1.22 is released, ensure you are using the latest version of
Ingress-NGINX that supports the stable APIs for Ingress and IngressClass.
* Test Ingress-NGINX version v1.0.0-alpha.2 with Cluster versions >= 1.19
and report any issues to the projects Github page.
The communitys feedback and support in this effort is welcome. The
Ingress-NGINX Sub-project regularly holds community meetings where we discuss
this and other issues facing the project. For more information on the sub-project,
please see [SIG Network](https://github.com/kubernetes/community/tree/master/sig-network).
@@ -0,0 +1,231 @@
---
layout: blog
title: "Roorkee robots, releases and racing: the Kubernetes 1.21 release interview"
date: 2021-07-29
---
**Author**: Craig Box (Google)
With Kubernetes 1.22 due out next week, now is a great time to look back on 1.21. The release team for that version was led by [Nabarun Pal](https://twitter.com/theonlynabarun) from VMware.
Back in April I [interviewed Nabarun](https://kubernetespodcast.com/episode/146-kubernetes-1.21/) on the weekly [Kubernetes Podcast from Google](https://kubernetespodcast.com/); the latest in a series of release lead conversations that started back with 1.11, not long after the show started back in 2018.
In these interviews we learn a little about the release, but also about the process behind it, and the story behind the person chosen to lead it. Getting to know a community member is my favourite part of the show each week, and so I encourage you to [subscribe wherever you get your podcasts](https://kubernetespodcast.com/subscribe/). With a release coming next week, you can probably guess what our next topic will be!
*This transcript has been edited and condensed for clarity.*
---
**CRAIG BOX: You have a Bachelor of Technology in Metallurgical and Materials Engineering. How are we doing at turning lead into gold?**
NABARUN PAL: Well, last I checked, we have yet to find the philosopher's stone!
**CRAIG BOX: One of the more important parts of the process?**
NABARUN PAL: We're not doing that well in terms of getting alchemists up and running. There is some improvement in nuclear technology, where you can turn lead into gold, but I would guess buying gold would be much more efficient.
**CRAIG BOX: Or Bitcoin? It depends what you want to do with the gold.**
NABARUN PAL: Yeah, seeing the increasing prices of Bitcoin, you'd probably prefer to bet on that. But, don't take this as a suggestion. I'm not a registered investment advisor, and I don't give investment advice!
**CRAIG BOX: But you are, of course, a trained materials engineer. How did you get into that line of education?**
NABARUN PAL: We had a graded and equated exam structure, where you sit a single exam, and then based on your performance in that exam, you can try any of the universities which take those scores into account. I went to the Indian Institute of Technology, Roorkee.
Materials engineering interested me a lot. I had a passion for computer science since childhood, but I also liked material science, so I wanted to explore that field. I did a lot of exploration around material science and metallurgy in my freshman and sophomore years, but then computing, since it was a passion, crept into the picture.
**CRAIG BOX: Let's dig in there a little bit. What did computing look like during your childhood?**
NABARUN PAL: It was a very interesting journey. I started exploring computers back when I was seven or eight. For my first programming language, if you call it a programming language, I explored LOGO.
You have a turtle on the screen, and you issue commands to it, like move forward or rotate or pen up or pen down. You basically draw geometric figures. I could visually see how I could draw a square and how I could draw a triangle. It was an interesting journey after that. I learned BASIC, then went to some amount of HTML, JavaScript.
**CRAIG BOX: It's interesting to me because Logo and BASIC were probably my first two programming languages, but I think there was probably quite a gap in terms of when HTML became a thing after those two! Did your love of computing always lead you down the path towards programming, or were you interested as a child in using computers for games or application software? What led you specifically into programming?**
NABARUN PAL: Programming came in late. Not just in computing, but in life, I'm curious with things. When my parents got me my first computer, I was curious. I was like, "how does this operating system work?" What even is running it? Using a television and using a computer is a different experience, but usability is kind of the same thing. The HCI device for a television is a remote, whereas with a computer, I had a keyboard and a mouse. I used to tinker with the box and reinstall operating systems.
We used to get magazines back then. They used to bundle OpenSuse or Debian, and I used to install them. It was an interesting experience, 15 years back, how Linux used to be. I have been a tinkerer all around, and that's what eventually led me to programming.
**CRAIG BOX: With an interest in both the physical and ethereal aspects of technology, you did a lot of robotics challenges during university. That's something that I am not surprised to hear from someone who has a background in Logo, to be honest. There's Mindstorms, and a lot of other technology that is based around robotics that a lot of LOGO people got into. How was that something that came about for you?**
NABARUN PAL: When I joined my university, apart from studying materials, one of the things they used to really encourage was to get involved in a lot of extracurricular activities. One which interested me was robotics. I joined [my college robotics team](https://github.com/marsiitr) and participated in a lot of challenges.
Predominantly, we used to participate in this competition called [ABU Robocon](https://en.wikipedia.org/wiki/ABU_Robocon), which is an event conducted by the Asia-Pacific Broadcasting Union. What they used to do was, every year, one of the participating countries in the contest would provide a problem statement. For example, one year, they asked us to build a badminton-playing robot. They asked us to build a rugby playing robot or a Frisbee thrower, and there are some interesting problem statements around the challenge: you can't do this. You can't do that. Weight has to be like this. Dimensions have to be like that.
I got involved in that, and most of my time at university, I used to spend there. Material science became kind of a backburner for me, and my hobby became my full time thing.
**CRAIG BOX: And you were not only involved there in terms of the project and contributions to it, but you got involved as a secretary of the team, effectively, doing a lot of the organization, which is a thread that will come up as we speak about Kubernetes.**
NABARUN PAL: Over the course of time, when I gained more knowledge into how the team works, it became very natural that I graduated up the ladder and then managed juniors. I became the joint secretary of the robotics club in our college. This was more of a broad, engaging role in evangelizing robotics at the university, to promote events, to help students to see the value in learning robotics - what you gain out of that mechanically or electronically, or how do you develop your logic by programming robots.
**CRAIG BOX: Your first job after graduation was working at a company called Algoshelf, but you were also an intern there while you were at school?**
NABARUN PAL: Algoshelf was known as Rorodata when I joined them as an intern. This was also an interesting opportunity for me in the sense that I was always interested in writing programs which people would use. One of the things that I did there was build an open source Function as a Service framework, if I may call it that - it was mostly turning Python functions into web servers without even writing any code. The interesting bit there was that it was targeted toward data scientists, and not towards programmers. We had to understand the pain of data scientists, that they had to learn a lot of programming in order to even deploy their machine learning models, and we wanted to solve that problem.
They offered me a job after my internship, and I kept on working for them after I graduated from university. There, I got introduced to Kubernetes, so we pivoted into a product structure where the very same thing I told you, the Functions as a Service thing, could be deployed in Kubernetes. I was exploring Kubernetes to use it as a scalable platform. Instead of managing pets, we wanted to manage cattle, as in, we wanted to have a very highly distributed architecture.
**CRAIG BOX: Not actual cattle. I've been to India. There are a lot of cows around.**
NABARUN PAL: Yeah, not actual cattle. That is a bit tough.
**CRAIG BOX: When Algoshelf we're looking at picking up Kubernetes, what was the evaluation process like? Were you looking at other tools at the time? Or had enough time passed that Kubernetes was clearly the platform that everyone was going to use?**
NABARUN PAL: Algoshelf was a natural evolution. Before Kubernetes, we used to deploy everything on a single big AWS server, using systemd. Everything was a systemd service, and everything was deployed using Fabric. Fabric is a Python package which essentially is like Ansible, but much leaner, as it does not have all the shims and things that Ansible has.
Then we asked "what if we need to scale out to different machines?" Kubernetes was in the hype. We hopped onto the hype train to see whether Kubernetes was worth it for us. And that's where my journey started, exploring the ecosystem, exploring the community. How can we improve the community in essence?
**CRAIG BOX: A couple of times now you've mentioned as you've grown in a role, becoming part of the organization and the arranging of the group. You've talked about working in Python. You had submitted some talks to Pycon India. And I understand you're now a tech lead for that conference. What does the tech community look like in India and how do you describe your involvement in it?**
NABARUN PAL: My involvement with the community began when I was at university. When I was working as an intern at Algoshelf, I was introduced to this-- I never knew about PyCon India, or tech conferences in general.
The person that I was working with just asked me, like hey, did you submit a talk to PyCon India? It's very useful, the library that we were making. So I [submitted a talk](https://www.nabarun.in/talk/2017/pyconindia/#1) to PyCon India in 2017. Eventually the talk got selected. That was not my first speaking opportunity, it was my second. I also spoke at PyData Delhi on a similar thing that I worked on in my internship.
It has been a journey since then. I talked about the same thing at FOSSASIA Summit in Singapore, and got really involved with the Python community because it was what I used to work on back then.
After giving all those talks at conferences, I got also introduced to this amazing group called [dgplug](https://dgplug.org/), which is an acronym for the Durgapur Linux Users Group. It is a group started in-- I don't remember the exact year, but it was around 12 to 13 years back, by someone called Kushal Das, with the ideology of [training students into being better open source contributors](https://foss.training/).
I liked the idea and got involved with in teaching last year. It is not limited to students. Professionals can also join in. It's about making anyone better at upstream contributions, making things sustainable. I started training people on Vim, on how to use text editors. so they are more efficient and productive. In general life, text editors are a really good tool.
The other thing was the shell. How do you navigate around the Linux shell and command line? That has been a fun experience.
**CRAIG BOX: It's very interesting to think about that, because my own involvement with a Linux User Group was probably around the year 2000. And back then we were teaching people how to install things-- Linux on CD was kinda new at that point in time. There was a lot more of, what is this new thing and how do we get involved? When the internet took off around that time, all of that stuff moved online - you no longer needed to go meet a group of people in a room to talk about Linux. And I haven't really given much thought to the concept of a LUG since then, but it's great to see it having turned into something that's now about contributing, rather than just about how you get things going for yourself.**
NABARUN PAL: Exactly. So as I mentioned earlier, my journey into Linux was installing SUSE from DVDs that came bundled with magazines. Back then it was a pain installing things because you did not get any instructions. There has certainly been a paradigm shift now. People are more open to reading instructions online, downloading ISOs, and then just installing them. So we really don't need to do that as part of LUGs.
We have shifted more towards enabling people to contribute to whichever project that they use. For example, if you're using Fedora, contribute to Fedora; make things better. It's just about giving back to the community in any way possible.
**CRAIG BOX: You're also involved in the [Kubernetes Bangalore meetup group](https://www.meetup.com/Bangalore-Kubernetes-Meetup/). Does that group have a similar mentality?**
NABARUN PAL: The Kubernetes Bangalore meetup group is essentially focused towards spreading the knowledge of Kubernetes and the aligned products in the ecosystem, whatever there is in the Cloud Native Landscape, in various ways. For example, to evangelize about using them in your company or how people use them in existing ways.
So a few months back in February, we did something like a [Kubernetes contributor workshop](https://www.youtube.com/watch?v=FgsXbHBRYIc). It was one of its kind in India. It was the first one if I recall correctly. We got a lot of traction and community members interested in contributing to Kubernetes and a lot of other projects. And this is becoming a really valuable thing.
I'm not much involved in the organization of the group. There are really great people already organizing it. I keep on being around and attending the meetups and trying to answer any questions if people have any.
**CRAIG BOX: One way that it is possible to contribute to the Kubernetes ecosystem is through the release process. You've [written a blog](https://blog.naba.run/posts/release-enhancements-journey/) which talks about your journey through that. It started in Kubernetes 1.17, where you took a shadow role for that release. Tell me about what it was like to first take that plunge.**
NABARUN PAL: Taking the plunge was a big step, I would say. It should not have been that way. After getting into the team, I saw that it is really encouraged that you should just apply to the team - but then write truthfully about yourself. What do you want? Write your passionate goal, why you want to be in the team.
So even right now the shadow applications are open for the next release. I wanted to give that a small shoutout. If you want to contribute to the Kubernetes release team, please do apply. The form is pretty simple. You just need to say why do you want to contribute to the release team.
**CRAIG BOX: What was your answer to that question?**
NABARUN PAL: It was a bit tricky. I have this philosophy of contributing to projects that I use in my day-to-day life. I use a lot of open source projects daily, and I started contributing to Kubernetes primarily because I was using the Kubernetes Python client. That was one of my first contributions.
When I was contributing to that, I explored the release team and it interested me a lot, particularly how interesting and varied the mechanics of releasing Kubernetes are. For most software projects, it's usually whenever you decide that you have made meaningful progress in terms of features, you release it. But Kubernetes is not like that. We follow a regular release cadence. And all those aspects really interested me. I actually applied for the first time in Kubernetes 1.16, but got rejected.
But I still applied to Kubernetes 1.17, and I got into the enhancements team. That team was led by [MrBobbyTables, Bob Killen](https://kubernetespodcast.com/episode/126-research-steering-honking/), back then, and [Jeremy Rickard](https://kubernetespodcast.com/episode/131-kubernetes-1.20/) was one of my co-shadows in the team. I shadowed enhancements again. Then I lead enhancements in 1.19. I then shadowed the lead in 1.20 and eventually led the 1.21 team. That's what my journey has been.
My suggestion to people is don't be afraid of failure. Even if you don't get selected, it's perfectly fine. You can still contribute to the release team. Just hop on the release calls, raise your hand, and introduce yourself.
**CRAIG BOX: Between the 1.20 and 1.21 releases, you moved to work on the upstream contribution team at VMware. I've noticed that VMware is hiring a lot of great upstream contributors at the moment. Is this something that [Stephen Augustus](https://kubernetespodcast.com/episode/130-kubecon-na-2020/) had his fingerprints all over? Is there something in the water?**
NABARUN PAL: A lot of people have fingerprints on this process. Stephen certainly had his fingerprints on it, I would say. We are expanding the team of upstream contributors primarily because the product that we are working for is based on Kubernetes. It helps us a lot in driving processes upstream and helping out the community as a whole, because everyone then gets enabled and benefits from what we contribute to the community.
**CRAIG BOX: I understand that the Tanzu team is being built out in India at the moment, but I guess you probably haven't been able to meet them in person yet?**
NABARUN PAL: Yes and no. I did not meet any of them after joining VMware, but I met a lot of my teammates, before I joined VMware, at KubeCons. For example, I met Nikhita, I met Dims, I met Stephen at KubeCon. I am yet to meet other members of the team and I'm really excited to catch up with them once everything comes out of lockdown and we go back to our normal lives.
**CRAIG BOX: Yes, everyone that I speak to who has changed jobs in the pandemic says it's a very odd experience, just nothing really being different. And the same perhaps for people who are working on open source moving companies as well. They're doing the same thing, perhaps just for a different employer.**
NABARUN PAL: As we say in the community, see you in another Slack in some time.
**CRAIG BOX: We now turn to the recent release of Kubernetes 1.21. First of all, congratulations on that.**
NABARUN PAL: Thank you.
**CRAIG BOX: [The announcement](https://kubernetes.io/blog/2021/04/08/kubernetes-1-21-release-announcement/) says the release consists of 51 enhancements, 13 graduating to stable, 16 moving to beta, 20 entering alpha, and then two features that have been deprecated. How would you summarize this release?**
NABARUN PAL: One of the big points for this release is that it is the largest release of all time.
**CRAIG BOX: Really?**
NABARUN PAL: Yep. 1.20 was the largest release back then, but 1.21 got more enhancements, primarily due to a lot of changes that we did to the process.
In the 1.21 release cycle, we did a few things differently compared to other release cycles-- for example, in the enhancement process. An enhancement, in the Kubernetes context, is basically a feature proposal. You will hear the terminology [Kubernetes Enhancement Proposals](https://github.com/kubernetes/enhancements/blob/master/keps/README.md), or KEP, a lot in the community. An enhancement is a broad thing encapsulated in a specific document.
**CRAIG BOX: I like to think of it as a thing that's worth having a heading in the release notes.**
NABARUN PAL: Indeed. Until the 1.20 release cycle, what we used to do was-- the release team has a vertical called enhancements. The enhancements team members used to ping each of the enhancement issues and ask whether they want to be part of the release cycle or not. The authors would decide, or talk to their SIG, and then come back with the answer, as to whether they wanted to be part of the cycle.
In this release, what we did was we eliminated that process and asked the SIGs proactively to discuss amongst themselves, what they wanted to pitch in for this release cycle. What set of features did they want to graduate this release? They may introduce things in alpha, graduate things to beta or stable, or they may also deprecate features.
What this did was promote a lot of async processes, and at the same time, give power back to the community. The community decides what they want in the release and then comes back collectively. It also reduces a lot of stress on the release team who previously had to ask people consistently what they wanted to pitch in for the release. You now have a deadline. You discuss amongst your SIG what your roadmap is and what it looks like for the near future. Maybe this release, and the next two. And you put all of those answers into a Google spreadsheet. Spreadsheets are still a thing.
**CRAIG BOX: The Kubernetes ecosystem runs entirely on Google Spreadsheets.**
NABARUN PAL: It does, and a lot of Google Docs for meeting notes! We did a lot of process improvements, which essentially led to a better release. This release cycle we had 13 enhancements graduating to stable, 16 which moved to beta, and 20 enhancements which were net new features into the ecosystem, and came in as alpha.
Along with that are features set for deprecation. One of them was PodSecurityPolicy. That has been a point of discussion in the Kubernetes user base and we also published [a blog post about it](https://kubernetes.io/blog/2021/04/06/podsecuritypolicy-deprecation-past-present-and-future/). All credit to SIG Security who have been on top of things as to find a replacement for PodSecurityPolicy even before this release cycle ended, so that they could at least have a proposal of what will happen next.
**CRAIG BOX: Let's talk about some old things and some new things. You mentioned PodSecurityPolicy there. That's a thing that's been around a long time and is being deprecated. Two things that have been around a long time and that are now being promoted to stable are CronJobs and PodDisruptionBudgets, both of which were introduced in Kubernetes 1.4, which came out in 2016. Why do you think it took so long for them both to go stable?**
NABARUN PAL: I might not have a definitive answer to your question. One of the things that I feel is they might be already so good that nobody saw that they were beta features, and just kept on using them.
One of the things that I noticed when reading for the CronJobs graduation from beta to stable was the new controller. Users might not see this, but there has been a drastic change in the CronJob controller v2. What it essentially does is goes from a poll-based method of checking what users have defined as CronJobs to a queue architecture, which is the modern method of defining controllers. That has been one of the really good improvements in the case of CronJobs. Instead of the controller working in O(N) time, you now have constant time complexity.
**CRAIG BOX: A lot of these features that have been in beta for a long time, like you say, people have an expectation that they are complete. With PodSecurityPolicy, it's being deprecated, which is allowed because it's a feature that never made it out of beta. But how do you think people will react to it going away? And does that say something about the need for the process to make sure that features don't just languish in beta forever, which has been introduced recently?**
NABARUN PAL: That's true. One of the driving factors, when contributors are thinking of graduating beta features has been the ["prevention of perma-beta" KEP](https://github.com/kubernetes/enhancements/blob/master/keps/sig-architecture/1635-prevent-permabeta/README.md). Back in 1.19 we [introduced this process](https://kubernetes.io/blog/2020/08/21/moving-forward-from-beta/) where each of the beta resources were marked for deprecation and removal in a certain time frame-- three releases for deprecation and another release for removal. That's also a motivating factor for eventually rethinking as to how beta resources work for us in the community. That is also very effective, I would say.
**CRAIG BOX: Do remember that Gmail was in beta for eight years.**
NABARUN PAL: I did not know that!
**CRAIG BOX: Nothing in Kubernetes is quite that old yet, but we'll get there. Of the 20 new enhancements, do you have a favorite or any that you'd like to call out?**
NABARUN PAL: There are two specific features in 1.21 that I'm really interested in, and are coming as net new features. One of them is the [persistent volume health monitor](https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/1432-volume-health-monitor), which gives the users the capability to actually see whether the backing volumes, which power persistent volumes in Kubernetes, are deleted or not. For example, the volumes may get deleted due to an inadvertent event, or they may get corrupted. That information is basically surfaced out as a field so that the user can leverage it in any way.
The other feature is the proposal for [adding headers with the command name to kubectl requests](https://github.com/kubernetes/enhancements/tree/master/keps/sig-cli/859-kubectl-headers). We have always set the user-agent information when doing those kind of requests, but the proposal is to add what command the user put in so that we can enable more telemetry, and cluster administrators can determine the usage patterns of how people are using the cluster. I'm really excited about these kind of features coming into play.
**CRAIG BOX: You're the first release lead from the Asia-Pacific region, or more accurately, outside of the US and Europe. Most meetings in the Kubernetes ecosystem are traditionally in the window of overlap between the US and Europe, in the morning in California and the evening here in the UK. What's it been like to work outside of the time zones that the community had previously been operating in?**
NABARUN PAL: It has been a fun and a challenging proposition, I would say. In the last two-ish years that I have been contributing to Kubernetes, the community has also transformed from a lot of early morning Pacific calls to more towards async processes. For example, we in the release team have transformed our processes so we don't do updates in the calls anymore. What we do is ask for updates ahead of time, and then in the call, we just discuss things which need to be discussed synchronously in the team.
We leverage the meetings right now more for discussions. But we also don't come to decisions in those discussions, because if any stakeholder is not present on the call, it puts them at a disadvantage. We are trying to talk more on Slack, publicly, or talk on mailing lists. That's where most of the discussion should happen, and also to gain lazy consensus. What I mean by lazy consensus is come up with a pre-decision kind of thing, but then also invite feedback from the broader community about what people would like them to see about that specific thing being discussed. This is where we as a community are also transforming a lot, but there is a lot more headroom to grow.
The release team also started to have EU/APAC burndown meetings. In addition to having one meeting focused towards the US and European time zones, we also do a meeting which is more suited towards European and Asia-Pacific time zones. One of the driving factors for those decisions was that the release team is seeing a lot of participation from a variety of time zones. To give you one metric, we had release team members this cycle from UTC+8 all through UTC-8 - 16 hours of span. It's really difficult to accommodate all of those zones in a single meeting. And it's not just those 16 hours of span - what about the other eight hours?
**CRAIG BOX: Yeah, you're missing New Zealand. You could add another 5 hours of span right there.**
NABARUN PAL: Exactly. So we will always miss people in meetings, and that's why we should also innovate more, have different kinds of meetings. But that also may not be very sustainable in the future. Will people attend duplicate meetings? Will people follow both of the meetings? More meetings is one of the solutions.
The other solution is you have threaded discussions on some medium, be it Slack or be it a mailing list. Then, people can just pitch in whenever it is work time for them. Then, at the end of the day, a 24-hour rolling period, you digest it, and then push it out as meeting notes. That's what the Contributor Experience Special Interest Group is doing - shout-out to them for moving to that process. I may be wrong here, but I think once every two weeks, they do async updates on Slack. And that is a really nice thing to have, improving variety of geographies that people can contribute from.
**CRAIG BOX: Once you've put everything together that you hope to be in your release, you create a release candidate build. How do you motivate people to test those?**
NABARUN PAL: That's a very interesting question. It is difficult for us to motivate people into trying out these candidates. It's mostly people who are passionate about Kubernetes who try out the release candidates and see for themselves what the bugs are. I remember [Dims tweeting out a call](https://twitter.com/dims/status/1377272238420934656) that if somebody tries out the release candidate and finds a good bug or caveat, they could get a callout in the KubeCon keynote. That's one of the incentives - if you want to be called out in a KubeCon keynote, please try our release candidates.
**CRAIG BOX: Or get a new pair of Kubernetes socks?**
NABARUN PAL: We would love to give out goodies to people who try out our release candidates and find bugs. For example, if you want the brand new release team logo as a sticker, just hit me up. If you find a bug in a 1.22 release candidate, I would love to be able to send you some coupon codes for the store. Don't quote me on this, but do reach out.
**CRAIG BOX: Now the release is out, is it time for you to put your feet up? What more things do you have to do, and how do you feel about the path ahead for yourself?**
NABARUN PAL: I was discussing this with the team yesterday. Even after the release, we had kind of a water-cooler conversation. I just pasted in a Zoom link to all the release team members and said, hey, do you want to chat? One of the things that I realized that I'm really missing is the daily burndowns right now. I will be around in the release team and the SIG Release meetings, helping out the new lead in transitioning. And even my job, right now, is not over. I'm working with Taylor, who is the emeritus advisor for 1.21, on figuring out some of the mechanics for the next release cycle. I'm also documenting what all we did as part of the process and as part of the process changes, and making sure the next release cycle is up and running.
**CRAIG BOX: We've done a lot of these release lead interviews now, and there's a question which we always like to ask, which is, what will you write down in the transition envelope? Savitha Raghunathan is the release lead for 1.22. What is the advice that you will pass on to her?**
NABARUN PAL: Three words-- **Do, Delegate, and Defer**. Categorize things into those three buckets as to what you should do right away, what you need to defer, and things that you can delegate to your shadows or other release team members. That's one of the mantras that works really well when leading a team. It is not just in the context of the release team, but it's in the context of managing any team.
The other bit is **over-communicate**. No amount of communication is enough. What I've realized is the community is always willing to help you. One of the big examples that I can give is the day before release was supposed to happen, we were seeing a lot of test failures, and then one of the community members had an idea-- why don't you just send an email? I was like, "that sounds good. We can send an email mentioning all the flakes and call out for help to the broader Kubernetes developer community." And eventually, once we sent out the email, lots of people came in to help us in de-flaking the tests and trying to find out the root cause as to why those tests were failing so often. Big shout out to Antonio and all the SIG Network folks who came to pitch in.
No matter how many names I mention, it will never be enough. A lot of people, even outside the release team, have helped us a lot with this release. And that's where the release theme comes in - **Power to the Community**. I'm really stoked by how this community behaves and how people are willing to help you all the time. It's not about what they're telling you to do, but it's what they're also interested in, they're passionate about.
**CRAIG BOX: One of the things you're passionate about is Formula One. Do you think Lewis Hamilton is going to take it away this year?**
NABARUN PAL: It's a fair probability that Lewis will win the title this year as well.
**CRAIG BOX: Which would take him to eight all time career wins. And thus-- [he's currently tied with Michael Schumacher](https://www.nytimes.com/2020/11/15/sports/autoracing/lewis-hamilton-schumacher-formula-one-record.html)-- would pull him ahead.**
NABARUN PAL: Yes. Michael Schumacher was my first favorite F1 driver, I would say. It feels a bit heartbreaking to see someone break Michael's record.
**CRAIG BOX: How do you feel about [Michael Schumacher's son joining the contest?](https://www.formula1.com/en/latest/article.breaking-mick-schumacher-to-race-for-haas-in-2021-as-famous-surname-returns.66XTVfSt80GrZe91lvWVwJ.html)**
NABARUN PAL: I feel good. Mick Schumacher is in the fray right now. And I wish we could see him, in a few years, in a Ferrari. The Schumacher family back to Ferrari would be really great to see. But then, my fan favorite has always been McLaren, partly because I like the chemistry of Lando and Carlos over the last two years. It was heartbreaking to see Carlos go to Ferrari. But then we have Lando and Daniel Ricciardo in the team. They're also fun people.
---
_[Nabarun Pal](https://twitter.com/theonlynabarun) is on the Tanzu team at VMware and served as the Kubernetes 1.21 release team lead._
_You can find the [Kubernetes Podcast from Google](http://www.kubernetespodcast.com/) at [@KubernetesPod](https://twitter.com/KubernetesPod) on Twitter, and you can [subscribe](https://kubernetespodcast.com/subscribe/) so you never miss an episode._
@@ -0,0 +1,157 @@
---
layout: blog
title: 'Kubernetes 1.22: Reaching New Peaks'
date: 2021-08-04
slug: kubernetes-1-22-release-announcement
---
**Authors:** [Kubernetes 1.22 Release Team](https://github.com/kubernetes/sig-release/blob/master/releases/release-1.22/release-team.md)
Were pleased to announce the release of Kubernetes 1.22, the second release of 2021!
This release consists of 53 enhancements: 13 enhancements have graduated to stable, 24 enhancements are moving to beta, and 16 enhancements are entering alpha. Also, three features have been deprecated.
In April of this year, the Kubernetes release cadence was officially changed from four to three releases yearly. This is the first longer-cycle release related to that change. As the Kubernetes project matures, the number of enhancements per cycle grows. This means more work, from version to version, for the contributor community and Release Engineering team, and it can put pressure on the end-user community to stay up-to-date with releases containing increasingly more features.
Changing the release cadence from four to three releases yearly balances many aspects of the project, both in how contributions and releases are managed, and also in the community's ability to plan for upgrades and stay up to date.
You can read more in the official blog post [Kubernetes Release Cadence Change: Heres What You Need To Know](https://kubernetes.io/blog/2021/07/20/new-kubernetes-release-cadence/).
## Major Themes
### Server-side Apply graduates to GA
[Server-side Apply](https://kubernetes.io/docs/reference/using-api/server-side-apply/) is a new field ownership and object merge algorithm running on the Kubernetes API server. Server-side Apply helps users and controllers manage their resources via declarative configurations. It allows them to create and/or modify their objects declaratively, simply by sending their fully specified intent. After being in beta for a couple releases, Server-side Apply is now generally available.
### External credential providers now stable
Support for Kubernetes client [credential plugins](https://kubernetes.io/docs/reference/access-authn-authz/authentication/#client-go-credential-plugins) has been in beta since 1.11, and with the release of Kubernetes 1.22 now graduates to stable. The GA feature set includes improved support for plugins that provide interactive login flows, as well as a number of bug fixes. Aspiring plugin authors can look at [sample-exec-plugin](https://github.com/ankeesler/sample-exec-plugin) to get started.
### etcd moves to 3.5.0
Kubernetes' default backend storage, etcd, has a new release: 3.5.0. The new release comes with improvements to the security, performance, monitoring, and developer experience. There are numerous bug fixes and some critical new features like the migration to structured logging and built-in log rotation. The release comes with a detailed future roadmap to implement a solution to traffic overload. You can read a full and detailed list of changes in the [3.5.0 release announcement](https://etcd.io/blog/2021/announcing-etcd-3.5/).
### Quality of Service for memory resources
Originally, Kubernetes used the v1 cgroups API. With that design, the QoS class for a `Pod` only applied to CPU resources (such as `cpu_shares`). As an alpha feature, Kubernetes v1.22 can now use the cgroups v2 API to control memory allocation and isolation. This feature is designed to improve workload and node availability when there is contention for memory resources, and to improve the predictability of container lifecycle.
### Node system swap support
Every system administrator or Kubernetes user has been in the same boat regarding setting up and using Kubernetes: disable swap space. With the release of Kubernetes 1.22, alpha support is available to run nodes with swap memory. This change lets administrators opt in to configuring swap on Linux nodes, treating a portion of block storage as additional virtual memory.
### Windows enhancements and capabilities
Continuing to support the growing developer community, SIG Windows has released their [Development Environment](https://github.com/kubernetes-sigs/sig-windows-dev-tools/). These new tools support multiple CNI providers and can run on multiple platforms. There is also a new way to run bleeding-edge Windows features from scratch by compiling the Windows kubelet and kube-proxy, then using them along with daily builds of other Kubernetes components.
CSI support for Windows nodes moves to GA in the 1.22 release. In Kubernetes v1.22, Windows privileged containers are an alpha feature. To allow using CSI storage on Windows nodes, [CSIProxy](https://github.com/kubernetes-csi/csi-proxy) enables CSI node plugins to be deployed as unprivileged pods, using the proxy to perform privileged storage operations on the node.
### Default profiles for seccomp
An alpha feature for default seccomp profiles has been added to the kubelet, along with a new command line flag and configuration. When in use, this new feature provides cluster-wide seccomp defaults, using the `RuntimeDefault` seccomp profile rather than `Unconfined` by default. This enhances the default security of the Kubernetes Deployment. Security administrators will now sleep better knowing that workloads are more secure by default. To learn more about the feature, please refer to the official [seccomp tutorial](https://kubernetes.io/docs/tutorials/clusters/seccomp/#enable-the-use-of-runtimedefault-as-the-default-seccomp-profile-for-all-workloads).
### More secure control plane with kubeadm
A new alpha feature allows running the `kubeadm` control plane components as non-root users. This is a long requested security measure in `kubeadm`. To try it you must enable the `kubeadm` specific RootlessControlPlane feature gate. When you deploy a cluster using this alpha feature, your control plane runs with lower privileges.
For `kubeadm`, Kubernetes 1.22 also brings a new [v1beta3 configuration API](/docs/reference/config-api/kubeadm-config.v1beta3/). This iteration adds some long requested features and deprecates some existing ones. The v1beta3 version is now the preferred API version; the v1beta2 API also remains available and is not yet deprecated.
## Major Changes
### Removal of several deprecated beta APIs
A number of deprecated beta APIs have been removed in 1.22 in favor of the GA version of those same APIs. All existing objects can be interacted with via stable APIs. This removal includes beta versions of the `Ingress`, `IngressClass`, `Lease`, `APIService`, `ValidatingWebhookConfiguration`, `MutatingWebhookConfiguration`, `CustomResourceDefinition`, `TokenReview`, `SubjectAccessReview`, and `CertificateSigningRequest` APIs.
For the full list, check out the [Deprecated API Migration Guide](https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-22) as well as the blog post [Kubernetes API and Feature Removals In 1.22: Heres What You Need To Know](https://blog.k8s.io/2021/07/14/upcoming-changes-in-kubernetes-1-22/).
### API changes and improvements for ephemeral containers
The API used to create [Ephemeral Containers](https://kubernetes.io/docs/concepts/workloads/pods/ephemeral-containers/) changes in 1.22. The Ephemeral Containers feature is alpha and disabled by default, and the new API does not work with clients that attempt to use the old API.
For stable features, the kubectl tool follows the Kubernetes [version skew policy](https://kubernetes.io/releases/version-skew-policy/); however, kubectl v1.21 and older do not support the new API for ephemeral containers. If you plan to use `kubectl debug` to create ephemeral containers, and your cluster is running Kubernetes v1.22, you cannot do so with kubectl v1.21 or earlier. Please update kubectl to 1.22 if you wish to use `kubectl debug` with a mix of cluster versions.
## Other Updates
### Graduated to Stable
* [Bound Service Account Token Volumes](https://github.com/kubernetes/enhancements/issues/542)
* [CSI Service Account Token](https://github.com/kubernetes/enhancements/issues/2047)
* [Windows Support for CSI Plugins](https://github.com/kubernetes/enhancements/issues/1122)
* [Warning mechanism for deprecated API use](https://github.com/kubernetes/enhancements/issues/1693)
* [PodDisruptionBudget Eviction](https://github.com/kubernetes/enhancements/issues/85)
### Notable Feature Updates
* A new [PodSecurity admission](https://github.com/kubernetes/enhancements/issues/2579) alpha feature is introduced, intended as a replacement for PodSecurityPolicy
* [The Memory Manager](https://github.com/kubernetes/enhancements/issues/1769) moves to beta
* A new alpha feature to enable [API Server Tracing](https://github.com/kubernetes/enhancements/issues/647)
* A new v1beta3 version of the [kubeadm configuration](https://github.com/kubernetes/enhancements/issues/970) format
* [Generic data populators](https://github.com/kubernetes/enhancements/issues/1495) for PersistentVolumes are now available in alpha
* The Kubernetes control plane will now always use the [CronJobs v2 controller](https://github.com/kubernetes/enhancements/issues/19)
* As an alpha feature, all Kubernetes node components (including the kubelet, kube-proxy, and container runtime) can be [run as a non-root user](https://github.com/kubernetes/enhancements/issues/2033)
# Release notes
You can check out the full details of the 1.22 release in the [release notes](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.22.md).
# Availability of release
Kubernetes 1.22 is [available for download](https://kubernetes.io/releases/download/) and also [on the GitHub project](https://github.com/kubernetes/kubernetes/releases/tag/v1.22.0).
There are some great resources out there for getting started with Kubernetes. You can check out some [interactive tutorials](https://kubernetes.io/docs/tutorials/) on the main Kubernetes site, or run a local cluster on your machine using Docker containers with [kind](https://kind.sigs.k8s.io). If youd like to try building a cluster from scratch, check out the [Kubernetes the Hard Way](https://github.com/kelseyhightower/kubernetes-the-hard-way) tutorial by Kelsey Hightower.
# Release Team
This release was made possible by a very dedicated group of individuals, who came together as a team to deliver technical content, documentation, code, and a host of other components that go into every Kubernetes release.
A huge thank you to the release lead Savitha Raghunathan for leading us through a successful release cycle, and to everyone else on the release team for supporting each other, and working so hard to deliver the 1.22 release for the community.
We would also like to take this opportunity to remember Peeyush Gupta, a member of our team that we lost earlier this year. Peeyush was actively involved in SIG ContribEx and the Kubernetes Release Team, most recently serving as the 1.22 Communications lead. His contributions and efforts will continue to reflect in the community he helped build. A [CNCF memorial](https://github.com/cncf/memorials/blob/main/peeyush-gupta.md) page has been created where thoughts and memories can be shared by the community.
# Release Logo
![Kubernetes 1.22 Release Logo](/images/blog/2021-08-04-kubernetes-release-1.22/kubernetes-1.22.png)
Amidst the ongoing pandemic, natural disasters, and ever-present shadow of burnout, the 1.22 release of Kubernetes includes 53 enhancements. This makes it the largest release to date. This accomplishment was only made possible due to the hard-working and passionate Release Team members and the amazing contributors of the Kubernetes ecosystem. The release logo is our reminder to keep reaching for new milestones and setting new records. And it is dedicated to all the Release Team members, hikers, and stargazers!
The logo is designed by [Boris Zotkin](https://www.instagram.com/boris.z.man/). Boris is a Mac/Linux Administrator at the MathWorks. He enjoys simple things in life and loves spending time with his family. This tech-savvy individual is always up for a challenge and happy to help a friend!
# User Highlights
- In May, the CNCF welcomed 27 new organizations across the globe as members of the diverse cloud native ecosystem. These new [members](https://www.cncf.io/announcements/2021/05/05/27-new-members-join-the-cloud-native-computing-foundation/) will participate in CNCF events, including the upcoming [KubeCon + CloudNativeCon NA in Los Angeles](https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/) from October 12 15, 2021.
- The CNCF granted Spotify the [Top End User Award](https://www.cncf.io/announcements/2021/05/05/cloud-native-computing-foundation-grants-spotify-the-top-end-user-award/) during [KubeCon + CloudNativeCon EU Virtual 2021](https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/).
# Project Velocity
The [CNCF K8s DevStats project](https://k8s.devstats.cncf.io/) aggregates a number of interesting data points related to the velocity of Kubernetes and various sub-projects. This includes everything from individual contributions to the number of companies that are contributing, and is an illustration of the depth and breadth of effort that goes into evolving this ecosystem.
In the v1.22 release cycle, which ran for 15 weeks (April 26 to August 4), we saw contributions from [1063 companies](https://k8s.devstats.cncf.io/d/9/companies-table?orgId=1&var-period_name=v1.21.0%20-%20now&var-metric=contributions) and [2054 individuals](https://k8s.devstats.cncf.io/d/66/developer-activity-counts-by-companies?orgId=1&var-period_name=v1.21.0%20-%20now&var-metric=contributions&var-repogroup_name=Kubernetes&var-country_name=All&var-companies=All).
# Ecosystem Updates
- [KubeCon + CloudNativeCon Europe 2021](https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/) was held in May, the third such event to be virtual. All talks are [now available on-demand](https://www.youtube.com/playlist?list=PLj6h78yzYM2MqBm19mRz9SYLsw4kfQBrC) for anyone that would like to catch up!
- [Spring Term LFX Program](https://www.cncf.io/blog/2021/07/13/spring-term-lfx-program-largest-graduating-class-with-28-successful-cncf-interns) had the largest graduating class with 28 successful CNCF interns!
- CNCF launched [livestreaming on Twitch](https://www.cncf.io/blog/2021/06/03/cloud-native-community-goes-live-with-10-shows-on-twitch/) at the beginning of the year targeting definitive interactive media experience for anyone wanting to learn, grow, and collaborate with others in the Cloud Native community from anywhere in the world.
# Event Updates
- [KubeCon + CloudNativeCon North America 2021](https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/) will take place in Los Angeles, October 12 15, 2021! You can find more information about the conference and registration on the event site.
- [Kubernetes Community Days](https://community.cncf.io/kubernetes-community-days/about-kcd/) has upcoming events scheduled in Italy, the UK, and in Washington DC.
# Upcoming release webinar
Join members of the Kubernetes 1.22 release team on October 5, 2021 to learn about the major features of this release, as well as deprecations and removals to help plan for upgrades. For more information and registration, visit the [event page](https://community.cncf.io/events/details/cncf-cncf-online-programs-presents-cncf-live-webinar-kubernetes-122-release/) on the CNCF Online Programs site.
# Get Involved
If youre interested in contributing to the Kubernetes community, Special Interest Groups (SIGs) are a great starting point. Many of them may align with your interests! If there are things youd like to share with the community, you can join the weekly community meeting, or use any of the following channels:
* Find out more about contributing to Kubernetes at the [Kubernetes Contributors](https://www.kubernetes.dev/) website.
* Follow us on Twitter [@Kubernetesio](https://twitter.com/kubernetesio) for latest updates
* Join the community discussion on [Discuss](https://discuss.kubernetes.io/)
* Join the community on [Slack](http://slack.k8s.io/)
* Share your Kubernetes [story](https://docs.google.com/a/linuxfoundation.org/forms/d/e/1FAIpQLScuI7Ye3VQHQTwBASrgkjQDSS5TP0g3AXfFhwSM9YpHgxRKFA/viewform)
* Read more about whats happening with Kubernetes on the [blog](https://kubernetes.io/blog/)
* Learn more about the [Kubernetes Release Team](https://github.com/kubernetes/sig-release/tree/master/release-team)
@@ -0,0 +1,177 @@
---
layout: blog
title: "Kubernetes 1.22: Server Side Apply moves to GA"
date: 2021-08-06
slug: server-side-apply-ga
---
**Authors:** Jeffrey Ying, Google & Joe Betz, Google
Server-side Apply (SSA) has been promoted to GA in the Kubernetes v1.22 release. The GA milestone means you can depend on the feature and its API, without fear of future backwards-incompatible changes. GA features are protected by the Kubernetes [deprecation policy](/docs/reference/using-api/deprecation-policy/).
## What is Server-side Apply?
Server-side Apply helps users and controllers manage their resources through declarative configurations. Server-side Apply replaces the client side apply feature implemented by “kubectl apply” with a server-side implementation, permitting use by tools/clients other than kubectl. Server-side Apply is a new merging algorithm, as well as tracking of field ownership, running on the Kubernetes api-server. Server-side Apply enables new features like conflict detection, so the system knows when two actors are trying to edit the same field. Refer to the [Server-side Apply Documentation](/docs/reference/using-api/server-side-apply/) and [Beta 2 release announcement](https://kubernetes.io/blog/2020/04/01/kubernetes-1.18-feature-server-side-apply-beta-2/) for more information.
## Whats new since Beta?
Since the [Beta 2 release](https://kubernetes.io/blog/2020/04/01/kubernetes-1.18-feature-server-side-apply-beta-2/) subresources support has been added, and both client-go and Kubebuilder have added comprehensive support for Server-side Apply. This completes the Server-side Apply functionality required to make controller development practical.
### Support for subresources
Server-side Apply now fully supports subresources like `status` and `scale`. This is particularly important for [controllers](/docs/concepts/architecture/controller/), which are often responsible for writing to subresources.
## Server-side Apply support in client-go
Previously, Server-side Apply could only be called from the client-go typed client using the `Patch` function, with `PatchType` set to `ApplyPatchType`. Now, `Apply` functions are included in the client to allow for a more direct and typesafe way of calling Server-side Apply. Each `Apply` function takes an "apply configuration" type as an argument, which is a structured representation of an Apply request. For example:
```go
import (
...
v1ac "k8s.io/client-go/applyconfigurations/autoscaling/v1"
)
hpaApplyConfig := v1ac.HorizontalPodAutoscaler(autoscalerName, ns).
WithSpec(v1ac.HorizontalPodAutoscalerSpec().
WithMinReplicas(0)
)
return hpav1client.Apply(ctx, hpaApplyConfig, metav1.ApplyOptions{FieldManager: "mycontroller", Force: true})
```
Note in this example that `HorizontalPodAutoscaler` is imported from an "applyconfigurations" package. Each "apply configuration" type represents the same Kubernetes object kind as the corresponding go struct, but where all fields are pointers to make them optional, allowing apply requests to be accurately represented. For example, when the apply configuration in the above example is marshalled to YAML, it produces:
```yaml
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: myHPA
namespace: myNamespace
spec:
minReplicas: 0
```
To understand why this is needed, the above YAML cannot be produced by the v1.HorizontalPodAutoscaler go struct. Take for example:
```go
hpa := v1.HorizontalPodAutoscaler{
TypeMeta: metav1.TypeMeta{
APIVersion: "autoscaling/v1",
Kind: "HorizontalPodAutoscaler",
},
ObjectMeta: ObjectMeta{
Namespace: ns,
Name: autoscalerName,
},
Spec: v1.HorizontalPodAutoscalerSpec{
MinReplicas: pointer.Int32Ptr(0),
},
}
```
The above code attempts to declare the same apply configuration as shown in the previous examples, but when marshalled to YAML, produces:
```yaml
kind: HorizontalPodAutoscaler
apiVersion: autoscaling/v1
metadata
name: myHPA
namespace: myNamespace
creationTimestamp: null
spec:
scaleTargetRef:
kind: ""
name: ""
minReplicas: 0
maxReplicas: 0
```
Which, among other things, contains `spec.maxReplicas` set to `0`. This is almost certainly not what the caller intended (the intended apply configuration says nothing about the `maxReplicas` field), and could have serious consequences on a production system: it directs the autoscaler to downscale to zero pods. The problem here originates from the fact that the go structs contain required fields that are zero valued if not set explicitly. The go structs work as intended for create and update operations, but are fundamentally incompatible with apply, which is why we have introduced the generated "apply configuration" types.
The "apply configurations" also have convenience `With<FieldName>` functions that make it easier to build apply requests. This allows developers to set fields without having to deal with the fact that all the fields in the "apply configuration" types are pointers, and are inconvenient to set using go. For example `MinReplicas: &0` is not legal go code, so without the `With` functions, developers would work around this problem by using a library, e.g. `MinReplicas: pointer.Int32Ptr(0)`, but string enumerations like `corev1.Protocol` are still a problem since they cannot be supported by a general purpose library. In addition to the convenience, the `With` functions also isolate developers from the underlying representation, which makes it safer for the underlying representation to be changed to support additional features in the future.
## Using Server-side Apply in a controller
You can use the new support for Server-side Apply no matter how you implemented your controller. However, the new client-go support makes it easier to use Server-side Apply in controllers.
When authoring new controllers to use Server-side Apply, a good approach is to have the controller recreate the apply configuration for an object each time it reconciles that object. This ensures that the controller fully reconciles all the fields that it is responsible for. Controllers typically should unconditionally set all the fields they own by setting `Force: true` in the `ApplyOptions`. Controllers must also provide a `FieldManager` name that is unique to the reconciliation loop that apply is called from.
When upgrading existing controllers to use Server-side Apply the same approach often works well--migrate the controllers to recreate the apply configuration each time it reconciles any object. Unfortunately, the controller might have multiple code paths that update different parts of an object depending on various conditions. Migrating a controller like this to Server-side Apply can be risky because if the controller forgets to include any fields in an apply configuration that is included in a previous apply request, a field can be accidently deleted. To ease this type of migration, client-go apply support provides a way to replace any controller reconciliation code that performs a "read/modify-in-place/update" (or patch) workflow with a "extract/modify-in-place/apply" workflow. Here's an example of the new workflow:
```go
fieldMgr := "my-field-manager"
deploymentClient := clientset.AppsV1().Deployments("default")
// read, could also be read from a shared informer
deployment, err := deploymentClient.Get(ctx, "example-deployment", metav1.GetOptions{})
if err != nil {
// handle error
}
// extract
deploymentApplyConfig, err := appsv1ac.ExtractDeployment(deployment, fieldMgr)
if err != nil {
// handle error
}
// modify-in-place
deploymentApplyConfig.Spec.Template.Spec.WithContainers(corev1ac.Container().
WithName("modify-slice").
WithImage("nginx:1.14.2"),
)
// apply
applied, err := deploymentClient.Apply(ctx, extractedDeployment, metav1.ApplyOptions{FieldManager: fieldMgr})
```
For developers using Custom Resource Definitions (CRDs), the Kubebuilder apply support will provide the same capabilities. Documentation will be included in the Kubebuilder book when available.
## Server-side Apply and CustomResourceDefinitions
It is strongly recommended that all [Custom Resource Definitions](/docs/concepts/extend-kubernetes/api-extension/custom-resources/) (CRDs) have a schema. CRDs without a schema are treated as unstructured data by Server-side Apply. Keys are treated as fields in a struct and lists are assumed to be atomic.
CRDs that specify a schema are able to specify additional annotations in the schema. Please refer to the documentation on the full list of available annotations.
New annotations since beta:
**Defaulting:** Values for fields that appliers do not express explicit interest in should be defaulted. This prevents an applier from unintentionally owning a defaulted field that might cause conflicts with other appliers. If unspecified, the default value is nil or the nil equivalent for the corresponding type.
- Usage: see the [CRD Defaulting](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#defaulting) documentation for more details.
- Golang: `+default=<value>`
- OpenAPI extension: `default: <value>`
Atomic for maps and structs:
**Maps:** By default maps are granular. A different manager is able to manage each map entry. They can also be configured to be atomic such that a single manager owns the entire map.
- Usage: Refer to [Merge Strategy](/docs/reference/using-api/server-side-apply/#merge-strategy) for a more detailed overview
- Golang: `+mapType=granular/atomic`
- OpenAPI extension: `x-kubernetes-map-type: granular/atomic`
**Structs:** By default structs are granular and a separate applier may own each field. For certain kinds of structs, atomicity may be desired. This is most commonly seen in small coordinate-like structs such as Field/Object/Namespace Selectors, Object References, RGB values, Endpoints (Protocol/Port pairs), etc.
- Usage: Refer to [Merge Strategy](/docs/reference/using-api/server-side-apply/#merge-strategy) for a more detailed overview
- Golang: `+structType=granular/atomic`
- OpenAPI extension: `x-kubernetes-map-type:atomic/granular`
## What's Next?
After Server Side Apply, the next focus for the API Expression working-group is around improving the expressiveness and size of the published Kubernetes API schema. To see the full list of items we are working on, please join our working group and refer to the work items document.
## How to get involved?
The working-group for apply is [wg-api-expression](https://github.com/kubernetes/community/tree/master/wg-api-expression). It is available on slack [#wg-api-expression](https://kubernetes.slack.com/archives/C0123CNN8F3), through the [mailing list](https://groups.google.com/g/kubernetes-wg-api-expression) and we also meet every other Tuesday at 9.30 PT on Zoom.
We would also like to use the opportunity to thank the hard work of all the contributors involved in making this promotion to GA possible:
- Andrea Nodari
- Antoine Pelisse
- Daniel Smith
- Jeffrey Ying
- Jenny Buckley
- Joe Betz
- Julian Modesto
- Kevin Delgado
- Kevin Wiesmüller
- Maria Ntalla
@@ -0,0 +1,142 @@
---
layout: blog
title: 'New in Kubernetes v1.22: alpha support for using swap memory'
date: 2021-08-09
slug: run-nodes-with-swap-alpha
---
**Author:** Elana Hashman (Red Hat)
The 1.22 release introduced alpha support for configuring swap memory usage for
Kubernetes workloads on a per-node basis.
In prior releases, Kubernetes did not support the use of swap memory on Linux,
as it is difficult to provide guarantees and account for pod memory utilization
when swap is involved. As part of Kubernetes' earlier design, swap support was
considered out of scope, and a kubelet would by default fail to start if swap
was detected on a node.
However, there are a number of [use cases](https://github.com/kubernetes/enhancements/blob/9d127347773ad19894ca488ee04f1cd3af5774fc/keps/sig-node/2400-node-swap/README.md#user-stories)
that would benefit from Kubernetes nodes supporting swap, including improved
node stability, better support for applications with high memory overhead but
smaller working sets, the use of memory-constrained devices, and memory
flexibility.
Hence, over the past two releases, [SIG Node](https://github.com/kubernetes/community/tree/master/sig-node#readme) has
been working to gather appropriate use cases and feedback, and propose a design
for adding swap support to nodes in a controlled, predictable manner so that
Kubernetes users can perform testing and provide data to continue building
cluster capabilities on top of swap. The alpha graduation of swap memory
support for nodes is our first milestone towards this goal!
## How does it work?
There are a number of possible ways that one could envision swap use on a node.
To keep the scope manageable for this initial implementation, when swap is
already provisioned and available on a node, [we have proposed](https://github.com/kubernetes/enhancements/blob/9d127347773ad19894ca488ee04f1cd3af5774fc/keps/sig-node/2400-node-swap/README.md#proposal)
the kubelet should be able to be configured such that:
- It can start with swap on.
- It will direct the Container Runtime Interface to allocate zero swap memory
to Kubernetes workloads by default.
- You can configure the kubelet to specify swap utilization for the entire
node.
Swap configuration on a node is exposed to a cluster admin via the
[`memorySwap` in the KubeletConfiguration](/docs/reference/config-api/kubelet-config.v1beta1/).
As a cluster administrator, you can specify the node's behaviour in the
presence of swap memory by setting `memorySwap.swapBehavior`.
This is possible through the addition of a `memory_swap_limit_in_bytes` field
to the container runtime interface (CRI). The kubelet's config will control how
much swap memory the kubelet instructs the container runtime to allocate to
each container via the CRI. The container runtime will then write the swap
settings to the container level cgroup.
## How do I use it?
On a node where swap memory is already provisioned, Kubernetes use of swap on a
node can be enabled by enabling the `NodeSwap` feature gate on the kubelet, and
disabling the `failSwapOn` [configuration setting](/docs/reference/config-api/kubelet-config.v1beta1/#kubelet-config-k8s-io-v1beta1-KubeletConfiguration)
or the `--fail-swap-on` command line flag.
You can also optionally configure `memorySwap.swapBehavior` in order to
specify how a node will use swap memory. For example,
```yaml
memorySwap:
swapBehavior: LimitedSwap
```
The available configuration options for `swapBehavior` are:
- `LimitedSwap` (default): Kubernetes workloads are limited in how much swap
they can use. Workloads on the node not managed by Kubernetes can still swap.
- `UnlimitedSwap`: Kubernetes workloads can use as much swap memory as they
request, up to the system limit.
If configuration for `memorySwap` is not specified and the feature gate is
enabled, by default the kubelet will apply the same behaviour as the
`LimitedSwap` setting.
The behaviour of the `LimitedSwap` setting depends if the node is running with
v1 or v2 of control groups (also known as "cgroups"):
- **cgroups v1:** Kubernetes workloads can use any combination of memory and
swap, up to the pod's memory limit, if set.
- **cgroups v2:** Kubernetes workloads cannot use swap memory.
### Caveats
Having swap available on a system reduces predictability. Swap's performance is
worse than regular memory, sometimes by many orders of magnitude, which can
cause unexpected performance regressions. Furthermore, swap changes a system's
behaviour under memory pressure, and applications cannot directly control what
portions of their memory usage are swapped out. Since enabling swap permits
greater memory usage for workloads in Kubernetes that cannot be predictably
accounted for, it also increases the risk of noisy neighbours and unexpected
packing configurations, as the scheduler cannot account for swap memory usage.
The performance of a node with swap memory enabled depends on the underlying
physical storage. When swap memory is in use, performance will be significantly
worse in an I/O operations per second (IOPS) constrained environment, such as a
cloud VM with I/O throttling, when compared to faster storage mediums like
solid-state drives or NVMe.
Hence, we do not recommend the use of swap for certain performance-constrained
workloads or environments. Cluster administrators and developers should
benchmark their nodes and applications before using swap in production
scenarios, and [we need your help](#how-do-i-get-involved) with that!
## Looking ahead
The Kubernetes 1.22 release introduces alpha support for swap memory on nodes,
and we will continue to work towards beta graduation in the 1.23 release. This
will include:
* Adding support for controlling swap consumption at the Pod level via cgroups.
* This will include the ability to set a system-reserved quantity of swap
from what kubelet detects on the host.
* Determining a set of metrics for node QoS in order to evaluate the
performance and stability of nodes with and without swap enabled.
* Collecting feedback from test user cases.
* We will consider introducing new configuration modes for swap, such as a
node-wide swap limit for workloads.
## How can I learn more?
You can review the current [documentation](https://kubernetes.io/docs/concepts/architecture/nodes/#swap-memory)
on the Kubernetes website.
For more information, and to assist with testing and provide feedback, please
see [KEP-2400](https://github.com/kubernetes/enhancements/issues/2400) and its
[design proposal](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/2400-node-swap/README.md).
## How do I get involved?
Your feedback is always welcome! SIG Node [meets regularly](https://github.com/kubernetes/community/tree/master/sig-node#meetings)
and [can be reached](https://github.com/kubernetes/community/tree/master/sig-node#contact)
via [Slack](https://slack.k8s.io/) (channel **#sig-node**), or the SIG's
[mailing list](https://groups.google.com/forum/#!forum/kubernetes-sig-node).
Feel free to reach out to me, Elana Hashman (**@ehashman** on Slack and GitHub)
if you'd like to help.
@@ -0,0 +1,76 @@
---
layout: blog
title: 'Kubernetes 1.22: CSI Windows Support (with CSI Proxy) reaches GA'
date: 2021-08-09
slug: csi-windows-support-with-csi-proxy-reaches-ga
---
**Authors:** Mauricio Poppe (Google), Jing Xu (Google), and Deep Debroy (Apple)
*The stable version of CSI Proxy for Windows has been released alongside Kubernetes 1.22. CSI Proxy enables CSI Drivers running on Windows nodes to perform privileged storage operations.*
## Background
Container Storage Interface (CSI) for Kubernetes went GA in the Kubernetes 1.13 release. CSI has become the standard for exposing block and file storage to containerized workloads on Container Orchestration systems (COs) like Kubernetes. It enables third-party storage providers to write and deploy plugins without the need to alter the core Kubernetes codebase. Legacy in-tree drivers are deprecated and new storage features are introduced in CSI, therefore it is important to get CSI Drivers to work on Windows.
A CSI Driver in Kubernetes has two main components: a controller plugin which runs in the control plane and a node plugin which runs on every node.
- The controller plugin generally does not need direct access to the host and can perform all its operations through the Kubernetes API and external control plane services.
- The node plugin, however, requires direct access to the host for making block devices and/or file systems available to the Kubernetes kubelet. Due to the missing capability of running privileged operations from containers on Windows nodes [CSI Proxy was introduced as alpha in Kubernetes 1.18](https://kubernetes.io/blog/2020/04/03/kubernetes-1-18-feature-windows-csi-support-alpha/) as a way to enable containers to perform privileged storage operations. This enables containerized CSI Drivers to run on Windows nodes.
## What's CSI Proxy and how do CSI drivers interact with it?
When a workload that uses persistent volumes is scheduled, it'll go through a sequence of steps defined in the [CSI Spec](https://github.com/container-storage-interface/spec/blob/master/spec.md). First, the workload will be scheduled to run on a node. Then the controller component of a CSI Driver will attach the persistent volume to the node. Finally the node component of a CSI Driver will mount the persistent volume on the node.
The node component of a CSI Driver needs to run on Windows nodes to support Windows workloads. Various privileged operations like scanning of disk devices, mounting of file systems, etc. cannot be done from a containerized application running on Windows nodes yet ([Windows HostProcess containers](https://github.com/kubernetes/enhancements/issues/1981) introduced in Kubernetes 1.22 as alpha enable functionalities that require host access like the operations mentioned before). However, we can perform these operations through a binary (CSI Proxy) that's pre-installed on the Window nodes. CSI Proxy has a client-server architecture and allows CSI drivers to issue privileged storage operations through a gRPC interface exposed over named pipes created during the startup of CSI Proxy.
![CSI Proxy Architecture](/images/blog/2021-08-09-csi-windows-support-with-csi-proxy-reaches-ga/csi-proxy.png)
## CSI Proxy reaches GA
The CSI Proxy development team has worked closely with storage vendors, many of whom started integrating CSI Proxy into their CSI Drivers and provided feedback as early as CSI Proxy design proposal. This cooperation uncovered use cases where additional APIs were needed, found bugs, and identified areas for documentation improvement.
The CSI Proxy design [KEP](https://github.com/kubernetes/enhancements/pull/2737) has been updated to reflect the current CSI Proxy architecture. Additional [development documentation](https://github.com/kubernetes-csi/csi-proxy/blob/master/docs/DEVELOPMENT.md) is included for contributors interested in helping with new features or bug fixes.
Before we reached GA we wanted to make sure that our API is simple and consistent. We went through an extensive API review of the v1beta API groups where we made sure that the CSI Proxy API methods and messages are consistent with the naming conventions defined in the [CSI Spec](https://github.com/container-storage-interface/spec/blob/master/spec.md). As part of this effort we're graduating the [Disk](https://github.com/kubernetes-csi/csi-proxy/blob/master/docs/apis/disk_v1.md), [Filesystem](https://github.com/kubernetes-csi/csi-proxy/blob/master/docs/apis/filesystem_v1.md), [SMB](https://github.com/kubernetes-csi/csi-proxy/blob/master/docs/apis/smb_v1.md) and [Volume](https://github.com/kubernetes-csi/csi-proxy/blob/master/docs/apis/volume_v1.md) API groups to v1.
Additional Windows system APIs to get information from the Windows nodes and support to mount iSCSI targets in Windows nodes, are available as alpha APIs in the [System API](https://github.com/kubernetes-csi/csi-proxy/tree/v1.0.0/client/api/system/v1alpha1) and the [iSCSI API](https://github.com/kubernetes-csi/csi-proxy/tree/v1.0.0/client/api/iscsi/v1alpha2). These APIs will continue to be improved before we graduate them to v1.
CSI Proxy v1 is compatible with all the previous v1betaX releases. The GA `csi-proxy.exe` binary can handle requests from v1betaX clients thanks to the autogenerated conversion layer that transforms any versioned client request to a version-agnostic request that the server can process. Several [integration tests](https://github.com/kubernetes-csi/csi-proxy/tree/v1.0.0/integrationtests) were added for all the API versions of the API groups that are graduating to v1 to ensure that CSI Proxy is backwards compatible.
Version drift between CSI Proxy and the CSI Drivers that interact with it was also carefully considered. A [connection fallback mechanism](https://github.com/kubernetes-csi/csi-proxy/pull/124) has been provided for CSI Drivers to handle multiple versions of CSI Proxy for a smooth upgrade to v1. This allows CSI Drivers, like the GCE PD CSI Driver, [to recognize which version of the CSI Proxy binary is running](https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/pull/738) and handle multiple versions of the CSI Proxy binary deployed on the node.
CSI Proxy v1 is already being used by many CSI Drivers, including the [AWS EBS CSI Driver](https://github.com/kubernetes-sigs/aws-ebs-csi-driver/pull/966), [Azure Disk CSI Driver](https://github.com/kubernetes-sigs/azuredisk-csi-driver/pull/919), [GCE PD CSI Driver](https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/pull/738), and [SMB CSI Driver](https://github.com/kubernetes-csi/csi-driver-smb/pull/319).
## Future plans
We're very excited for the future of CSI Proxy. With the upcoming [Windows HostProcess containers](https://github.com/kubernetes/enhancements/issues/1981), we are considering converting the CSI Proxy in to a library consumed by CSI Drivers in addition to the current client/server design. This will allow us to iterate faster on new features because the `csi-proxy.exe` binary will no longer be needed.
## How to get involved?
This project, like all of Kubernetes, is the result of hard work by many contributors from diverse backgrounds working together. Those interested in getting involved with the design and development of CSI Proxy, or any part of the Kubernetes Storage system, may join the Kubernetes Storage Special Interest Group (SIG). Were rapidly growing and always welcome new contributors.
For those interested in more details about CSI support in Windows please reach out in the [#csi-windows](https://kubernetes.slack.com/messages/csi-windows) Kubernetes slack channel.
## Acknowledgments
CSI-Proxy received many contributions from members of the Kubernetes community. We thank all of the people that contributed to CSI Proxy with design reviews, bug reports, bug fixes, and for their continuous support in reaching this milestone:
- [Andy Zhang](https://github.com/andyzhangx)
- [Dan Ilan](https://github.com/jmpfar)
- [Deep Debroy](https://github.com/ddebroy)
- [Humble Devassy Chirammal](https://github.com/humblec)
- [Jing Xu](https://github.com/jingxu97)
- [Jean Rougé](https://github.com/wk8)
- [Jordan Liggitt](https://github.com/liggitt)
- [Kalya Subramanian](https://github.com/ksubrmnn)
- [Krishnakumar R](https://github.com/kkmsft)
- [Manuel Tellez](https://github.com/manueltellez)
- [Mark Rossetti](https://github.com/marosset)
- [Mauricio Poppe](https://github.com/mauriciopoppe)
- [Matthew Wong](https://github.com/wongma7)
- [Michelle Au](https://github.com/msau42)
- [Patrick Lang](https://github.com/PatrickLang)
- [Saad Ali](https://github.com/saad-ali)
- [Yuju Hong](https://github.com/yujuhong)
@@ -0,0 +1,144 @@
---
layout: blog
title: "Kubernetes Memory Manager moves to beta"
date: 2021-08-11
slug: kubernetes-1-22-feature-memory-manager-moves-to-beta
---
**Authors:** Artyom Lukianov (Red Hat), Cezary Zukowski (Samsung)
The blog post explains some of the internals of the _Memory manager_, a beta feature
of Kubernetes 1.22. In Kubernetes, the Memory Manager is a
[kubelet](https://kubernetes.io/docs/concepts/overview/components/#kubelet) subcomponent.
The memory manage provides guaranteed memory (and hugepages)
allocation for pods in the `Guaranteed` [QoS class](https://kubernetes.io/docs/tasks/configure-pod-container/quality-service-pod/#qos-classes).
This blog post covers:
1. [Why do you need it?](#Why-do-you-need-it?)
2. [The internal details of how the **MemoryManager** works](#How-does-it-work?)
3. [Current limitations of the **MemoryManager**](#Current-limitations)
4. [Future work for the **MemoryManager**](#Future-work-for-the-Memory-Manager)
## Why do you need it?
Some Kubernetes workloads run on nodes with
[non-uniform memory access](https://en.wikipedia.org/wiki/Non-uniform_memory_access) (NUMA).
Suppose you have NUMA nodes in your cluster. In that case, you'll know about the potential for extra latency when
compute resources need to access memory on the different NUMA locality.
To get the best performance and latency for your workload, container CPUs,
peripheral devices, and memory should all be aligned to the same NUMA
locality.
Before Kubernetes v1.22, the kubelet already provided a set of managers to
align CPUs and PCI devices, but you did not have a way to align memory.
The Linux kernel was able to make best-effort attempts to allocate
memory for tasks from the same NUMA node where the container is
executing are placed, but without any guarantee about that placement.
## How does it work?
The memory manager is doing two main things:
- provides the topology hint to the Topology Manager
- allocates the memory for containers and updates the state
The overall sequence of the Memory Manager under the Kubelet
![MemoryManagerDiagram](/images/blog/2021-08-11-memory-manager-moves-to-beta/MemoryManagerDiagram.svg "MemoryManagerDiagram")
During the Admission phase:
1. When first handling a new pod, the kubelet calls the TopologyManager's `Admit()` method.
2. The Topology Manager is calling `GetTopologyHints()` for every hint provider including the Memory Manager.
3. The Memory Manager calculates all possible NUMA nodes combinations for every container inside the pod and returns hints to the Topology Manager.
4. The Topology Manager calls to `Allocate()` for every hint provider including the Memory Manager.
5. The Memory Manager allocates the memory under the state according to the hint that the Topology Manager chose.
During Pod creation:
1. The kubelet calls `PreCreateContainer()`.
2. For each container, the Memory Manager looks the NUMA nodes where it allocated the
memory for the container and then returns that information to the kubelet.
3. The kubelet creates the container, via CRI, using a container specification
that incorporates information from the Memory Manager information.
### Let's talk about the configuration
By default, the Memory Manager runs with the `None` policy, meaning it will just
relax and not do anything. To make use of the Memory Manager, you should set
two command line options for the kubelet:
- `--memory-manager-policy=Static`
- `--reserved-memory="<numaNodeID>:<resourceName>=<quantity>"`
The value for `--memory-manager-policy` is straightforward: `Static`. Deciding what to specify for `--reserved-memory` takes more thought. To configure it correctly, you should follow two main rules:
- The amount of reserved memory for the `memory` resource must be greater than zero.
- The amount of reserved memory for the resource type must be equal
to [NodeAllocatable](/docs/tasks/administer-cluster/reserve-compute-resources/#node-allocatable)
(`kube-reserved + system-reserved + eviction-hard`) for the resource.
You can read more about memory reservations in [Reserve Compute Resources for System Daemons](/docs/tasks/administer-cluster/reserve-compute-resources/).
![Reserved memory](/images/blog/2021-08-11-memory-manager-moves-to-beta/ReservedMemory.svg)
## Current limitations
The 1.22 release and promotion to beta brings along enhancements and fixes, but the Memory Manager still has several limitations.
### Single vs Cross NUMA node allocation
The NUMA node can not have both single and cross NUMA node allocations. When the container memory is pinned to two or more NUMA nodes, we can not know from which NUMA node the container will consume the memory.
![Single vs Cross NUMA allocation](/images/blog/2021-08-11-memory-manager-moves-to-beta/SingleCrossNUMAAllocation.svg "SingleCrossNUMAAllocation")
1. The `container1` started on the NUMA node 0 and requests *5Gi* of the memory but currently is consuming only *3Gi* of the memory.
2. For container2 the memory request is 10Gi, and no single NUMA node can satisfy it.
3. The `container2` consumes *3.5Gi* of the memory from the NUMA node 0, but once the `container1` will require more memory, it will not have it, and the kernel will kill one of the containers with the *OOM* error.
To prevent such issues, the Memory Manager will fail the admission of the `container2` until the machine has two NUMA nodes without a single NUMA node allocation.
### Works only for Guaranteed pods
The Memory Manager can not guarantee memory allocation for Burstable pods,
also when the Burstable pod has specified equal memory limit and request.
Let's assume you have two Burstable pods: `pod1` has containers with
equal memory request and limits, and `pod2` has containers only with a
memory request set. You want to guarantee memory allocation for the `pod1`.
To the Linux kernel, processes in either pod have the same *OOM score*,
once the kernel finds that it does not have enough memory, it can kill
processes that belong to pod `pod1`.
### Memory fragmentation
The sequence of Pods and containers that start and stop can fragment the memory on NUMA nodes.
The alpha implementation of the Memory Manager does not have any mechanism to balance pods and defragment memory back.
## Future work for the Memory Manager
We do not want to stop with the current state of the Memory Manager and are looking to
make improvements, including in the following areas.
### Make the Memory Manager allocation algorithm smarter
The current algorithm ignores distances between NUMA nodes during the
calculation of the allocation. If same-node placement isn't available, we can still
provide better performance compared to the current implementation, by changing the
Memory Manager to prefer the closest NUMA nodes for cross-node allocation.
### Reduce the number of admission errors
The default Kubernetes scheduler is not aware of the node's NUMA topology, and it can be a reason for many admission errors during the pod start.
We're hoping to add a KEP (Kubernetes Enhancement Proposal) to cover improvements in this area.
Follow [Topology aware scheduler plugin in kube-scheduler](https://github.com/kubernetes/enhancements/issues/2044) to see how this idea progresses.
## Conclusion
With the promotion of the Memory Manager to beta in 1.22, we encourage everyone to give it a try and look forward to any feedback you may have. While there are still several limitations, we have a set of enhancements planned to address them and look forward to providing you with many new features in upcoming releases.
If you have ideas for additional enhancements or a desire for certain features, please let us know. The team is always open to suggestions to enhance and improve the Memory Manager.
We hope you have found this blog informative and helpful! Let us know if you have any questions or comments.
You can contact us via:
- The Kubernetes [#sig-node ](https://kubernetes.slack.com/messages/sig-node)
channel in Slack (visit https://slack.k8s.io/ for an invitation if you need one)
- The SIG Node mailing list, [kubernetes-sig-node@googlegroups.com](https://groups.google.com/g/kubernetes-sig-node)
Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

@@ -0,0 +1,79 @@
---
layout: blog
title: 'Alpha in v1.22: Windows HostProcess Containers'
date: 2021-08-16
slug: windows-hostprocess-containers
---
**Authors:** Brandon Smith (Microsoft)
Kubernetes v1.22 introduced a new alpha feature for clusters that
include Windows nodes: HostProcess containers.
HostProcess containers aim to extend the Windows container model to enable a wider
range of Kubernetes cluster management scenarios. HostProcess containers run
directly on the host and maintain behavior and access similar to that of a regular
process. With HostProcess containers, users can package and distribute management
operations and functionalities that require host access while retaining versioning
and deployment methods provided by containers. This allows Windows containers to
be used for a variety of device plugin, storage, and networking management scenarios
in Kubernetes. With this comes the enablement of host network mode—allowing
HostProcess containers to be created within the host's network namespace instead of
their own. HostProcess containers can also be built on top of existing Windows server
2019 (or later) base images, managed through the Windows container runtime, and run
as any user that is available on or in the domain of the host machine.
Linux privileged containers are currently used for a variety of key scenarios in
Kubernetes, including kube-proxy (via kubeadm), storage, and networking scenarios.
Support for these scenarios in Windows previously required workarounds via proxies
or other implementations. Using HostProcess containers, cluster operators no longer
need to log onto and individually configure each Windows node for administrative
tasks and management of Windows services. Operators can now utilize the container
model to deploy management logic to as many clusters as needed with ease.
## How does it work?
Windows HostProcess containers are implemented with Windows _Job Objects_, a break from the
previous container model using server silos. Job objects are components of the Windows OS which offer the ability to
manage a group of processes as a group (a.k.a. _jobs_) and assign resource constraints to the
group as a whole. Job objects are specific to the Windows OS and are not associated with the Kubernetes [Job API](https://kubernetes.io/docs/concepts/workloads/controllers/job/). They have no process or file system isolation,
enabling the privileged payload to view and edit the host file system with the
correct permissions, among other host resources. The init process, and any processes
it launches or that are explicitly launched by the user, are all assigned to the
job object of that container. When the init process exits or is signaled to exit,
all the processes in the job will be signaled to exit, the job handle will be
closed and the storage will be unmounted.
HostProcess and Linux privileged containers enable similar scenarios but differ
greatly in their implementation (hence the naming difference). HostProcess containers
have their own pod security policies. Those used to configure Linux privileged
containers **do not** apply. Enabling privileged access to a Windows host is a
fundamentally different process than with Linux so the configuration and
capabilities of each differ significantly. Below is a diagram detailing the
overall architecture of Windows HostProcess containers:
{{< figure src="hostprocess-architecture.png" alt="HostProcess Architecture" >}}
## How do I use it?
HostProcess containers can be run from within a
[HostProcess Pod](/docs/tasks/configure-pod-container/create-hostprocess-pod).
With the feature enabled on Kubernetes version 1.22, a containerd container runtime of
1.5.4 or higher, and the latest version of hcsshim, deploying a pod spec with the
[correct HostProcess configuration](/docs/tasks/configure-pod-container/create-hostprocess-pod/#before-you-begin)
will enable you to run HostProcess containers. To get started with running
Windows containers see the general guidance for [Windows in Kubernetes](/docs/setup/production-environment/windows/)
## How can I learn more?
- Work through [Create a Windows HostProcess Pod](/docs/tasks/configure-pod-container/create-hostprocess-pod/)
- Read about Kubernetes [Pod Security Standards](/docs/concepts/security/pod-security-standards/)
- Read the enhancement proposal [Windows Privileged Containers and Host Networking Mode](https://github.com/kubernetes/enhancements/tree/master/keps/sig-windows/1981-windows-privileged-container-support) (KEP-1981)
## How do I get involved?
HostProcess containers are in active development. SIG Windows welcomes suggestions from the community.
Get involved with [SIG Windows](https://github.com/kubernetes/community/tree/master/sig-windows)
to contribute!
@@ -0,0 +1,267 @@
---
layout: blog
title: "Enable seccomp for all workloads with a new v1.22 alpha feature"
date: 2021-08-25
slug: seccomp-default
---
**Author:** Sascha Grunert, Red Hat
This blog post is about a new Kubernetes feature introduced in v1.22, which adds
an additional security layer on top of the existing seccomp support. Seccomp is
a security mechanism for Linux processes to filter system calls (syscalls) based
on a set of defined rules. Applying seccomp profiles to containerized workloads
is one of the key tasks when it comes to enhancing the security of the
application deployment. Developers, site reliability engineers and
infrastructure administrators have to work hand in hand to create, distribute
and maintain the profiles over the applications life-cycle.
You can use the [`securityContext`][seccontext] field of Pods and their
containers can be used to adjust security related configurations of the
workload. Kubernetes introduced dedicated [seccomp related API
fields][seccontext] in this `SecurityContext` with the [graduation of seccomp to
General Availability (GA)][ga] in v1.19.0. This enhancement allowed an easier
way to specify if the whole pod or a specific container should run as:
[seccontext]: /docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1
[ga]: https://kubernetes.io/blog/2020/08/26/kubernetes-release-1.19-accentuate-the-paw-sitive/#graduated-to-stable
- `Unconfined`: seccomp will not be enabled
- `RuntimeDefault`: the container runtimes default profile will be used
- `Localhost`: a node local profile will be applied, which is being referenced
by a relative path to the seccomp profile root (`<kubelet-root-dir>/seccomp`)
of the kubelet
With the graduation of seccomp, nothing has changed from an overall security
perspective, because `Unconfined` is still the default. This is totally fine if
you consider this from the upgrade path and backwards compatibility perspective of
Kubernetes releases. But it also means that it is more likely that a workload
runs without seccomp at all, which should be fixed in the long term.
## `SeccompDefault` to the rescue
Kubernetes v1.22.0 introduces a new kubelet [feature gate][gate]
`SeccompDefault`, which has been added in `alpha` state as every other new
feature. This means that it is disabled by default and can be enabled manually
for every single Kubernetes node.
[gate]: /docs/reference/command-line-tools-reference/feature-gates
What does the feature do? Well, it just changes the default seccomp profile from
`Unconfined` to `RuntimeDefault`. If not specified differently in the pod
manifest, then the feature will add a higher set of security constraints by
using the default profile of the container runtime. These profiles may differ
between runtimes like [CRI-O][crio] or [containerd][ctrd]. They also differ for
its used hardware architectures. But generally speaking, those default profiles
allow a common amount of syscalls while blocking the more dangerous ones, which
are unlikely or unsafe to be used in a containerized application.
[crio]: https://github.com/cri-o/cri-o/blob/fe30d62/vendor/github.com/containers/common/pkg/seccomp/default_linux.go#L45
[ctrd]: https://github.com/containerd/containerd/blob/e1445df/contrib/seccomp/seccomp_default.go#L51
### Enabling the feature
Two kubelet configuration changes have to be made to enable the feature:
1. **Enable the feature** gate by setting the `SeccompDefault=true` via the command
line (`--feature-gates`) or the [kubelet configuration][kubelet] file.
2. **Turn on the feature** by enabling the feature by adding the
`--seccomp-default` command line flag or via the [kubelet
configuration][kubelet] file (`seccompDefault: true`).
[kubelet]: /docs/tasks/administer-cluster/kubelet-config-file
The kubelet will error on startup if only one of the above steps have been done.
### Trying it out
If the feature is enabled on a node, then you can create a new workload like
this:
```yaml
apiVersion: v1
kind: Pod
metadata:
name: test-pod
spec:
containers:
- name: test-container
image: nginx:1.21
```
Now it is possible to inspect the used seccomp profile by using
[`crictl`][crictl] while investigating the containers [runtime
specification][rspec]:
[crictl]: https://github.com/kubernetes-sigs/cri-tools
[rspec]: https://github.com/opencontainers/runtime-spec/blob/0c021c1/config-linux.md#seccomp
```bash
CONTAINER_ID=$(sudo crictl ps -q --name=test-container)
sudo crictl inspect $CONTAINER_ID | jq .info.runtimeSpec.linux.seccomp
```
```yaml
{
"defaultAction": "SCMP_ACT_ERRNO",
"architectures": ["SCMP_ARCH_X86_64", "SCMP_ARCH_X86", "SCMP_ARCH_X32"],
"syscalls": [
{
"names": ["_llseek", "_newselect", "accept", …, "write", "writev"],
"action": "SCMP_ACT_ALLOW"
},
]
}
```
You can see that the lower level container runtime ([CRI-O][crio-home] and
[runc][runc] in our case), successfully applied the default seccomp profile.
This profile denies all syscalls per default, while allowing commonly used ones
like [`accept`][accept] or [`write`][write].
[crio-home]: https://github.com/cri-o/cri-o
[runc]: https://github.com/opencontainers/runc
[accept]: https://man7.org/linux/man-pages/man2/accept.2.html
[write]: https://man7.org/linux/man-pages/man2/write.2.html
Please note that the feature will not influence any Kubernetes API for now.
Therefore, it is not possible to retrieve the used seccomp profile via `kubectl`
`get` or `describe` if the [`SeccompProfile`][api] field is unset within the
`SecurityContext`.
[api]: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1
The feature also works when using multiple containers within a pod, for example
if you create a pod like this:
```yaml
apiVersion: v1
kind: Pod
metadata:
name: test-pod
spec:
containers:
- name: test-container-nginx
image: nginx:1.21
securityContext:
seccompProfile:
type: Unconfined
- name: test-container-redis
image: redis:6.2
```
then you should see that the `test-container-nginx` runs without a seccomp profile:
```bash
sudo crictl inspect $(sudo crictl ps -q --name=test-container-nginx) |
jq '.info.runtimeSpec.linux.seccomp == null'
true
```
Whereas the container `test-container-redis` runs with `RuntimeDefault`:
```bash
sudo crictl inspect $(sudo crictl ps -q --name=test-container-redis) |
jq '.info.runtimeSpec.linux.seccomp != null'
true
```
The same applies to the pod itself, which also runs with the default profile:
```bash
sudo crictl inspectp (sudo crictl pods -q --name test-pod) |
jq '.info.runtimeSpec.linux.seccomp != null'
true
```
### Upgrade strategy
It is recommended to enable the feature in multiple steps, whereas different
risks and mitigations exist for each one.
#### Feature gate enabling
Enabling the feature gate at the kubelet level will not turn on the feature, but
will make it possible by using the `SeccompDefault` kubelet configuration or the
`--seccomp-default` CLI flag. This can be done by an administrator for the whole
cluster or only a set of nodes.
#### Testing the Application
If you're trying this within a dedicated test environment, you have to ensure
that the application code does not trigger syscalls blocked by the
`RuntimeDefault` profile before enabling the feature on a node. This can be done
by:
- _Recommended_: Analyzing the code (manually or by running the application with
[strace][strace]) for any executed syscalls which may be blocked by the
default profiles. If that's the case, then you can override the default by
explicitly setting the pod or container to run as `Unconfined`. Alternatively,
you can create a custom seccomp profile (see optional step below).
profile based on the default by adding the additional syscalls to the
`"action": "SCMP_ACT_ALLOW"` section.
- _Recommended_: Manually set the profile to the target workload and use a
rolling upgrade to deploy into production. Rollback the deployment if the
application does not work as intended.
- _Optional_: Run the application against an end-to-end test suite to trigger
all relevant code paths with `RuntimeDefault` enabled. If a test fails, use
the same mitigation as mentioned above.
- _Optional_: Create a custom seccomp profile based on the default and change
its default action from `SCMP_ACT_ERRNO` to `SCMP_ACT_LOG`. This means that
the seccomp filter for unknown syscalls will have no effect on the application
at all, but the system logs will now indicate which syscalls may be blocked.
This requires at least a Kernel version 4.14 as well as a recent [runc][runc]
release. Monitor the application hosts audit logs (defaults to
`/var/log/audit/audit.log`) or syslog entries (defaults to `/var/log/syslog`)
for syscalls via `type=SECCOMP` (for audit) or `type=1326` (for syslog).
Compare the syscall ID with those [listed in the Linux Kernel
sources][syscalls] and add them to the custom profile. Be aware that custom
audit policies may lead into missing syscalls, depending on the configuration
of auditd.
- _Optional_: Use cluster additions like the [Security Profiles Operator][spo]
for profiling the application via its [log enrichment][logs] capabilities or
recording a profile by using its [recording feature][rec]. This makes the
above mentioned manual log investigation obsolete.
[syscalls]: https://github.com/torvalds/linux/blob/7bb7f2a/arch/x86/entry/syscalls/syscall_64.tbl
[spo]: https://github.com/kubernetes-sigs/security-profiles-operator
[logs]: https://github.com/kubernetes-sigs/security-profiles-operator/blob/c90ef3a/installation-usage.md#record-profiles-from-workloads-with-profilerecordings
[rec]: https://github.com/kubernetes-sigs/security-profiles-operator/blob/c90ef3a/installation-usage.md#using-the-log-enricher
[strace]: https://man7.org/linux/man-pages/man1/strace.1.html
#### Deploying the modified application
Based on the outcome of the application tests, it may be required to change the
application deployment by either specifying `Unconfined` or a custom seccomp
profile. This is not the case if the application works as intended with
`RuntimeDefault`.
#### Enable the kubelet configuration
If everything went well, then the feature is ready to be enabled by the kubelet
configuration or its corresponding CLI flag. This should be done on a per-node
basis to reduce the overall risk of missing a syscall during the investigations
when running the application tests. If it's possible to monitor audit logs
within the cluster, then it's recommended to do this for eventually missed
seccomp events. If the application works as intended then the feature can be
enabled for further nodes within the cluster.
## Conclusion
Thank you for reading this blog post! I hope you enjoyed to see how the usage of
seccomp profiles has been evolved in Kubernetes over the past releases as much
as I do. On your own cluster, change the default seccomp profile to
`RuntimeDefault` (using this new feature) and see the security benefits, and, of
course, feel free to reach out any time for feedback or questions.
---
_Editor's note: If you have any questions or feedback about this blog post, feel
free to reach out via the [Kubernetes slack in #sig-node][slack]._
[slack]: https://kubernetes.slack.com/messages/sig-node
@@ -0,0 +1,48 @@
---
layout: blog
title: 'Minimum Ready Seconds for StatefulSets'
date: 2021-08-27
slug: minreadyseconds-statefulsets
---
**Authors:** Ravi Gudimetla (Red Hat), Maciej Szulik (Red Hat)
This blog describes the notion of Availability for `StatefulSet` workloads, and a new alpha feature in Kubernetes 1.22 which adds `minReadySeconds` configuration for `StatefulSets`.
## What problems does this solve?
Prior to Kubernetes 1.22 release, once a `StatefulSet` `Pod` is in the `Ready` state it is considered `Available` to receive traffic. For some of the `StatefulSet` workloads, it may not be the case. For example, a workload like Prometheus with multiple instances of Alertmanager, it should be considered `Available` only when Alertmanager's state transfer is complete, not when the `Pod` is in `Ready` state. Since `minReadySeconds` adds buffer, the state transfer may be complete before the `Pod` becomes `Available`. While this is not a fool proof way of identifying if the state transfer is complete or not, it gives a way to the end user to express their intention of waiting for sometime before the `Pod` is considered `Available` and it is ready to serve requests.
Another case, where `minReadySeconds` helps is when using `LoadBalancer` `Services` with cloud providers. Since `minReadySeconds` adds latency after a `Pod` is `Ready`, it provides buffer time to prevent killing pods in rotation before new pods show up. Imagine a load balancer in unhappy path taking 10-15s to propagate. If you have 2 replicas then, you'd kill the second replica only after the first one is up but in reality, first replica cannot be seen because it is not yet ready to serve requests.
So, in general, the notion of `Availability` in `StatefulSets` is pretty useful and this feature helps in solving the above problems. This is a feature that already exists for `Deployments` and `DaemonSets` and we now have them for `StatefulSets` too to give users consistent workload experience.
## How does it work?
The statefulSet controller watches for both `StatefulSets` and the `Pods` associated with them. When the feature gate associated with this feature is enabled, the statefulSet controller identifies how long a particular `Pod` associated with a `StatefulSet` has been in the `Running` state.
If this value is greater than or equal to the time specified by the end user in `.spec.minReadySeconds` field, the statefulSet controller updates a field called `availableReplicas` in the `StatefulSet`'s status subresource to include this `Pod`. The `status.availableReplicas` in `StatefulSet`'s status is an integer field which tracks the number of pods that are `Available`.
## How do I use it?
You are required to prepare the following things in order to try out the feature:
- Download and install a kubectl greater than v1.22.0 version
- Switch on the feature gate with the command line flag `--feature-gates=StatefulSetMinReadySeconds=true` on `kube-apiserver` and `kube-controller-manager`
After successfully starting `kube-apiserver` and `kube-controller-manager`, you will see `AvailableReplicas` in the status and `minReadySeconds` of spec (with a default value of 0).
Specify a value for `minReadySeconds` for any StatefulSet and you can check if `Pods` are available or not by checking `AvailableReplicas` field using:
`kubectl get statefulset/<name_of_the_statefulset> -o yaml`
## How can I learn more?
- Read the KEP: [minReadySeconds for StatefulSets](https://github.com/kubernetes/enhancements/tree/master/keps/sig-apps/2599-minreadyseconds-for-statefulsets#readme)
- Read the documentation: [Minimum ready seconds](/docs/concepts/workloads/controllers/statefulset/#minimum-ready-seconds) for StatefulSet
- Review the [API definition](/docs/reference/kubernetes-api/workload-resources/stateful-set-v1/) for StatefulSet
## How do I get involved?
Please reach out to us in the [#sig-apps](https://kubernetes.slack.com/archives/C18NZM5K9) channel on Slack (visit https://slack.k8s.io/ for an invitation if you need one), or on the SIG Apps mailing list: kubernetes-sig-apps@googlegroups.com
@@ -0,0 +1,219 @@
---
layout: blog
title: "Kubernetes 1.22: A New Design for Volume Populators"
date: 2021-08-30
slug: volume-populators-redesigned
---
**Authors:**
Ben Swartzlander (NetApp)
Kubernetes v1.22, released earlier this month, introduced a redesigned approach for volume
populators. Originally implemented
in v1.18, the API suffered from backwards compatibility issues. Kubernetes v1.22 includes a new API
field called `dataSourceRef` that fixes these problems.
## Data sources
Earlier Kubernetes releases already added a `dataSource` field into the
[PersistentVolumeClaim](/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) API,
used for cloning volumes and creating volumes from snapshots. You could use the `dataSource` field when
creating a new PVC, referencing either an existing PVC or a VolumeSnapshot in the same namespace.
That also modified the normal provisioning process so that instead of yielding an empty volume, the
new PVC contained the same data as either the cloned PVC or the cloned VolumeSnapshot.
Volume populators embrace the same design idea, but extend it to any type of object, as long
as there exists a [custom resource](/docs/concepts/extend-kubernetes/api-extension/custom-resources/)
to define the data source, and a populator controller to implement the logic. Initially,
the `dataSource` field was directly extended to allow arbitrary objects, if the `AnyVolumeDataSource`
feature gate was enabled on a cluster. That change unfortunately caused backwards compatibility
problems, and so the new `dataSourceRef` field was born.
In v1.22 if the `AnyVolumeDataSource` feature gate is enabled, the `dataSourceRef` field is
added, which behaves similarly to the `dataSource` field except that it allows arbitrary
objects to be specified. The API server ensures that the two fields always have the same
contents, and neither of them are mutable. The differences is that at creation time
`dataSource` allows only PVCs or VolumeSnapshots, and ignores all other values, while
`dataSourceRef` allows most types of objects, and in the few cases it doesn't allow an
object (core objects other than PVCs) a validation error occurs.
When this API change graduates to stable, we would deprecate using `dataSource` and recommend
using `dataSourceRef` field for all use cases.
In the v1.22 release, `dataSourceRef` is available (as an alpha feature) specifically for cases
where you want to use for custom volume populators.
## Using populators
Every volume populator must have one or more CRDs that it supports. Administrators may
install the CRD and the populator controller and then PVCs with a `dataSourceRef` specifies
a CR of the type that the populator supports will be handled by the populator controller
instead of the CSI driver directly.
Underneath the covers, the CSI driver is still invoked to create an empty volume, which
the populator controller fills with the appropriate data. The PVC doesn't bind to the PV
until it's fully populated, so it's safe to define a whole application manifest including
pod and PVC specs and the pods won't begin running until everything is ready, just as if
the PVC was a clone of another PVC or VolumeSnapshot.
## How it works
PVCs with data sources are still noticed by the external-provisioner sidecar for the
related storage class (assuming a CSI provisioner is used), but because the sidecar
doesn't understand the data source kind, it doesn't do anything. The populator controller
is also watching for PVCs with data sources of a kind that it understands and when it
sees one, it creates a temporary PVC of the same size, volume mode, storage class,
and even on the same topology (if topology is used) as the original PVC. The populator
controller creates a worker pod that attaches to the volume and writes the necessary
data to it, then detaches from the volume and the populator controller rebinds the PV
from the temporary PVC to the orignal PVC.
## Trying it out
The following things are required to use volume populators:
* Enable the `AnyVolumeDataSource` feature gate
* Install a CRD for the specific data source / populator
* Install the populator controller itself
Populator controllers may use the [lib-volume-populator](https://github.com/kubernetes-csi/lib-volume-populator)
library to do most of the Kubernetes API level work. Individual populators only need to
provide logic for actually writing data into the volume based on a particular CR
instance. This library provides a sample populator implementation.
These optional components improve user experience:
* Install the VolumePopulator CRD
* Create a VolumePopulator custom respource for each specific data source
* Install the [volume data source validator](https://github.com/kubernetes-csi/volume-data-source-validator)
controller (alpha)
The purpose of these components is to generate warning events on PVCs with data sources
for which there is no populator.
## Putting it all together
To see how this works, you can install the sample "hello" populator and try it
out.
First install the volume-data-source-validator controller.
```terminal
kubectl apply -f https://github.com/kubernetes-csi/volume-data-source-validator/blob/master/deploy/kubernetes/rbac-data-source-validator.yaml
kubectl apply -f https://github.com/kubernetes-csi/volume-data-source-validator/blob/master/deploy/kubernetes/setup-data-source-validator.yaml
```
Next install the example populator.
```terminal
kubectl apply -f https://github.com/kubernetes-csi/lib-volume-populator/blob/master/example/hello-populator/crd.yaml
kubectl apply -f https://github.com/kubernetes-csi/lib-volume-populator/blob/master/example/hello-populator/deploy.yaml
```
Create an instance of the `Hello` CR, with some text.
```yaml
apiVersion: hello.k8s.io/v1alpha1
kind: Hello
metadata:
name: example-hello
spec:
fileName: example.txt
fileContents: Hello, world!
```
Create a PVC that refers to that CR as its data source.
```yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: example-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Mi
dataSourceRef:
apiGroup: hello.k8s.io
kind: Hello
name: example-hello
volumeMode: Filesystem
```
Next, run a job that reads the file in the PVC.
```yaml
apiVersion: batch/v1
kind: Job
metadata:
name: example-job
spec:
template:
spec:
containers:
- name: example-container
image: busybox:latest
command:
- cat
- /mnt/example.txt
volumeMounts:
- name: vol
mountPath: /mnt
restartPolicy: Never
volumes:
- name: vol
persistentVolumeClaim:
claimName: example-pvc
```
Wait for the job to complete (including all of its dependencies).
```terminal
kubectl wait --for=condition=Complete job/example-job
```
And last examine the log from the job.
```terminal
kubectl logs job/example-job
Hello, world!
```
Note that the volume already contained a text file with the string contents from
the CR. This is only the simplest example. Actual populators can set up the volume
to contain arbitrary contents.
## How to write your own volume populator
Developers interested in writing new poplators are encouraged to use the
[lib-volume-populator](https://github.com/kubernetes-csi/lib-volume-populator) library
and to only supply a small controller wrapper around the library, and a pod image
capable of attaching to volumes and writing the appropriate data to the volume.
Individual populators can be extremely generic such that they work with every type
of PVC, or they can do vendor specific things to rapidly fill a volume with data
if the volume was provisioned by a specific CSI driver from the same vendor, for
example, by communicating directly with the storage for that volume.
## The future
As this feature is still in alpha, we expect to update the out of tree controllers
with more tests and documentation. The community plans to eventually re-implement
the populator library as a sidecar, for ease of operations.
We hope to see some official community-supported populators for some widely-shared
use cases. Also, we expect that volume populators will be used by backup vendors
as a way to "restore" backups to volumes, and possibly a standardized API to do
this will evolve.
## How can I learn more?
The enhancement proposal,
[Volume Populators](https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/1495-volume-populators), includes lots of detail about the history and technical implementation
of this feature.
[Volume populators and data sources](/docs/concepts/storage/persistent-volumes/#volume-populators-and-data-sources), within the documentation topic about persistent volumes,
explains how to use this feature in your cluster.
Please get involved by joining the Kubernetes storage SIG to help us enhance this
feature. There are a lot of good ideas already and we'd be thrilled to have more!
@@ -0,0 +1,67 @@
---
layout: blog
title: 'Alpha in Kubernetes v1.22: API Server Tracing'
date: 2021-09-03
slug: api-server-tracing
---
**Authors:** David Ashpole (Google)
In distributed systems, it can be hard to figure out where problems are. You grep through one component's logs just to discover that the source of your problem is in another component. You search there only to discover that you need to enable debug logs to figure out what really went wrong... And it goes on. The more complex the path your request takes, the harder it is to answer questions about where it went. I've personally spent many hours doing this dance with a variety of Kubernetes components. Distributed tracing is a tool which is designed to help in these situations, and the Kubernetes API Server is, perhaps, the most important Kubernetes component to be able to debug. At Kubernetes' Sig Instrumentation, our mission is to make it easier to understand what's going on in your cluster, and we are happy to announce that distributed tracing in the Kubernetes API Server reached alpha in 1.22.
## What is Tracing?
Distributed tracing links together a bunch of super-detailed information from multiple different sources, and structures that telemetry into a single tree for that request. Unlike logging, which limits the quantity of data ingested by using log levels, tracing collects all of the details and uses sampling to collect only a small percentage of requests. This means that once you have a trace which demonstrates an issue, you should have all the information you need to root-cause the problem--no grepping for object UID required! My favorite aspect, though, is how useful the visualizations of traces are. Even if you don't understand the inner workings of the API Server, or don't have a clue what an etcd "Transaction" is, I'd wager you (yes, you!) could tell me roughly what the order of events was, and which components were involved in the request. If some step takes a long time, it is easy to tell where the problem is.
## Why OpenTelemetry?
It's important that Kubernetes works well for everyone, regardless of who manages your infrastructure, or which vendors you choose to integrate with. That is particularly true for Kubernetes' integrations with telemetry solutions. OpenTelemetry, being a CNCF project, shares these core values, and is creating exactly what we need in Kubernetes: A set of open standards for Tracing client library APIs and a standard trace format. By using OpenTelemetry, we can ensure users have the freedom to choose their backend, and ensure vendors have a level playing field. The timing couldn't be better: the OpenTelemetry golang API and SDK are very close to their 1.0 release, and will soon offer backwards-compatibility for these open standards.
## Why instrument the API Server?
The Kubernetes API Server is a great candidate for tracing for a few reasons:
* It follows the standard "RPC" model (serve a request by making requests to downstream components), which makes it easy to instrument.
* Users are latency-sensitive: If a request takes more than 10 seconds to complete, many clients will time-out.
* It has a complex service topology: A single request could require consulting a dozen webhooks, or involve multiple requests to etcd.
## Trying out APIServer Tracing with a webhook
### Enabling API Server Tracing
1. Enable the APIServerTracing [feature-gate](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/).
2. Set our configuration for tracing by pointing the `--tracing-config-file` flag on the kube-apiserver at our config file, which contains:
```yaml
apiVersion: apiserver.config.k8s.io/v1alpha1
kind: TracingConfiguration
# 1% sampling rate
samplingRatePerMillion: 10000
```
### Enabling Etcd Tracing
Add `--experimental-enable-distributed-tracing`, `--experimental-distributed-tracing-address=0.0.0.0:4317`, `--experimental-distributed-tracing-service-name=etcd` flags to etcd to enable tracing. Note that this traces every request, so it will probably generate a lot of traces if you enable it.
### Example Trace: List Nodes
I could've used any trace backend, but decided to use Jaeger, since it is one of the most popular open-source tracing projects. I deployed [the Jaeger All-in-one container](https://hub.docker.com/r/jaegertracing/all-in-one) in my cluster, deployed [the OpenTelemetry collector](https://github.com/open-telemetry/opentelemetry-collector) on my control-plane node ([example](https://github.com/dashpole/dashpole_demos/tree/master/otel/controlplane)), and captured traces like this one:
![Jaeger screenshot showing API server and etcd trace](/images/blog/2021-09-03-api-server-tracing/example-trace-1.png "Jaeger screenshot showing API server and etcd trace")
The teal lines are from the API Server, and includes it serving a request to `/api/v1/nodes`, and issuing a grpc `Range` RPC to ETCD. The yellow-ish line is from ETCD handling the `Range` RPC.
### Example Trace: Create Pod with Mutating Webhook
I instrumented the [example webhook](https://github.com/kubernetes-sigs/controller-runtime/tree/master/examples/builtins) with OpenTelemetry (I had to [patch](https://github.com/dashpole/controller-runtime/commit/85fdda7ba03dd2c22ef62c1a3dbdf5aa651f90da) controller-runtime, but it makes a neat demo), and routed traces to Jaeger as well. I collected traces like this one:
![Jaeger screenshot showing API server, admission webhook, and etcd trace](/images/blog/2021-09-03-api-server-tracing/example-trace-2.png "Jaeger screenshot showing API server, admission webhook, and etcd trace")
Compared with the previous trace, there are two new spans: A teal span from the API Server making a request to the admission webhook, and a brown span from the admission webhook serving the request. Even if you didn't instrument your webhook, you would still get the span from the API Server making the request to the webhook.
## Get involved!
As this is our first attempt at adding distributed tracing to a Kubernetes component, there is probably a lot we can improve! If my struggles resonated with you, or if you just want to try out the latest Kubernetes has to offer, please give the feature a try and open issues with any problem you encountered and ways you think the feature could be improved.
This is just the very beginning of what we can do with distributed tracing in Kubernetes. If there are other components you think would benefit from distributed tracing, or want to help bring API Server Tracing to GA, join sig-instrumentation at our [regular meetings](https://github.com/kubernetes/community/tree/master/sig-instrumentation#instrumentation-special-interest-group) and get involved!
@@ -0,0 +1,287 @@
---
layout: blog
title: "Introducing Single Pod Access Mode for PersistentVolumes"
date: 2021-09-13
slug: read-write-once-pod-access-mode-alpha
---
**Author:** Chris Henzie (Google)
Last month's release of Kubernetes v1.22 introduced a new ReadWriteOncePod access mode for [PersistentVolumes](/docs/concepts/storage/persistent-volumes/#persistent-volumes) and [PersistentVolumeClaims](/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims).
With this alpha feature, Kubernetes allows you to restrict volume access to a single pod in the cluster.
## What are access modes and why are they important?
When using storage, there are different ways to model how that storage is consumed.
For example, a storage system like a network file share can have many users all reading and writing data simultaneously.
In other cases maybe everyone is allowed to read data but not write it.
For highly sensitive data, maybe only one user is allowed to read and write data but nobody else.
In the world of Kubernetes, [access modes](/docs/concepts/storage/persistent-volumes/#access-modes) are the way you can define how durable storage is consumed.
These access modes are a part of the spec for PersistentVolumes (PVs) and PersistentVolumeClaims (PVCs).
```yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: shared-cache
spec:
accessModes:
- ReadWriteMany # Allow many pods to access shared-cache simultaneously.
resources:
requests:
storage: 1Gi
```
Before v1.22, Kubernetes offered three access modes for PVs and PVCs:
- ReadWriteOnce &ndash; the volume can be mounted as read-write by a single node
- ReadOnlyMany &ndash; the volume can be mounted read-only by many nodes
- ReadWriteMany &ndash; the volume can be mounted as read-write by many nodes
These access modes are enforced by Kubernetes components like the `kube-controller-manager` and `kubelet` to ensure only certain pods are allowed to access a given PersistentVolume.
## What is this new access mode and how does it work?
Kubernetes v1.22 introduced a fourth access mode for PVs and PVCs, that you can use for CSI volumes:
- ReadWriteOncePod &ndash; the volume can be mounted as read-write by a single pod
If you create a pod with a PVC that uses the ReadWriteOncePod access mode, Kubernetes ensures that pod is the only pod across your whole cluster that can read that PVC or write to it.
If you create another pod that references the same PVC with this access mode, the pod will fail to start because the PVC is already in use by another pod.
For example:
```
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 1s default-scheduler 0/1 nodes are available: 1 node has pod using PersistentVolumeClaim with the same name and ReadWriteOncePod access mode.
```
### How is this different than the ReadWriteOnce access mode?
The ReadWriteOnce access mode restricts volume access to a single *node*, which means it is possible for multiple pods on the same node to read from and write to the same volume.
This could potentially be a major problem for some applications, especially if they require at most one writer for data safety guarantees.
With ReadWriteOncePod these issues go away.
Set the access mode on your PVC, and Kubernetes guarantees that only a single pod has access.
## How do I use it?
The ReadWriteOncePod access mode is in alpha for Kubernetes v1.22 and is only supported for CSI volumes.
As a first step you need to enable the ReadWriteOncePod [feature gate](/docs/reference/command-line-tools-reference/feature-gates) for `kube-apiserver`, `kube-scheduler`, and `kubelet`.
You can enable the feature by setting command line arguments:
```
--feature-gates="...,ReadWriteOncePod=true"
```
You also need to update the following CSI sidecars to these versions or greater:
- [csi-provisioner:v3.0.0+](https://github.com/kubernetes-csi/external-provisioner/releases/tag/v3.0.0)
- [csi-attacher:v3.3.0+](https://github.com/kubernetes-csi/external-attacher/releases/tag/v3.3.0)
- [csi-resizer:v1.3.0+](https://github.com/kubernetes-csi/external-resizer/releases/tag/v1.3.0)
### Creating a PersistentVolumeClaim
In order to use the ReadWriteOncePod access mode for your PVs and PVCs, you will need to create a new PVC with the access mode:
```yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: single-writer-only
spec:
accessModes:
- ReadWriteOncePod # Allow only a single pod to access single-writer-only.
resources:
requests:
storage: 1Gi
```
If your storage plugin supports [dynamic provisioning](/docs/concepts/storage/dynamic-provisioning/), new PersistentVolumes will be created with the ReadWriteOncePod access mode applied.
#### Migrating existing PersistentVolumes
If you have existing PersistentVolumes, they can be migrated to use ReadWriteOncePod.
In this example, we already have a "cat-pictures-pvc" PersistentVolumeClaim that is bound to a "cat-pictures-pv" PersistentVolume, and a "cat-pictures-writer" Deployment that uses this PersistentVolumeClaim.
As a first step, you need to edit your PersistentVolume's `spec.persistentVolumeReclaimPolicy` and set it to `Retain`.
This ensures your PersistentVolume will not be deleted when we delete the corresponding PersistentVolumeClaim:
```shell
kubectl patch pv cat-pictures-pv -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}'
```
Next you need to stop any workloads that are using the PersistentVolumeClaim bound to the PersistentVolume you want to migrate, and then delete the PersistentVolumeClaim.
Once that is done, you need to clear your PersistentVolume's `spec.claimRef.uid` to ensure PersistentVolumeClaims can bind to it upon recreation:
```shell
kubectl scale --replicas=0 deployment cat-pictures-writer
kubectl delete pvc cat-pictures-pvc
kubectl patch pv cat-pictures-pv -p '{"spec":{"claimRef":{"uid":""}}}'
```
After that you need to replace the PersistentVolume's access modes with ReadWriteOncePod:
```shell
kubectl patch pv cat-pictures-pv -p '{"spec":{"accessModes":["ReadWriteOncePod"]}}'
```
{{< note >}}
The ReadWriteOncePod access mode cannot be combined with other access modes.
Make sure ReadWriteOncePod is the only access mode on the PersistentVolume when updating, otherwise the request will fail.
{{< /note >}}
Next you need to modify your PersistentVolumeClaim to set ReadWriteOncePod as the only access mode.
You should also set your PersistentVolumeClaim's `spec.volumeName` to the name of your PersistentVolume.
Once this is done, you can recreate your PersistentVolumeClaim and start up your workloads:
```shell
# IMPORTANT: Make sure to edit your PVC in cat-pictures-pvc.yaml before applying. You need to:
# - Set ReadWriteOncePod as the only access mode
# - Set spec.volumeName to "cat-pictures-pv"
kubectl apply -f cat-pictures-pvc.yaml
kubectl apply -f cat-pictures-writer-deployment.yaml
```
Lastly you may edit your PersistentVolume's `spec.persistentVolumeReclaimPolicy` and set to it back to `Delete` if you previously changed it.
```shell
kubectl patch pv cat-pictures-pv -p '{"spec":{"persistentVolumeReclaimPolicy":"Delete"}}'
```
You can read [Configure a Pod to Use a PersistentVolume for Storage](/docs/tasks/configure-pod-container/configure-persistent-volume-storage/) for more details on working with PersistentVolumes and PersistentVolumeClaims.
## What volume plugins support this?
The only volume plugins that support this are CSI drivers.
SIG Storage does not plan to support this for in-tree plugins because they are being deprecated as part of [CSI migration](/blog/2019/12/09/kubernetes-1-17-feature-csi-migration-beta/#what-is-the-timeline-status).
Support may be considered for beta for users that prefer to use the legacy in-tree volume APIs with CSI migration enabled.
## As a storage vendor, how do I add support for this access mode to my CSI driver?
The ReadWriteOncePod access mode will work out of the box without any required updates to CSI drivers, but [does require updates to CSI sidecars](#update-your-csi-sidecars).
With that being said, if you would like to stay up to date with the latest changes to the CSI specification (v1.5.0+), read on.
Two new access modes were introduced to the CSI specification in order to disambiguate the legacy [`SINGLE_NODE_WRITER`](https://github.com/container-storage-interface/spec/blob/v1.5.0/csi.proto#L418-L420) access mode.
They are [`SINGLE_NODE_SINGLE_WRITER` and `SINGLE_NODE_MULTI_WRITER`](https://github.com/container-storage-interface/spec/blob/v1.5.0/csi.proto#L437-L447).
In order to communicate to sidecars (like the [external-provisioner](https://github.com/kubernetes-csi/external-provisioner)) that your driver understands and accepts these two new CSI access modes, your driver will also need to advertise the `SINGLE_NODE_MULTI_WRITER` capability for the [controller service](https://github.com/container-storage-interface/spec/blob/v1.5.0/csi.proto#L1073-L1081) and [node service](https://github.com/container-storage-interface/spec/blob/v1.5.0/csi.proto#L1515-L1524).
If you'd like to read up on the motivation for these access modes and capability bits, you can also read the [CSI Specification Changes, Volume Capabilities](https://github.com/kubernetes/enhancements/blob/master/keps/sig-storage/2485-read-write-once-pod-pv-access-mode/README.md#csi-specification-changes-volume-capabilities) section of KEP-2485 (ReadWriteOncePod PersistentVolume Access Mode).
### Update your CSI driver to use the new interface
As a first step you will need to update your driver's `container-storage-interface` dependency to v1.5.0+, which contains support for these new access modes and capabilities.
### Accept new CSI access modes
If your CSI driver contains logic for validating CSI access modes for requests , it may need updating.
If it currently accepts `SINGLE_NODE_WRITER`, it should be updated to also accept `SINGLE_NODE_SINGLE_WRITER` and `SINGLE_NODE_MULTI_WRITER`.
Using the [GCP PD CSI driver validation logic](https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/blob/v1.2.2/pkg/gce-pd-csi-driver/utils.go#L116-L130) as an example, here is how it can be extended:
```diff
diff --git a/pkg/gce-pd-csi-driver/utils.go b/pkg/gce-pd-csi-driver/utils.go
index 281242c..b6c5229 100644
--- a/pkg/gce-pd-csi-driver/utils.go
+++ b/pkg/gce-pd-csi-driver/utils.go
@@ -123,6 +123,8 @@ func validateAccessMode(am *csi.VolumeCapability_AccessMode) error {
case csi.VolumeCapability_AccessMode_SINGLE_NODE_READER_ONLY:
case csi.VolumeCapability_AccessMode_MULTI_NODE_READER_ONLY:
case csi.VolumeCapability_AccessMode_MULTI_NODE_MULTI_WRITER:
+ case csi.VolumeCapability_AccessMode_SINGLE_NODE_SINGLE_WRITER:
+ case csi.VolumeCapability_AccessMode_SINGLE_NODE_MULTI_WRITER:
default:
return fmt.Errorf("%v access mode is not supported for for PD", am.GetMode())
}
```
### Advertise new CSI controller and node service capabilities
Your CSI driver will also need to return the new `SINGLE_NODE_MULTI_WRITER` capability as part of the `ControllerGetCapabilities` and `NodeGetCapabilities` RPCs.
Using the [GCP PD CSI driver capability advertisement logic](https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/blob/v1.2.2/pkg/gce-pd-csi-driver/gce-pd-driver.go#L54-L77) as an example, here is how it can be extended:
```diff
diff --git a/pkg/gce-pd-csi-driver/gce-pd-driver.go b/pkg/gce-pd-csi-driver/gce-pd-driver.go
index 45903f3..0d7ea26 100644
--- a/pkg/gce-pd-csi-driver/gce-pd-driver.go
+++ b/pkg/gce-pd-csi-driver/gce-pd-driver.go
@@ -56,6 +56,8 @@ func (gceDriver *GCEDriver) SetupGCEDriver(name, vendorVersion string, extraVolu
csi.VolumeCapability_AccessMode_SINGLE_NODE_WRITER,
csi.VolumeCapability_AccessMode_MULTI_NODE_READER_ONLY,
csi.VolumeCapability_AccessMode_MULTI_NODE_MULTI_WRITER,
+ csi.VolumeCapability_AccessMode_SINGLE_NODE_SINGLE_WRITER,
+ csi.VolumeCapability_AccessMode_SINGLE_NODE_MULTI_WRITER,
}
gceDriver.AddVolumeCapabilityAccessModes(vcam)
csc := []csi.ControllerServiceCapability_RPC_Type{
@@ -67,12 +69,14 @@ func (gceDriver *GCEDriver) SetupGCEDriver(name, vendorVersion string, extraVolu
csi.ControllerServiceCapability_RPC_EXPAND_VOLUME,
csi.ControllerServiceCapability_RPC_LIST_VOLUMES,
csi.ControllerServiceCapability_RPC_LIST_VOLUMES_PUBLISHED_NODES,
+ csi.ControllerServiceCapability_RPC_SINGLE_NODE_MULTI_WRITER,
}
gceDriver.AddControllerServiceCapabilities(csc)
ns := []csi.NodeServiceCapability_RPC_Type{
csi.NodeServiceCapability_RPC_STAGE_UNSTAGE_VOLUME,
csi.NodeServiceCapability_RPC_EXPAND_VOLUME,
csi.NodeServiceCapability_RPC_GET_VOLUME_STATS,
+ csi.NodeServiceCapability_RPC_SINGLE_NODE_MULTI_WRITER,
}
gceDriver.AddNodeServiceCapabilities(ns)
```
### Implement `NodePublishVolume` behavior
The CSI spec outlines expected behavior for the `NodePublishVolume` RPC when called more than once for the same volume but with different arguments (like the target path).
Please refer to [the second table in the NodePublishVolume section of the CSI spec](https://github.com/container-storage-interface/spec/blob/v1.5.0/spec.md#nodepublishvolume) for more details on expected behavior when implementing in your driver.
### Update your CSI sidecars
When deploying your CSI drivers, you must update the following CSI sidecars to versions that depend on CSI spec v1.5.0+ and the Kubernetes v1.22 API.
The minimum required versions are:
- [csi-provisioner:v3.0.0+](https://github.com/kubernetes-csi/external-provisioner/releases/tag/v3.0.0)
- [csi-attacher:v3.3.0+](https://github.com/kubernetes-csi/external-attacher/releases/tag/v3.3.0)
- [csi-resizer:v1.3.0+](https://github.com/kubernetes-csi/external-resizer/releases/tag/v1.3.0)
## Whats next?
As part of the beta graduation for this feature, SIG Storage plans to update the Kubenetes scheduler to support pod preemption in relation to ReadWriteOncePod storage.
This means if two pods request a PersistentVolumeClaim with ReadWriteOncePod, the pod with highest priority will gain access to the PersistentVolumeClaim and any pod with lower priority will be preempted from the node and be unable to access the PersistentVolumeClaim.
## How can I learn more?
Please see [KEP-2485](https://github.com/kubernetes/enhancements/blob/master/keps/sig-storage/2485-read-write-once-pod-pv-access-mode/README.md) for more details on the ReadWriteOncePod access mode and motivations for CSI spec changes.
## How do I get involved?
The [Kubernetes #csi Slack channel](https://kubernetes.slack.com/messages/csi) and any of the [standard SIG Storage communication channels](https://github.com/kubernetes/community/blob/master/sig-storage/README.md#contact) are great mediums to reach out to the SIG Storage and the CSI teams.
Special thanks to the following people for their insightful reviews and design considerations:
* Abdullah Gharaibeh (ahg-g)
* Aldo Culquicondor (alculquicondor)
* Ben Swartzlander (bswartz)
* Deep Debroy (ddebroy)
* Hemant Kumar (gnufied)
* Humble Devassy Chirammal (humblec)
* James DeFelice (jdef)
* Jan Šafránek (jsafrane)
* Jing Xu (jingxu97)
* Jordan Liggitt (liggitt)
* Michelle Au (msau42)
* Saad Ali (saad-ali)
* Tim Hockin (thockin)
* Xing Yang (xing-yang)
If youre interested in getting involved with the design and development of CSI or any part of the Kubernetes storage system, join the [Kubernetes Storage Special Interest Group](https://github.com/kubernetes/community/tree/master/sig-storage) (SIG).
Were rapidly growing and always welcome new contributors.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

+1 -1
View File
@@ -13,7 +13,7 @@ cid: community
<div class="intro">
<br class="mobile">
<p>The Kubernetes community -- users, contributors, and the culture we've built together -- is one of the biggest reasons for the meteoric rise of this open source project. Our culture and values continue to grow and change as the project itself grows and changes. We all work together toward constant improvement of the project and the ways we work on it.
<br><br>We are the people who file issues and pull requests, attend SIG meetings, Kubernetes meetups, and KubeCon, advocate for it's adoption and innovation, run <code>kubectl get pods</code>, and contribute in a thousand other vital ways. Read on to learn how you can get involved and become part of this amazing community.</p>
<br><br>We are the people who file issues and pull requests, attend SIG meetings, Kubernetes meetups, and KubeCon, advocate for its adoption and innovation, run <code>kubectl get pods</code>, and contribute in a thousand other vital ways. Read on to learn how you can get involved and become part of this amazing community.</p>
<br class="mobile">
</div>
View File
@@ -210,7 +210,7 @@ To upgrade a HA control plane to use the cloud controller manager, see [Migrate
Want to know how to implement your own cloud controller manager, or extend an existing project?
The cloud controller manager uses Go interfaces to allow implementations from any cloud to be plugged in. Specifically, it uses the `CloudProvider` interface defined in [`cloud.go`](https://github.com/kubernetes/cloud-provider/blob/release-1.17/cloud.go#L42-L62) from [kubernetes/cloud-provider](https://github.com/kubernetes/cloud-provider).
The cloud controller manager uses Go interfaces to allow implementations from any cloud to be plugged in. Specifically, it uses the `CloudProvider` interface defined in [`cloud.go`](https://github.com/kubernetes/cloud-provider/blob/release-1.21/cloud.go#L42-L69) from [kubernetes/cloud-provider](https://github.com/kubernetes/cloud-provider).
The implementation of the shared controllers highlighted in this document (Node, Route, and Service), and some scaffolding along with the shared cloudprovider interface, is part of the Kubernetes core. Implementations specific to cloud providers are outside the core of Kubernetes and implement the `CloudProvider` interface.
@@ -159,11 +159,12 @@ You can run your own controller as a set of Pods,
or externally to Kubernetes. What fits best will depend on what that particular
controller does.
## {{% heading "whatsnext" %}}
* Read about the [Kubernetes control plane](/docs/concepts/overview/components/#control-plane-components)
* Discover some of the basic [Kubernetes objects](/docs/concepts/overview/working-with-objects/kubernetes-objects/)
* Learn more about the [Kubernetes API](/docs/concepts/overview/kubernetes-api/)
* If you want to write your own controller, see [Extension Patterns](/docs/concepts/extend-kubernetes/extend-cluster/#extension-patterns) in Extending Kubernetes.
* If you want to write your own controller, see
[Extension Patterns](/docs/concepts/extend-kubernetes/#extension-patterns)
in Extending Kubernetes.
@@ -0,0 +1,182 @@
---
title: Garbage Collection
content_type: concept
weight: 50
---
<!-- overview -->
{{<glossary_definition term_id="garbage-collection" length="short">}} This
allows the clean up of resources like the following:
* [Failed pods](/docs/concepts/workloads/pods/pod-lifecycle/#pod-garbage-collection)
* [Completed Jobs](/docs/concepts/workloads/controllers/ttlafterfinished/)
* [Objects without owner references](#owners-dependents)
* [Unused containers and container images](#containers-images)
* [Dynamically provisioned PersistentVolumes with a StorageClass reclaim policy of Delete](/docs/concepts/storage/persistent-volumes/#delete)
* [Stale or expired CertificateSigningRequests (CSRs)](/reference/access-authn-authz/certificate-signing-requests/#request-signing-process)
* {{<glossary_tooltip text="Nodes" term_id="node">}} deleted in the following scenarios:
* On a cloud when the cluster uses a [cloud controller manager](/docs/concepts/architecture/cloud-controller/)
* On-premises when the cluster uses an addon similar to a cloud controller
manager
* [Node Lease objects](/docs/concepts/architecture/nodes/#heartbeats)
## Owners and dependents {#owners-dependents}
Many objects in Kubernetes link to each other through [*owner references*](/docs/concepts/overview/working-with-objects/owners-dependents/).
Owner references tell the control plane which objects are dependent on others.
Kubernetes uses owner references to give the control plane, and other API
clients, the opportunity to clean up related resources before deleting an
object. In most cases, Kubernetes manages owner references automatically.
Ownership is different from the [labels and selectors](/docs/concepts/overview/working-with-objects/labels/)
mechanism that some resources also use. For example, consider a
{{<glossary_tooltip text="Service" term_id="service">}} that creates
`EndpointSlice` objects. The Service uses *labels* to allow the control plane to
determine which `EndpointSlice` objects are used for that Service. In addition
to the labels, each `EndpointSlice` that is managed on behalf of a Service has
an owner reference. Owner references help different parts of Kubernetes avoid
interfering with objects they dont control.
{{< note >}}
Cross-namespace owner references are disallowed by design.
Namespaced dependents can specify cluster-scoped or namespaced owners.
A namespaced owner **must** exist in the same namespace as the dependent.
If it does not, the owner reference is treated as absent, and the dependent
is subject to deletion once all owners are verified absent.
Cluster-scoped dependents can only specify cluster-scoped owners.
In v1.20+, if a cluster-scoped dependent specifies a namespaced kind as an owner,
it is treated as having an unresolvable owner reference, and is not able to be garbage collected.
In v1.20+, if the garbage collector detects an invalid cross-namespace `ownerReference`,
or a cluster-scoped dependent with an `ownerReference` referencing a namespaced kind, a warning Event
with a reason of `OwnerRefInvalidNamespace` and an `involvedObject` of the invalid dependent is reported.
You can check for that kind of Event by running
`kubectl get events -A --field-selector=reason=OwnerRefInvalidNamespace`.
{{< /note >}}
## Cascading deletion {#cascading-deletion}
Kubernetes checks for and deletes objects that no longer have owner
references, like the pods left behind when you delete a ReplicaSet. When you
delete an object, you can control whether Kubernetes deletes the object's
dependents automatically, in a process called *cascading deletion*. There are
two types of cascading deletion, as follows:
* Foreground cascading deletion
* Background cascading deletion
You can also control how and when garbage collection deletes resources that have
owner references using Kubernetes {{<glossary_tooltip text="finalizers" term_id="finalizer">}}.
### Foreground cascading deletion {#foreground-deletion}
In foreground cascading deletion, the owner object you're deleting first enters
a *deletion in progress* state. In this state, the following happens to the
owner object:
* The Kubernetes API server sets the object's `metadata.deletionTimestamp`
field to the time the object was marked for deletion.
* The Kubernetes API server also sets the `metadata.finalizers` field to
`foregroundDeletion`.
* The object remains visible through the Kubernetes API until the deletion
process is complete.
After the owner object enters the deletion in progress state, the controller
deletes the dependents. After deleting all the dependent objects, the controller
deletes the owner object. At this point, the object is no longer visible in the
Kubernetes API.
During foreground cascading deletion, the only dependents that block owner
deletion are those that have the `ownerReference.blockOwnerDeletion=true` field.
See [Use foreground cascading deletion](/docs/tasks/administer-cluster/use-cascading-deletion/#use-foreground-cascading-deletion)
to learn more.
### Background cascading deletion {#background-deletion}
In background cascading deletion, the Kubernetes API server deletes the owner
object immediately and the controller cleans up the dependent objects in
the background. By default, Kubernetes uses background cascading deletion unless
you manually use foreground deletion or choose to orphan the dependent objects.
See [Use background cascading deletion](/docs/tasks/administer-cluster/use-cascading-deletion/#use-background-cascading-deletion)
to learn more.
### Orphaned dependents
When Kubernetes deletes an owner object, the dependents left behind are called
*orphan* objects. By default, Kubernetes deletes dependent objects. To learn how
to override this behaviour, see [Delete owner objects and orphan dependents](/docs/tasks/administer-cluster/use-cascading-deletion/#set-orphan-deletion-policy).
## Garbage collection of unused containers and images {#containers-images}
The {{<glossary_tooltip text="kubelet" term_id="kubelet">}} performs garbage
collection on unused images every five minutes and on unused containers every
minute. You should avoid using external garbage collection tools, as these can
break the kubelet behavior and remove containers that should exist.
To configure options for unused container and image garbage collection, tune the
kubelet using a [configuration file](/docs/tasks/administer-cluster/kubelet-config-file/)
and change the parameters related to garbage collection using the
[`KubeletConfiguration`](/docs/reference/config-api/kubelet-config.v1beta1/#kubelet-config-k8s-io-v1beta1-KubeletConfiguration)
resource type.
### Container image lifecycle
Kubernetes manages the lifecycle of all images through its *image manager*,
which is part of the kubelet, with the cooperation of cadvisor. The kubelet
considers the following disk usage limits when making garbage collection
decisions:
* `HighThresholdPercent`
* `LowThresholdPercent`
Disk usage above the configured `HighThresholdPercent` value triggers garbage
collection, which deletes images in order based on the last time they were used,
starting with the oldest first. The kubelet deletes images
until disk usage reaches the `LowThresholdPercent` value.
### Container image garbage collection {#container-image-garbage-collection}
The kubelet garbage collects unused containers based on the following variables,
which you can define:
* `MinAge`: the minimum age at which the kubelet can garbage collect a
container. Disable by setting to `0`.
* `MaxPerPodContainer`: the maximum number of dead containers each Pod pair
can have. Disable by setting to less than `0`.
* `MaxContainers`: the maximum number of dead containers the cluster can have.
Disable by setting to less than `0`.
In addition to these variables, the kubelet garbage collects unidentified and
deleted containers, typically starting with the oldest first.
`MaxPerPodContainer` and `MaxContainer` may potentially conflict with each other
in situations where retaining the maximum number of containers per Pod
(`MaxPerPodContainer`) would go outside the allowable total of global dead
containers (`MaxContainers`). In this situation, the kubelet adjusts
`MaxPodPerContainer` to address the conflict. A worst-case scenario would be to
downgrade `MaxPerPodContainer` to `1` and evict the oldest containers.
Additionally, containers owned by pods that have been deleted are removed once
they are older than `MinAge`.
{{<note>}}
The kubelet only garbage collects the containers it manages.
{{</note>}}
## Configuring garbage collection {#configuring-gc}
You can tune garbage collection of resources by configuring options specific to
the controllers managing those resources. The following pages show you how to
configure garbage collection:
* [Configuring cascading deletion of Kubernetes objects](/docs/tasks/administer-cluster/use-cascading-deletion/)
* [Configuring cleanup of finished Jobs](/docs/concepts/workloads/controllers/ttlafterfinished/)
<!-- * [Configuring unused container and image garbage collection](/docs/tasks/administer-cluster/reconfigure-kubelet/) -->
## {{% heading "whatsnext" %}}
* Learn more about [ownership of Kubernetes objects](/docs/concepts/overview/working-with-objects/owners-dependents/).
* Learn more about Kubernetes [finalizers](/docs/concepts/overview/working-with-objects/finalizers/).
* Learn about the [TTL controller](/docs/concepts/workloads/controllers/ttlafterfinished/) (beta) that cleans up finished Jobs.
+136 -48
View File
@@ -14,7 +14,7 @@ A node may be a virtual or physical machine, depending on the cluster. Each node
is managed by the
{{< glossary_tooltip text="control plane" term_id="control-plane" >}}
and contains the services necessary to run
{{< glossary_tooltip text="Pods" term_id="pod" >}}
{{< glossary_tooltip text="Pods" term_id="pod" >}}.
Typically you have several nodes in a cluster; in a learning or resource-limited
environment, you might have only one node.
@@ -122,6 +122,9 @@ To mark a Node unschedulable, run:
kubectl cordon $NODENAME
```
See [Safely Drain a Node](/docs/tasks/administer-cluster/safely-drain-node/)
for more details.
{{< note >}}
Pods that are part of a {{< glossary_tooltip term_id="daemonset" >}} tolerate
being run on an unschedulable Node. DaemonSets typically provide node-local services
@@ -162,8 +165,8 @@ The `conditions` field describes the status of all `Running` nodes. Examples of
| Node Condition | Description |
|----------------------|-------------|
| `Ready` | `True` if the node is healthy and ready to accept pods, `False` if the node is not healthy and is not accepting pods, and `Unknown` if the node controller has not heard from the node in the last `node-monitor-grace-period` (default is 40 seconds) |
| `DiskPressure` | `True` if pressure exists on the disk size--that is, if the disk capacity is low; otherwise `False` |
| `MemoryPressure` | `True` if pressure exists on the node memory--that is, if the node memory is low; otherwise `False` |
| `DiskPressure` | `True` if pressure exists on the disk sizethat is, if the disk capacity is low; otherwise `False` |
| `MemoryPressure` | `True` if pressure exists on the node memorythat is, if the node memory is low; otherwise `False` |
| `PIDPressure` | `True` if pressure exists on the processes—that is, if there are too many processes on the node; otherwise `False` |
| `NetworkUnavailable` | `True` if the network for the node is not correctly configured, otherwise `False` |
{{< /table >}}
@@ -174,7 +177,8 @@ If you use command-line tools to print details of a cordoned Node, the Condition
cordoned nodes are marked Unschedulable in their spec.
{{< /note >}}
The node condition is represented as a JSON object. For example, the following structure describes a healthy node:
In the Kubernetes API, a node's condition is represented as part of the `.status`
of the Node resource. For example, the following JSON structure describes a healthy node:
```json
"conditions": [
@@ -189,7 +193,17 @@ The node condition is represented as a JSON object. For example, the following s
]
```
If the Status of the Ready condition remains `Unknown` or `False` for longer than the `pod-eviction-timeout` (an argument passed to the {{< glossary_tooltip text="kube-controller-manager" term_id="kube-controller-manager" >}}), then all the Pods on the node are scheduled for deletion by the node controller. The default eviction timeout duration is **five minutes**. In some cases when the node is unreachable, the API server is unable to communicate with the kubelet on the node. The decision to delete the pods cannot be communicated to the kubelet until communication with the API server is re-established. In the meantime, the pods that are scheduled for deletion may continue to run on the partitioned node.
If the `status` of the Ready condition remains `Unknown` or `False` for longer
than the `pod-eviction-timeout` (an argument passed to the
{{< glossary_tooltip text="kube-controller-manager" term_id="kube-controller-manager"
>}}), then the [node controller](#node-controller) triggers
{{< glossary_tooltip text="API-initiated eviction" term_id="api-eviction" >}}
for all Pods assigned to that node. The default eviction timeout duration is
**five minutes**.
In some cases when the node is unreachable, the API server is unable to communicate
with the kubelet on the node. The decision to delete the pods cannot be communicated to
the kubelet until communication with the API server is re-established. In the meantime,
the pods that are scheduled for deletion may continue to run on the partitioned node.
The node controller does not force delete pods until it is confirmed that they have stopped
running in the cluster. You can see the pods that might be running on an unreachable node as
@@ -199,10 +213,12 @@ may need to delete the node object by hand. Deleting the node object from Kubern
all the Pod objects running on the node to be deleted from the API server and frees up their
names.
The node lifecycle controller automatically creates
[taints](/docs/concepts/scheduling-eviction/taint-and-toleration/) that represent conditions.
When problems occur on nodes, the Kubernetes control plane automatically creates
[taints](/docs/concepts/scheduling-eviction/taint-and-toleration/) that match the conditions
affecting the node.
The scheduler takes the Node's taints into consideration when assigning a Pod to a Node.
Pods can also have tolerations which let them tolerate a Node's taints.
Pods can also have {{< glossary_tooltip text="tolerations" term_id="toleration" >}} that let
them run on a Node even though it has a specific taint.
See [Taint Nodes by Condition](/docs/concepts/scheduling-eviction/taint-and-toleration/#taint-nodes-by-condition)
for more details.
@@ -222,10 +238,43 @@ on a Node.
### Info
Describes general information about the node, such as kernel version, Kubernetes version (kubelet and kube-proxy version), Docker version (if used), and OS name.
This information is gathered by Kubelet from the node.
Describes general information about the node, such as kernel version, Kubernetes
version (kubelet and kube-proxy version), container runtime details, and which
operating system the node uses.
The kubelet gathers this information from the node and publishes it into
the Kubernetes API.
### Node controller
## Heartbeats
Heartbeats, sent by Kubernetes nodes, help your cluster determine the
availability of each node, and to take action when failures are detected.
For nodes there are two forms of heartbeats:
* updates to the `.status` of a Node
* [Lease](/docs/reference/kubernetes-api/cluster-resources/lease-v1/) objects
within the `kube-node-lease`
{{< glossary_tooltip term_id="namespace" text="namespace">}}.
Each Node has an associated Lease object.
Compared to updates to `.status` of a Node, a Lease is a lightweight resource.
Using Leases for heartbeats reduces the performance impact of these updates
for large clusters.
The kubelet is responsible for creating and updating the `.status` of Nodes,
and for updating their related Leases.
- The kubelet updates the node's `.status` either when there is change in status
or if there has been no update for a configured interval. The default interval
for `.status` updates to Nodes is 5 minutes, which is much longer than the 40
second default timeout for unreachable nodes.
- The kubelet creates and then updates its Lease object every 10 seconds
(the default update interval). Lease updates occur independently from
updates to the Node's `.status`. If the Lease update fails, the kubelet retries,
using exponential backoff that starts at 200 milliseconds and capped at 7 seconds.
## Node controller
The node {{< glossary_tooltip text="controller" term_id="controller" >}} is a
Kubernetes control plane component that manages various aspects of nodes.
@@ -241,39 +290,18 @@ controller deletes the node from its list of nodes.
The third is monitoring the nodes' health. The node controller is
responsible for:
- Updating the NodeReady condition of NodeStatus to ConditionUnknown when a node
becomes unreachable, as the node controller stops receiving heartbeats for some
reason such as the node being down.
- Evicting all the pods from the node using graceful termination if
the node continues to be unreachable. The default timeouts are 40s to start
reporting ConditionUnknown and 5m after that to start evicting pods.
- In the case that a node becomes unreachable, updating the NodeReady condition
of within the Node's `.status`. In this case the node controller sets the
NodeReady condition to `ConditionUnknown`.
- If a node remains unreachable: triggering
[API-initiated eviction](/docs/concepts/scheduling-eviction/api-eviction/)
for all of the Pods on the unreachable node. By default, the node controller
waits 5 minutes between marking the node as `ConditionUnknown` and submitting
the first eviction request.
The node controller checks the state of each node every `--node-monitor-period` seconds.
#### Heartbeats
Heartbeats, sent by Kubernetes nodes, help determine the availability of a node.
There are two forms of heartbeats: updates of `NodeStatus` and the
[Lease object](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#lease-v1-coordination-k8s-io).
Each Node has an associated Lease object in the `kube-node-lease`
{{< glossary_tooltip term_id="namespace" text="namespace">}}.
Lease is a lightweight resource, which improves the performance
of the node heartbeats as the cluster scales.
The kubelet is responsible for creating and updating the `NodeStatus` and
a Lease object.
- The kubelet updates the `NodeStatus` either when there is change in status
or if there has been no update for a configured interval. The default interval
for `NodeStatus` updates is 5 minutes, which is much longer than the 40 second default
timeout for unreachable nodes.
- The kubelet creates and then updates its Lease object every 10 seconds
(the default update interval). Lease updates occur independently from the
`NodeStatus` updates. If the Lease update fails, the kubelet retries with
exponential backoff starting at 200 milliseconds and capped at 7 seconds.
#### Reliability
### Rate limits on eviction
In most cases, the node controller limits the eviction rate to
`--node-eviction-rate` (default 0.1) per second, meaning it won't evict pods
@@ -281,9 +309,9 @@ from more than 1 node per 10 seconds.
The node eviction behavior changes when a node in a given availability zone
becomes unhealthy. The node controller checks what percentage of nodes in the zone
are unhealthy (NodeReady condition is ConditionUnknown or ConditionFalse) at
are unhealthy (NodeReady condition is `ConditionUnknown` or `ConditionFalse`) at
the same time:
- If the fraction of unhealthy nodes is at least `--unhealthy-zone-threshold`
- If the fraction of unhealthy nodes is at least `--unhealthy-zone-threshold`
(default 0.55), then the eviction rate is reduced.
- If the cluster is small (i.e. has less than or equal to
`--large-cluster-size-threshold` nodes - default 50), then evictions are stopped.
@@ -293,15 +321,17 @@ the same time:
The reason these policies are implemented per availability zone is because one
availability zone might become partitioned from the master while the others remain
connected. If your cluster does not span multiple cloud provider availability zones,
then there is only one availability zone (i.e. the whole cluster).
then the eviction mechanism does not take per-zone unavailability into account.
A key reason for spreading your nodes across availability zones is so that the
workload can be shifted to healthy zones when one entire zone goes down.
Therefore, if all nodes in a zone are unhealthy, then the node controller evicts at
the normal rate of `--node-eviction-rate`. The corner case is when all zones are
completely unhealthy (i.e. there are no healthy nodes in the cluster). In such a
case, the node controller assumes that there is some problem with master
connectivity and stops all evictions until some connectivity is restored.
completely unhealthy (none of the nodes in the cluster are healthy). In such a
case, the node controller assumes that there is some problem with connectivity
between the control plane and the nodes, and doesn't perform any evictions.
(If there has been an outage and some nodes reappear, the node controller does
evict pods from the remaining nodes that are unhealthy or unreachable).
The node controller is also responsible for evicting pods running on nodes with
`NoExecute` taints, unless those pods tolerate that taint.
@@ -309,7 +339,7 @@ The node controller also adds {{< glossary_tooltip text="taints" term_id="taint"
corresponding to node problems like node unreachable or not ready. This means
that the scheduler won't place Pods onto unhealthy nodes.
### Node capacity
## Resource capacity tracking {#node-capacity}
Node objects track information about the Node's resource capacity: for example, the amount
of memory available and the number of CPUs.
@@ -377,6 +407,64 @@ For example, if `ShutdownGracePeriod=30s`, and
for gracefully terminating normal pods, and the last 10 seconds would be
reserved for terminating [critical pods](/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/#marking-pod-as-critical).
{{< note >}}
When pods were evicted during the graceful node shutdown, they are marked as failed.
Running `kubectl get pods` shows the status of the the evicted pods as `Shutdown`.
And `kubectl describe pod` indicates that the pod was evicted because of node shutdown:
```
Status: Failed
Reason: Shutdown
Message: Node is shutting, evicting pods
```
Failed pod objects will be preserved until explicitly deleted or [cleaned up by the GC](/docs/concepts/workloads/pods/pod-lifecycle/#pod-garbage-collection).
This is a change of behavior compared to abrupt node termination.
{{< /note >}}
## Swap memory management {#swap-memory}
{{< feature-state state="alpha" for_k8s_version="v1.22" >}}
Prior to Kubernetes 1.22, nodes did not support the use of swap memory, and a
kubelet would by default fail to start if swap was detected on a node. In 1.22
onwards, swap memory support can be enabled on a per-node basis.
To enable swap on a node, the `NodeSwap` feature gate must be enabled on
the kubelet, and the `--fail-swap-on` command line flag or `failSwapOn`
[configuration setting](/docs/reference/config-api/kubelet-config.v1beta1/#kubelet-config-k8s-io-v1beta1-KubeletConfiguration)
must be set to false.
A user can also optionally configure `memorySwap.swapBehavior` in order to
specify how a node will use swap memory. For example,
```yaml
memorySwap:
swapBehavior: LimitedSwap
```
The available configuration options for `swapBehavior` are:
- `LimitedSwap`: Kubernetes workloads are limited in how much swap they can
use. Workloads on the node not managed by Kubernetes can still swap.
- `UnlimitedSwap`: Kubernetes workloads can use as much swap memory as they
request, up to the system limit.
If configuration for `memorySwap` is not specified and the feature gate is
enabled, by default the kubelet will apply the same behaviour as the
`LimitedSwap` setting.
The behaviour of the `LimitedSwap` setting depends if the node is running with
v1 or v2 of control groups (also known as "cgroups"):
- **cgroupsv1:** Kubernetes workloads can use any combination of memory and
swap, up to the pod's memory limit, if set.
- **cgroupsv2:** Kubernetes workloads cannot use swap memory.
For more information, and to assist with testing and provide feedback, please
see [KEP-2400](https://github.com/kubernetes/enhancements/issues/2400) and its
[design proposal](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/2400-node-swap/README.md).
## {{% heading "whatsnext" %}}
* Learn about the [components](/docs/concepts/overview/components/#node-components) that make up a node.
@@ -33,8 +33,6 @@ the `--max-requests-inflight` flag without the API Priority and
Fairness feature enabled.
{{< /caution >}}
<!-- body -->
## Enabling/Disabling API Priority and Fairness
@@ -65,6 +63,7 @@ The command-line flag `--enable-priority-and-fairness=false` will disable the
API Priority and Fairness feature, even if other flags have enabled it.
## Concepts
There are several distinct features involved in the API Priority and Fairness
feature. Incoming requests are classified by attributes of the request using
_FlowSchemas_, and assigned to priority levels. Priority levels add a degree of
@@ -75,12 +74,13 @@ each other, and allows for requests to be queued to prevent bursty traffic from
causing failed requests when the average load is acceptably low.
### Priority Levels
Without APF enabled, overall concurrency in
the API server is limited by the `kube-apiserver` flags
`--max-requests-inflight` and `--max-mutating-requests-inflight`. With APF
enabled, the concurrency limits defined by these flags are summed and then the sum is divided up
among a configurable set of _priority levels_. Each incoming request is assigned
to a single priority level, and each priority level will only dispatch as many
Without APF enabled, overall concurrency in the API server is limited by the
`kube-apiserver` flags `--max-requests-inflight` and
`--max-mutating-requests-inflight`. With APF enabled, the concurrency limits
defined by these flags are summed and then the sum is divided up among a
configurable set of _priority levels_. Each incoming request is assigned to a
single priority level, and each priority level will only dispatch as many
concurrent requests as its configuration allows.
The default configuration, for example, includes separate priority levels for
@@ -90,6 +90,7 @@ requests cannot prevent leader election or actions by the built-in controllers
from succeeding.
### Queuing
Even within a priority level there may be a large number of distinct sources of
traffic. In an overload situation, it is valuable to prevent one stream of
requests from starving others (in particular, in the relatively common case of a
@@ -114,15 +115,18 @@ independent flows will all make progress when total traffic exceeds capacity),
tolerance for bursty traffic, and the added latency induced by queuing.
### Exempt requests
Some requests are considered sufficiently important that they are not subject to
any of the limitations imposed by this feature. These exemptions prevent an
improperly-configured flow control configuration from totally disabling an API
server.
## Defaults
The Priority and Fairness feature ships with a suggested configuration that
should suffice for experimentation; if your cluster is likely to
experience heavy load then you should consider what configuration will work best. The suggested configuration groups requests into five priority
experience heavy load then you should consider what configuration will work
best. The suggested configuration groups requests into five priority
classes:
* The `system` priority level is for requests from the `system:nodes` group,
@@ -180,19 +184,18 @@ If you add the following additional FlowSchema, this exempts those
requests from rate limiting.
{{< caution >}}
Making this change also allows any hostile party to then send
health-check requests that match this FlowSchema, at any volume they
like. If you have a web traffic filter or similar external security
mechanism to protect your cluster's API server from general internet
traffic, you can configure rules to block any health check requests
that originate from outside your cluster.
{{< /caution >}}
{{< codenew file="priority-and-fairness/health-for-strangers.yaml" >}}
## Resources
The flow control API involves two kinds of resources.
[PriorityLevelConfigurations](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#prioritylevelconfiguration-v1beta1-flowcontrol-apiserver-k8s-io)
define the available isolation classes, the share of the available concurrency
@@ -204,6 +207,7 @@ of the same API group, and it has the same Kinds with the same syntax and
semantics.
### PriorityLevelConfiguration
A PriorityLevelConfiguration represents a single isolation class. Each
PriorityLevelConfiguration has an independent limit on the number of outstanding
requests, and limitations on the number of queued requests.
@@ -217,6 +221,7 @@ server by restarting `kube-apiserver` with a different value for
`--max-requests-inflight` (or `--max-mutating-requests-inflight`), and all
PriorityLevelConfigurations will see their maximum allowed concurrency go up (or
down) by the same fraction.
{{< caution >}}
With the Priority and Fairness feature enabled, the total concurrency limit for
the server is set to the sum of `--max-requests-inflight` and
@@ -235,8 +240,8 @@ above the threshold will be queued, with the shuffle sharding and fair queuing t
to balance progress between request flows.
The queuing configuration allows tuning the fair queuing algorithm for a
priority level. Details of the algorithm can be read in the [enhancement
proposal](#whats-next), but in short:
priority level. Details of the algorithm can be read in the
[enhancement proposal](#whats-next), but in short:
* Increasing `queues` reduces the rate of collisions between different flows, at
the cost of increased memory usage. A value of 1 here effectively disables the
@@ -249,15 +254,15 @@ proposal](#whats-next), but in short:
* Changing `handSize` allows you to adjust the probability of collisions between
different flows and the overall concurrency available to a single flow in an
overload situation.
{{< note >}}
A larger `handSize` makes it less likely for two individual flows to collide
(and therefore for one to be able to starve the other), but more likely that
a small number of flows can dominate the apiserver. A larger `handSize` also
potentially increases the amount of latency that a single high-traffic flow
can cause. The maximum number of queued requests possible from a
single flow is `handSize * queueLengthLimit`.
{{< /note >}}
{{< note >}}
A larger `handSize` makes it less likely for two individual flows to collide
(and therefore for one to be able to starve the other), but more likely that
a small number of flows can dominate the apiserver. A larger `handSize` also
potentially increases the amount of latency that a single high-traffic flow
can cause. The maximum number of queued requests possible from a
single flow is `handSize * queueLengthLimit`.
{{< /note >}}
Following is a table showing an interesting collection of shuffle
sharding configurations, showing for each the probability that a
@@ -319,6 +324,7 @@ considered part of a single flow. The correct choice for a given FlowSchema
depends on the resource and your particular environment.
## Diagnostics
Every HTTP response from an API server with the priority and fairness feature
enabled has two extra headers: `X-Kubernetes-PF-FlowSchema-UID` and
`X-Kubernetes-PF-PriorityLevel-UID`, noting the flow schema that matched the request
@@ -356,13 +362,14 @@ poorly-behaved workloads that may be harming system health.
matched the request), `priority_level` (indicating the one to which
the request was assigned), and `reason`. The `reason` label will be
have one of the following values:
* `queue-full`, indicating that too many requests were already
queued,
* `concurrency-limit`, indicating that the
PriorityLevelConfiguration is configured to reject rather than
queue excess requests, or
* `time-out`, indicating that the request was still in the queue
when its queuing time limit expired.
* `queue-full`, indicating that too many requests were already
queued,
* `concurrency-limit`, indicating that the
PriorityLevelConfiguration is configured to reject rather than
queue excess requests, or
* `time-out`, indicating that the request was still in the queue
when its queuing time limit expired.
* `apiserver_flowcontrol_dispatched_requests_total` is a counter
vector (cumulative since server start) of requests that began
@@ -405,6 +412,10 @@ poorly-behaved workloads that may be harming system health.
queue) requests, broken down by the labels `priority_level` and
`flow_schema`.
* `apiserver_flowcontrol_request_concurrency_in_use` is a gauge vector
holding the instantaneous number of occupied seats, broken down by
the labels `priority_level` and `flow_schema`.
* `apiserver_flowcontrol_priority_level_request_count_samples` is a
histogram vector of observations of the then-current number of
requests broken down by the labels `phase` (which takes on the
@@ -430,14 +441,15 @@ poorly-behaved workloads that may be harming system health.
sample to its histogram, reporting the length of the queue immediately
after the request was added. Note that this produces different
statistics than an unbiased survey would.
{{< note >}}
An outlier value in a histogram here means it is likely that a single flow
(i.e., requests by one user or for one namespace, depending on
configuration) is flooding the API server, and being throttled. By contrast,
if one priority level's histogram shows that all queues for that priority
level are longer than those for other priority levels, it may be appropriate
to increase that PriorityLevelConfiguration's concurrency shares.
{{< /note >}}
{{< note >}}
An outlier value in a histogram here means it is likely that a single flow
(i.e., requests by one user or for one namespace, depending on
configuration) is flooding the API server, and being throttled. By contrast,
if one priority level's histogram shows that all queues for that priority
level are longer than those for other priority levels, it may be appropriate
to increase that PriorityLevelConfiguration's concurrency shares.
{{< /note >}}
* `apiserver_flowcontrol_request_concurrency_limit` is a gauge vector
holding the computed concurrency limit (based on the API server's
@@ -450,12 +462,13 @@ poorly-behaved workloads that may be harming system health.
`priority_level` (indicating the one to which the request was
assigned), and `execute` (indicating whether the request started
executing).
{{< note >}}
Since each FlowSchema always assigns requests to a single
PriorityLevelConfiguration, you can add the histograms for all the
FlowSchemas for one priority level to get the effective histogram for
requests assigned to that priority level.
{{< /note >}}
{{< note >}}
Since each FlowSchema always assigns requests to a single
PriorityLevelConfiguration, you can add the histograms for all the
FlowSchemas for one priority level to get the effective histogram for
requests assigned to that priority level.
{{< /note >}}
* `apiserver_flowcontrol_request_execution_seconds` is a histogram
vector of how long requests took to actually execute, broken down by
@@ -465,14 +478,19 @@ poorly-behaved workloads that may be harming system health.
### Debug endpoints
When you enable the API Priority and Fairness feature, the kube-apiserver serves the following additional paths at its HTTP[S] ports.
When you enable the API Priority and Fairness feature, the `kube-apiserver`
serves the following additional paths at its HTTP[S] ports.
- `/debug/api_priority_and_fairness/dump_priority_levels` - a listing of
all the priority levels and the current state of each. You can fetch like this:
- `/debug/api_priority_and_fairness/dump_priority_levels` - a listing of all the priority levels and the current state of each. You can fetch like this:
```shell
kubectl get --raw /debug/api_priority_and_fairness/dump_priority_levels
```
The output is similar to this:
```
```none
PriorityLevelName, ActiveQueues, IsIdle, IsQuiescing, WaitingRequests, ExecutingRequests,
workload-low, 0, true, false, 0, 0,
global-default, 0, true, false, 0, 0,
@@ -483,12 +501,16 @@ When you enable the API Priority and Fairness feature, the kube-apiserver serves
workload-high, 0, true, false, 0, 0,
```
- `/debug/api_priority_and_fairness/dump_queues` - a listing of all the queues and their current state. You can fetch like this:
- `/debug/api_priority_and_fairness/dump_queues` - a listing of all the
queues and their current state. You can fetch like this:
```shell
kubectl get --raw /debug/api_priority_and_fairness/dump_queues
```
The output is similar to this:
```
```none
PriorityLevelName, Index, PendingRequests, ExecutingRequests, VirtualStart,
workload-high, 0, 0, 0, 0.0000,
workload-high, 1, 0, 0, 0.0000,
@@ -498,25 +520,33 @@ When you enable the API Priority and Fairness feature, the kube-apiserver serves
leader-election, 15, 0, 0, 0.0000,
```
- `/debug/api_priority_and_fairness/dump_requests` - a listing of all the requests that are currently waiting in a queue. You can fetch like this:
- `/debug/api_priority_and_fairness/dump_requests` - a listing of all the requests
that are currently waiting in a queue. You can fetch like this:
```shell
kubectl get --raw /debug/api_priority_and_fairness/dump_requests
```
The output is similar to this:
```
```none
PriorityLevelName, FlowSchemaName, QueueIndex, RequestIndexInQueue, FlowDistingsher, ArriveTime,
exempt, <none>, <none>, <none>, <none>, <none>,
system, system-nodes, 12, 0, system:node:127.0.0.1, 2020-07-23T15:26:57.179170694Z,
```
In addition to the queued requests, the output includes one phantom line for each priority level that is exempt from limitation.
In addition to the queued requests, the output includes one phantom line
for each priority level that is exempt from limitation.
You can get a more detailed listing with a command like this:
```shell
kubectl get --raw '/debug/api_priority_and_fairness/dump_requests?includeRequestDetails=1'
```
The output is similar to this:
```
```none
PriorityLevelName, FlowSchemaName, QueueIndex, RequestIndexInQueue, FlowDistingsher, ArriveTime, UserName, Verb, APIPath, Namespace, Name, APIVersion, Resource, SubResource,
system, system-nodes, 12, 0, system:node:127.0.0.1, 2020-07-23T15:31:03.583823404Z, system:node:127.0.0.1, create, /api/v1/namespaces/scaletest/configmaps,
system, system-nodes, 12, 1, system:node:127.0.0.1, 2020-07-23T15:31:03.594555947Z, system:node:127.0.0.1, create, /api/v1/namespaces/scaletest/configmaps,
@@ -526,6 +556,6 @@ When you enable the API Priority and Fairness feature, the kube-apiserver serves
For background information on design details for API priority and fairness, see
the [enhancement proposal](https://github.com/kubernetes/enhancements/blob/master/keps/sig-api-machinery/20190228-priority-and-fairness.md).
the [enhancement proposal](https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/1040-priority-and-fairness).
You can make suggestions and feature requests via [SIG API Machinery](https://github.com/kubernetes/community/tree/master/sig-api-machinery)
or the feature's [slack channel](http://kubernetes.slack.com/messages/api-priority-and-fairness).
or the feature's [slack channel](https://kubernetes.slack.com/messages/api-priority-and-fairness).
@@ -1,86 +0,0 @@
---
reviewers:
title: Garbage collection for container images
content_type: concept
weight: 70
---
<!-- overview -->
Garbage collection is a helpful function of kubelet that will clean up unused [images](/docs/concepts/containers/#container-images) and unused [containers](/docs/concepts/containers/). Kubelet will perform garbage collection for containers every minute and garbage collection for images every five minutes.
External garbage collection tools are not recommended as these tools can potentially break the behavior of kubelet by removing containers expected to exist.
<!-- body -->
## Image Collection
Kubernetes manages lifecycle of all images through imageManager, with the cooperation
of cadvisor.
The policy for garbage collecting images takes two factors into consideration:
`HighThresholdPercent` and `LowThresholdPercent`. Disk usage above the high threshold
will trigger garbage collection. The garbage collection will delete least recently used images until the low
threshold has been met.
## Container Collection
The policy for garbage collecting containers considers three user-defined variables. `MinAge` is the minimum age at which a container can be garbage collected. `MaxPerPodContainer` is the maximum number of dead containers every single
pod (UID, container name) pair is allowed to have. `MaxContainers` is the maximum number of total dead containers. These variables can be individually disabled by setting `MinAge` to zero and setting `MaxPerPodContainer` and `MaxContainers` respectively to less than zero.
Kubelet will act on containers that are unidentified, deleted, or outside of the boundaries set by the previously mentioned flags. The oldest containers will generally be removed first. `MaxPerPodContainer` and `MaxContainer` may potentially conflict with each other in situations where retaining the maximum number of containers per pod (`MaxPerPodContainer`) would go outside the allowable range of global dead containers (`MaxContainers`). `MaxPerPodContainer` would be adjusted in this situation: A worst case scenario would be to downgrade `MaxPerPodContainer` to 1 and evict the oldest containers. Additionally, containers owned by pods that have been deleted are removed once they are older than `MinAge`.
Containers that are not managed by kubelet are not subject to container garbage collection.
## User Configuration
You can adjust the following thresholds to tune image garbage collection with the following kubelet flags :
1. `image-gc-high-threshold`, the percent of disk usage which triggers image garbage collection.
Default is 85%.
2. `image-gc-low-threshold`, the percent of disk usage to which image garbage collection attempts
to free. Default is 80%.
You can customize the garbage collection policy through the following kubelet flags:
1. `minimum-container-ttl-duration`, minimum age for a finished container before it is
garbage collected. Default is 0 minute, which means every finished container will be garbage collected.
2. `maximum-dead-containers-per-container`, maximum number of old instances to be retained
per container. Default is 1.
3. `maximum-dead-containers`, maximum number of old instances of containers to retain globally.
Default is -1, which means there is no global limit.
Containers can potentially be garbage collected before their usefulness has expired. These containers
can contain logs and other data that can be useful for troubleshooting. A sufficiently large value for
`maximum-dead-containers-per-container` is highly recommended to allow at least 1 dead container to be
retained per expected container. A larger value for `maximum-dead-containers` is also recommended for a
similar reason.
See [this issue](https://github.com/kubernetes/kubernetes/issues/13287) for more details.
## Deprecation
Some kubelet Garbage Collection features in this doc will be replaced by kubelet eviction in the future.
Including:
| Existing Flag | New Flag | Rationale |
| ------------- | -------- | --------- |
| `--image-gc-high-threshold` | `--eviction-hard` or `--eviction-soft` | existing eviction signals can trigger image garbage collection |
| `--image-gc-low-threshold` | `--eviction-minimum-reclaim` | eviction reclaims achieve the same behavior |
| `--maximum-dead-containers` | | deprecated once old logs are stored outside of container's context |
| `--maximum-dead-containers-per-container` | | deprecated once old logs are stored outside of container's context |
| `--minimum-container-ttl-duration` | | deprecated once old logs are stored outside of container's context |
| `--low-diskspace-threshold-mb` | `--eviction-hard` or `eviction-soft` | eviction generalizes disk thresholds to other resources |
| `--outofdisk-transition-frequency` | `--eviction-pressure-transition-period` | eviction generalizes disk pressure transition to other resources |
## {{% heading "whatsnext" %}}
See [Configuring Out Of Resource Handling](/docs/tasks/administer-cluster/out-of-resource/) for more details.
@@ -81,10 +81,13 @@ rotate an application's logs automatically.
As an example, you can find detailed information about how `kube-up.sh` sets
up logging for COS image on GCP in the corresponding
[`configure-helper` script](https://github.com/kubernetes/kubernetes/blob/{{< param "githubbranch" >}}/cluster/gce/gci/configure-helper.sh).
[`configure-helper` script](https://github.com/kubernetes/kubernetes/blob/master/cluster/gce/gci/configure-helper.sh).
When using a **CRI container runtime**, the kubelet is responsible for rotating the logs and managing the logging directory structure. The kubelet
sends this information to the CRI container runtime and the runtime writes the container logs to the given location. The two kubelet flags `container-log-max-size` and `container-log-max-files` can be used to configure the maximum size for each log file and the maximum number of files allowed for each container respectively.
When using a **CRI container runtime**, the kubelet is responsible for rotating the logs and managing the logging directory structure.
The kubelet sends this information to the CRI container runtime and the runtime writes the container logs to the given location.
The two kubelet parameters [`containerLogMaxSize` and `containerLogMaxFiles`](/docs/reference/config-api/kubelet-config.v1beta1/#kubelet-config-k8s-io-v1beta1-KubeletConfiguration)
in [kubelet config file](/docs/tasks/administer-cluster/kubelet-config-file/)
can be used to configure the maximum size for each log file and the maximum number of files allowed for each container respectively.
When you run [`kubectl logs`](/docs/reference/generated/kubectl/kubectl-commands#logs) as in
the basic logging example, the kubelet on the node handles the request and
@@ -50,7 +50,7 @@ It is a recommended practice to put resources related to the same microservice o
A URL can also be specified as a configuration source, which is handy for deploying directly from configuration files checked into GitHub:
```shell
kubectl apply -f https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/nginx/nginx-deployment.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/website/main/content/en/examples/application/nginx/nginx-deployment.yaml
```
```shell
@@ -160,7 +160,7 @@ If you're interested in learning more about `kubectl`, go ahead and read [kubect
The examples we've used so far apply at most a single label to any resource. There are many scenarios where multiple labels should be used to distinguish sets from one another.
For instance, different applications would use different values for the `app` label, but a multi-tier application, such as the [guestbook example](https://github.com/kubernetes/examples/tree/{{< param "githubbranch" >}}/guestbook/), would additionally need to distinguish each tier. The frontend could carry the following labels:
For instance, different applications would use different values for the `app` label, but a multi-tier application, such as the [guestbook example](https://github.com/kubernetes/examples/tree/master/guestbook/), would additionally need to distinguish each tier. The frontend could carry the following labels:
```yaml
labels:
@@ -0,0 +1,89 @@
---
title: Traces For Kubernetes System Components
reviewers:
- logicalhan
- lilic
content_type: concept
weight: 60
---
<!-- overview -->
{{< feature-state for_k8s_version="v1.22" state="alpha" >}}
System component traces record the latency of and relationships between operations in the cluster.
Kubernetes components emit traces using the
[OpenTelemetry Protocol](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/otlp.md#opentelemetry-protocol-specification)
with the gRPC exporter and can be collected and routed to tracing backends using an
[OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-collector#-opentelemetry-collector).
<!-- body -->
## Trace Collection
For a complete guide to collecting traces and using the collector, see
[Getting Started with the OpenTelemetry Collector](https://opentelemetry.io/docs/collector/getting-started/).
However, there are a few things to note that are specific to Kubernetes components.
By default, Kubernetes components export traces using the grpc exporter for OTLP on the
[IANA OpenTelemetry port](https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=opentelemetry), 4317.
As an example, if the collector is running as a sidecar to a Kubernetes component,
the following receiver configuration will collect spans and log them to standard output:
```yaml
receivers:
otlp:
protocols:
grpc:
exporters:
# Replace this exporter with the exporter for your backend
logging:
logLevel: debug
service:
pipelines:
traces:
receivers: [otlp]
exporters: [logging]
```
## Component traces
### kube-apiserver traces
The kube-apiserver generates spans for incoming HTTP requests, and for outgoing requests
to webhooks, etcd, and re-entrant requests. It propagates the
[W3C Trace Context](https://www.w3.org/TR/trace-context/) with outgoing requests
but does not make use of the trace context attached to incoming requests,
as the kube-apiserver is often a public endpoint.
#### Enabling tracing in the kube-apiserver
To enable tracing, enable the `APIServerTracing`
[feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
on the kube-apiserver. Also, provide the kube-apiserver with a tracing configration file
with `--tracing-config-file=<path-to-config>`. This is an example config that records
spans for 1 in 10000 requests, and uses the default OpenTelemetry endpoint:
```yaml
apiVersion: apiserver.config.k8s.io/v1alpha1
kind: TracingConfiguration
# default value
#endpoint: localhost:4317
samplingRatePerMillion: 100
```
For more information about the `TracingConfiguration` struct, see
[API server config API (v1alpha1)](/docs/reference/config-api/apiserver-config.v1alpha1/#apiserver-k8s-io-v1alpha1-TracingConfiguration).
## Stability
Tracing instrumentation is still under active development, and may change
in a variety of ways. This includes span names, attached attributes,
instrumented endpoints, etc. Until this feature graduates to stable,
there are no guarantees of backwards compatibility for tracing instrumentation.
## {{% heading "whatsnext" %}}
* Read about [Getting Started with the OpenTelemetry Collector](https://opentelemetry.io/docs/collector/getting-started/)
View File
@@ -61,6 +61,11 @@ You can write a Pod `spec` that refers to a ConfigMap and configures the contain
in that Pod based on the data in the ConfigMap. The Pod and the ConfigMap must be in
the same {{< glossary_tooltip text="namespace" term_id="namespace" >}}.
{{< note >}}
The `spec` of a {{< glossary_tooltip text="static Pod" term_id="static-pod" >}} cannot refer to a ConfigMap
or any other API objects.
{{< /note >}}
Here's an example ConfigMap that has some keys with single values,
and other keys where the value looks like a fragment of a configuration
format.
@@ -115,7 +115,7 @@ CPU is always requested as an absolute quantity, never as a relative quantity;
Limits and requests for `memory` are measured in bytes. You can express memory as
a plain integer or as a fixed-point number using one of these suffixes:
E, P, T, G, M, K. You can also use the power-of-two equivalents: Ei, Pi, Ti, Gi,
E, P, T, G, M, k. You can also use the power-of-two equivalents: Ei, Pi, Ti, Gi,
Mi, Ki. For example, the following represent roughly the same value:
```shell
@@ -181,8 +181,9 @@ When using Docker:
flag in the `docker run` command.
- The `spec.containers[].resources.limits.cpu` is converted to its millicore value and
multiplied by 100. The resulting value is the total amount of CPU time that a container can use
every 100ms. A container cannot use more than its share of CPU time during this interval.
multiplied by 100. The resulting value is the total amount of CPU time in microseconds
that a container can use every 100ms. A container cannot use more than its share of
CPU time during this interval.
{{< note >}}
The default quota period is 100ms. The minimum resolution of CPU quota is 1ms.
@@ -337,6 +338,9 @@ spec:
ephemeral-storage: "2Gi"
limits:
ephemeral-storage: "4Gi"
volumeMounts:
- name: ephemeral
mountPath: "/tmp"
- name: log-aggregator
image: images.my-company.example/log-aggregator:v6
resources:
@@ -344,6 +348,12 @@ spec:
ephemeral-storage: "2Gi"
limits:
ephemeral-storage: "4Gi"
volumeMounts:
- name: ephemeral
mountPath: "/tmp"
volumes:
- name: ephemeral
emptyDir: {}
```
### How Pods with ephemeral-storage requests are scheduled
@@ -17,6 +17,11 @@ a *kubeconfig file*. This is a generic way of referring to configuration files.
It does not mean that there is a file named `kubeconfig`.
{{< /note >}}
{{< warning >}}
Only use kubeconfig files from trusted sources. Using a specially-crafted kubeconfig file could result in malicious code execution or file exposure.
If you must use an untrusted kubeconfig file, inspect it carefully first, much as you would a shell script.
{{< /warning>}}
By default, `kubectl` looks for a file named `config` in the `$HOME/.kube` directory.
You can specify other kubeconfig files by setting the `KUBECONFIG` environment
variable or by setting the
@@ -154,4 +159,3 @@ are stored absolutely.
@@ -21,7 +21,7 @@ This is a living document. If you think of something that is not on this list bu
- Write your configuration files using YAML rather than JSON. Though these formats can be used interchangeably in almost all scenarios, YAML tends to be more user-friendly.
- Group related objects into a single file whenever it makes sense. One file is often easier to manage than several. See the [guestbook-all-in-one.yaml](https://github.com/kubernetes/examples/tree/{{< param "githubbranch" >}}/guestbook/all-in-one/guestbook-all-in-one.yaml) file as an example of this syntax.
- Group related objects into a single file whenever it makes sense. One file is often easier to manage than several. See the [guestbook-all-in-one.yaml](https://github.com/kubernetes/examples/tree/master/guestbook/all-in-one/guestbook-all-in-one.yaml) file as an example of this syntax.
- Note also that many `kubectl` commands can be called on a directory. For example, you can call `kubectl apply` on a directory of config files.
@@ -63,7 +63,7 @@ DNS server watches the Kubernetes API for new `Services` and creates a set of DN
## Using Labels
- Define and use [labels](/docs/concepts/overview/working-with-objects/labels/) that identify __semantic attributes__ of your application or Deployment, such as `{ app: myapp, tier: frontend, phase: test, deployment: v3 }`. You can use these labels to select the appropriate Pods for other resources; for example, a Service that selects all `tier: frontend` Pods, or all `phase: test` components of `app: myapp`. See the [guestbook](https://github.com/kubernetes/examples/tree/{{< param "githubbranch" >}}/guestbook/) app for examples of this approach.
- Define and use [labels](/docs/concepts/overview/working-with-objects/labels/) that identify __semantic attributes__ of your application or Deployment, such as `{ app: myapp, tier: frontend, phase: test, deployment: v3 }`. You can use these labels to select the appropriate Pods for other resources; for example, a Service that selects all `tier: frontend` Pods, or all `phase: test` components of `app: myapp`. See the [guestbook](https://github.com/kubernetes/examples/tree/master/guestbook/) app for examples of this approach.
A Service can be made to span multiple Deployments by omitting release-specific labels from its selector. When you need to update a running service without downtime, use a [Deployment](/docs/concepts/workloads/controllers/deployment/).
@@ -73,32 +73,6 @@ A desired state of an object is described by a Deployment, and if changes to tha
- You can manipulate labels for debugging. Because Kubernetes controllers (such as ReplicaSet) and Services match to Pods using selector labels, removing the relevant labels from a Pod will stop it from being considered by a controller or from being served traffic by a Service. If you remove the labels of an existing Pod, its controller will create a new Pod to take its place. This is a useful way to debug a previously "live" Pod in a "quarantine" environment. To interactively remove or add labels, use [`kubectl label`](/docs/reference/generated/kubectl/kubectl-commands#label).
## Container Images
The [imagePullPolicy](/docs/concepts/containers/images/#updating-images) and the tag of the image affect when the [kubelet](/docs/reference/command-line-tools-reference/kubelet/) attempts to pull the specified image.
- `imagePullPolicy: IfNotPresent`: the image is pulled only if it is not already present locally.
- `imagePullPolicy: Always`: every time the kubelet launches a container, the kubelet queries the container image registry to resolve the name to an image digest. If the kubelet has a container image with that exact digest cached locally, the kubelet uses its cached image; otherwise, the kubelet downloads (pulls) the image with the resolved digest, and uses that image to launch the container.
- `imagePullPolicy` is omitted and either the image tag is `:latest` or it is omitted: `imagePullPolicy` is automatically set to `Always`. Note that this will _not_ be updated to `IfNotPresent` if the tag changes value.
- `imagePullPolicy` is omitted and the image tag is present but not `:latest`: `imagePullPolicy` is automatically set to `IfNotPresent`. Note that this will _not_ be updated to `Always` if the tag is later removed or changed to `:latest`.
- `imagePullPolicy: Never`: the image is assumed to exist locally. No attempt is made to pull the image.
{{< note >}}
To make sure the container always uses the same version of the image, you can specify its [digest](https://docs.docker.com/engine/reference/commandline/pull/#pull-an-image-by-digest-immutable-identifier); replace `<image-name>:<tag>` with `<image-name>@<digest>` (for example, `image@sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2`). The digest uniquely identifies a specific version of the image, so it is never updated by Kubernetes unless you change the digest value.
{{< /note >}}
{{< note >}}
You should avoid using the `:latest` tag when deploying containers in production as it is harder to track which version of the image is running and more difficult to roll back properly.
{{< /note >}}
{{< note >}}
The caching semantics of the underlying image provider make even `imagePullPolicy: Always` efficient, as long as the registry is reliably accessible. With Docker, for example, if the image already exists, the pull attempt is fast because all image layers are cached and no image download is needed.
{{< /note >}}
## Using kubectl
- Use `kubectl apply -f <directory>`. This looks for Kubernetes configuration in all `.yaml`, `.yml`, and `.json` files in `<directory>` and passes it to `apply`.
@@ -12,26 +12,33 @@ weight: 30
<!-- overview -->
Kubernetes Secrets let you store and manage sensitive information, such
as passwords, OAuth tokens, and ssh keys. Storing confidential information in a Secret
is safer and more flexible than putting it verbatim in a
{{< glossary_tooltip term_id="pod" >}} definition or in a
{{< glossary_tooltip text="container image" term_id="image" >}}.
See [Secrets design document](https://git.k8s.io/community/contributors/design-proposals/auth/secrets.md) for more information.
A Secret is an object that contains a small amount of sensitive data such as
a password, a token, or a key. Such information might otherwise be put in a
Pod specification or in an image. Users can create Secrets and the system
also creates some Secrets.
{{< glossary_tooltip term_id="pod" >}} specification or in a
{{< glossary_tooltip text="container image" term_id="image" >}}. Using a
Secret means that you don't need to include confidential data in your
application code.
Because Secrets can be created independently of the Pods that use them, there
is less risk of the Secret (and its data) being exposed during the workflow of
creating, viewing, and editing Pods. Kubernetes, and applications that run in
your cluster, can also take additional precautions with Secrets, such as
avoiding writing confidential data to nonvolatile storage.
Secrets are similar to {{< glossary_tooltip text="ConfigMaps" term_id="configmap" >}}
but are specifically intended to hold confidential data.
{{< caution >}}
Kubernetes Secrets are, by default, stored as unencrypted base64-encoded
strings. By default they can be retrieved - as plain text - by anyone with API
access, or anyone with access to Kubernetes' underlying data store, etcd. In
order to safely use Secrets, it is recommended you (at a minimum):
Kubernetes Secrets are, by default, stored unencrypted in the API server's underlying data store (etcd). Anyone with API access can retrieve or modify a Secret, and so can anyone with access to etcd.
Additionally, anyone who is authorized to create a Pod in a namespace can use that access to read any Secret in that namespace; this includes indirect access such as the ability to create a Deployment.
In order to safely use Secrets, take at least the following steps:
1. [Enable Encryption at Rest](/docs/tasks/administer-cluster/encrypt-data/) for Secrets.
2. [Enable or configure RBAC rules](/docs/reference/access-authn-authz/authorization/) that restrict reading and writing the Secret. Be aware that secrets can be obtained implicitly by anyone with the permission to create a Pod.
2. Enable or configure [RBAC rules](/docs/reference/access-authn-authz/authorization/) that
restrict reading data in Secrets (including via indirect means).
3. Where appropriate, also use mechanisms such as RBAC to limit which principals are allowed to create new Secrets or replace existing ones.
{{< /caution >}}
<!-- body -->
@@ -47,6 +54,10 @@ A Secret can be used with a Pod in three ways:
- As [container environment variable](#using-secrets-as-environment-variables).
- By the [kubelet when pulling images](#using-imagepullsecrets) for the Pod.
The Kubernetes control plane also uses Secrets; for example,
[bootstrap token Secrets](#bootstrap-token-secrets) are a mechanism to
help automate node registration.
The name of a Secret object must be a valid
[DNS subdomain name](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names).
You can specify the `data` and/or the `stringData` field when creating a
@@ -64,9 +75,9 @@ precedence.
## Types of Secret {#secret-types}
When creating a Secret, you can specify its type using the `type` field of
the [`Secret`](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#secret-v1-core)
resource, or certain equivalent `kubectl` command line flags (if available).
The Secret type is used to facilitate programmatic handling of the Secret data.
a Secret resource, or certain equivalent `kubectl` command line flags (if available).
The `type` of a Secret is used to facilitate programmatic handling of different
kinds of confidential data.
Kubernetes provides several builtin types for some common usage scenarios.
These types vary in terms of the validations performed and the constraints
@@ -822,7 +833,10 @@ are obtained from the API server.
This includes any Pods created using `kubectl`, or indirectly via a replication
controller. It does not include Pods created as a result of the kubelet
`--manifest-url` flag, its `--config` flag, or its REST API (these are
not common ways to create Pods.)
not common ways to create Pods).
The `spec` of a {{< glossary_tooltip text="static Pod" term_id="static-pod" >}} cannot refer to a Secret
or any other API objects.
Secrets must be created before they are consumed in Pods as environment
variables unless they are marked as optional. References to secrets that do
@@ -1164,7 +1178,7 @@ limit access using [authorization policies](
Secrets often hold values that span a spectrum of importance, many of which can
cause escalations within Kubernetes (e.g. service account tokens) and to
external systems. Even if an individual app can reason about the power of the
secrets it expects to interact with, other apps within the same namespace can
Secrets it expects to interact with, other apps within the same namespace can
render those assumptions invalid.
For these reasons `watch` and `list` requests for secrets within a namespace are
@@ -1235,15 +1249,10 @@ for secret data, so that the secrets are not stored in the clear into {{< glossa
- A user who can create a Pod that uses a secret can also see the value of that secret. Even
if the API server policy does not allow that user to read the Secret, the user could
run a Pod which exposes the secret.
- Currently, anyone with root permission on any node can read _any_ secret from the API server,
by impersonating the kubelet. It is a planned feature to only send secrets to
nodes that actually require them, to restrict the impact of a root exploit on a
single node.
## {{% heading "whatsnext" %}}
- Learn how to [manage Secret using `kubectl`](/docs/tasks/configmap-secret/managing-secret-using-kubectl/)
- Learn how to [manage Secret using config file](/docs/tasks/configmap-secret/managing-secret-using-config-file/)
- Learn how to [manage Secret using kustomize](/docs/tasks/configmap-secret/managing-secret-using-kustomize/)
- Read the [API reference](/docs/reference/kubernetes-api/config-and-storage-resources/secret-v1/) for `Secret`
@@ -52,7 +52,7 @@ FOO_SERVICE_PORT=<the port the service is running on>
```
Services have dedicated IP addresses and are available to the Container via DNS,
if [DNS addon](https://releases.k8s.io/{{< param "githubbranch" >}}/cluster/addons/dns/) is enabled. 
if [DNS addon](https://releases.k8s.io/{{< param "fullversion" >}}/cluster/addons/dns/) is enabled. 
+89 -16
View File
@@ -39,14 +39,6 @@ There are additional rules about where you can place the separator
characters (`_`, `-`, and `.`) inside an image tag.
If you don't specify a tag, Kubernetes assumes you mean the tag `latest`.
{{< caution >}}
You should avoid using the `latest` tag when deploying containers in production,
as it is harder to track which version of the image is running and more difficult
to roll back to a working version.
Instead, specify a meaningful tag such as `v1.42.0`.
{{< /caution >}}
## Updating images
When you first create a {{< glossary_tooltip text="Deployment" term_id="deployment" >}},
@@ -57,13 +49,68 @@ specified. This policy causes the
{{< glossary_tooltip text="kubelet" term_id="kubelet" >}} to skip pulling an
image if it already exists.
If you would like to always force a pull, you can do one of the following:
### Image pull policy
- set the `imagePullPolicy` of the container to `Always`.
- omit the `imagePullPolicy` and use `:latest` as the tag for the image to use;
Kubernetes will set the policy to `Always`.
- omit the `imagePullPolicy` and the tag for the image to use.
- enable the [AlwaysPullImages](/docs/reference/access-authn-authz/admission-controllers/#alwayspullimages) admission controller.
The `imagePullPolicy` for a container and the tag of the image affect when the
[kubelet](/docs/reference/command-line-tools-reference/kubelet/) attempts to pull (download) the specified image.
Here's a list of the values you can set for `imagePullPolicy` and the effects
these values have:
`IfNotPresent`
: the image is pulled only if it is not already present locally.
`Always`
: every time the kubelet launches a container, the kubelet queries the container
image registry to resolve the name to an image
[digest](https://docs.docker.com/engine/reference/commandline/pull/#pull-an-image-by-digest-immutable-identifier). If the kubelet has a
container image with that exact digest cached locally, the kubelet uses its cached
image; otherwise, the kubelet pulls the image with the resolved digest,
and uses that image to launch the container.
`Never`
: the kubelet does not try fetching the image. If the image is somehow already present
locally, the kubelet attempts to start the container; otherwise, startup fails.
See [pre-pulled images](#pre-pulled-images) for more details.
The caching semantics of the underlying image provider make even
`imagePullPolicy: Always` efficient, as long as the registry is reliably accessible.
Your container runtime can notice that the image layers already exist on the node
so that they don't need to be downloaded again.
{{< note >}}
You should avoid using the `:latest` tag when deploying containers in production as
it is harder to track which version of the image is running and more difficult to
roll back properly.
Instead, specify a meaningful tag such as `v1.42.0`.
{{< /note >}}
To make sure the Pod always uses the same version of a container image, you can specify
the image's digest;
replace `<image-name>:<tag>` with `<image-name>@<digest>`
(for example, `image@sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2`).
When using image tags, if the image registry were to change the code that the tag on that image represents, you might end up with a mix of Pods running the old and new code. An image digest uniquely identifies a specific version of the image, so Kubernetes runs the same code every time it starts a container with that image name and digest specified. Specifying an image fixes the code that you run so that a change at the registry cannot lead to that mix of versions.
There are third-party [admission controllers](/docs/reference/access-authn-authz/admission-controllers/)
that mutate Pods (and pod templates) when they are created, so that the
running workload is defined based on an image digest rather than a tag.
That might be useful if you want to make sure that all your workload is
running the same code no matter what tag changes happen at the registry.
#### Default image pull policy {#imagepullpolicy-defaulting}
When you (or a controller) submit a new Pod to the API server, your cluster sets the
`imagePullPolicy` field when specific conditions are met:
- if you omit the `imagePullPolicy` field, and the tag for the container image is
`:latest`, `imagePullPolicy` is automatically set to `Always`;
- if you omit the `imagePullPolicy` field, and you don't specify the tag for the
container image, `imagePullPolicy` is automatically set to `Always`;
- if you omit the `imagePullPolicy` field, and you don't specify the tag for the
container image that isn't `:latest`, the `imagePullPolicy` is automatically set to
`IfNotPresent`.
{{< note >}}
The value of `imagePullPolicy` of the container is always set when the object is
@@ -75,7 +122,31 @@ For example, if you create a Deployment with an image whose tag is _not_
the pull policy of any object after its initial creation.
{{< /note >}}
When `imagePullPolicy` is defined without a specific value, it is also set to `Always`.
#### Required image pull
If you would like to always force a pull, you can do one of the following:
- Set the `imagePullPolicy` of the container to `Always`.
- Omit the `imagePullPolicy` and use `:latest` as the tag for the image to use;
Kubernetes will set the policy to `Always` when you submit the Pod.
- Omit the `imagePullPolicy` and the tag for the image to use;
Kubernetes will set the policy to `Always` when you submit the Pod.
- Enable the [AlwaysPullImages](/docs/reference/access-authn-authz/admission-controllers/#alwayspullimages) admission controller.
### ImagePullBackOff
When a kubelet starts creating containers for a Pod using a container runtime,
it might be possible the container is in [Waiting](/docs/concepts/workloads/pods/pod-lifecycle/#container-state-waiting)
state because of `ImagePullBackOff`.
The status `ImagePullBackOff` means that a container could not start because Kubernetes
could not pull a container image (for reasons such as invalid image name, or pulling
from a private registry without `imagePullSecret`). The `BackOff` part indicates
that Kubernetes will keep trying to pull the image, with an increasing back-off delay.
Kubernetes raises the delay between each attempt until it reaches a compiled-in limit,
which is 300 seconds (5 minutes).
## Multi-architecture images with image indexes
@@ -314,6 +385,8 @@ common use cases and suggested solutions.
If you need access to multiple registries, you can create one secret for each registry.
Kubelet will merge any `imagePullSecrets` into a single virtual `.docker/config.json`
## {{% heading "whatsnext" %}}
* Read the [OCI Image Manifest Specification](https://github.com/opencontainers/image-spec/blob/master/manifest.md)
* Read the [OCI Image Manifest Specification](https://github.com/opencontainers/image-spec/blob/master/manifest.md).
* Learn about [container image garbage collection](/docs/concepts/architecture/garbage-collection/#container-image-garbage-collection).
@@ -51,7 +51,7 @@ heterogeneous node configurations, see [Scheduling](#scheduling) below.
{{< /note >}}
The configurations have a corresponding `handler` name, referenced by the RuntimeClass. The
handler must be a valid DNS 1123 label (alpha-numeric + `-` characters).
handler must be a valid [DNS label name](/docs/concepts/overview/working-with-objects/names/#dns-label-names).
### 2. Create the corresponding RuntimeClass resources
@@ -118,7 +118,7 @@ Runtime handlers are configured through containerd's configuration at
`/etc/containerd/config.toml`. Valid handlers are configured under the runtimes section:
```
[plugins.cri.containerd.runtimes.${HANDLER_NAME}]
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.${HANDLER_NAME}]
```
See containerd's config documentation for more details:
@@ -135,7 +135,7 @@ table](https://github.com/cri-o/cri-o/blob/master/docs/crio.conf.5.md#crioruntim
runtime_path = "${PATH_TO_BINARY}"
```
See CRI-O's [config documentation](https://raw.githubusercontent.com/cri-o/cri-o/9f11d1d/docs/crio.conf.5.md) for more details.
See CRI-O's [config documentation](https://github.com/cri-o/cri-o/blob/master/docs/crio.conf.5.md) for more details.
## Scheduling
@@ -179,4 +179,4 @@ are accounted for in Kubernetes.
- [RuntimeClass Design](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/585-runtime-class/README.md)
- [RuntimeClass Scheduling Design](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/585-runtime-class/README.md#runtimeclass-scheduling)
- Read about the [Pod Overhead](/docs/concepts/scheduling-eviction/pod-overhead/) concept
- [PodOverhead Feature Design](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/20190226-pod-overhead.md)
- [PodOverhead Feature Design](https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/688-pod-overhead)
@@ -1,5 +1,5 @@
---
title: Extending the Kubernetes API with the aggregation layer
title: Kubernetes API Aggregation Layer
reviewers:
- lavalamp
- cheftako
@@ -11,7 +11,7 @@ weight: 20
<!-- overview -->
The aggregation layer allows Kubernetes to be extended with additional APIs, beyond what is offered by the core Kubernetes APIs.
The additional APIs can either be ready-made solutions such as [service-catalog](/docs/concepts/extend-kubernetes/service-catalog/), or APIs that you develop yourself.
The additional APIs can either be ready-made solutions such as a [metrics server](https://github.com/kubernetes-sigs/metrics-server), or APIs that you develop yourself.
The aggregation layer is different from [Custom Resources](/docs/concepts/extend-kubernetes/api-extension/custom-resources/), which are a way to make the {{< glossary_tooltip term_id="kube-apiserver" text="kube-apiserver" >}} recognise new kinds of object.
@@ -34,7 +34,7 @@ If your extension API server cannot achieve that latency requirement, consider m
* To get the aggregator working in your environment, [configure the aggregation layer](/docs/tasks/extend-kubernetes/configure-aggregation-layer/).
* Then, [setup an extension api-server](/docs/tasks/extend-kubernetes/setup-extension-api-server/) to work with the aggregation layer.
* Also, learn how to [extend the Kubernetes API using Custom Resource Definitions](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/).
* Read the specification for [APIService](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#apiservice-v1-apiregistration-k8s-io)
* Read about [APIService](/docs/reference/kubernetes-api/cluster-resources/api-service-v1/) in the API reference
Alternatively: learn how to [extend the Kubernetes API using Custom Resource Definitions](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/).
@@ -167,7 +167,7 @@ CRDs are easier to create than Aggregated APIs.
| CRDs | Aggregated API |
| --------------------------- | -------------- |
| Do not require programming. Users can choose any language for a CRD controller. | Requires programming in Go and building binary and image. |
| Do not require programming. Users can choose any language for a CRD controller. | Requires programming and building binary and image. |
| No additional service to run; CRDs are handled by API server. | An additional service to create and that could fail. |
| No ongoing support once the CRD is created. Any bug fixes are picked up as part of normal Kubernetes Master upgrades. | May need to periodically pickup bug fixes from upstream and rebuild and update the Aggregated API server. |
| No need to handle multiple versions of your API; for example, when you control the client for this resource, you can upgrade it in sync with the API. | You need to handle multiple versions of your API; for example, when developing an extension to share with the world. |
@@ -199,7 +199,7 @@ service PodResourcesLister {
The `List` endpoint provides information on resources of running pods, with details such as the
id of exclusively allocated CPUs, device id as it was reported by device plugins and id of
the NUMA node where these devices are allocated.
the NUMA node where these devices are allocated. Also, for NUMA-based machines, it contains the information about memory and hugepages reserved for a container.
```gRPC
// ListPodResourcesResponse is the response returned by List function
@@ -219,6 +219,14 @@ message ContainerResources {
string name = 1;
repeated ContainerDevices devices = 2;
repeated int64 cpu_ids = 3;
repeated ContainerMemory memory = 4;
}
// ContainerMemory contains information about memory and hugepages assigned to a container
message ContainerMemory {
string memory_type = 1;
uint64 size = 2;
TopologyInfo topology = 3;
}
// Topology describes hardware topology of the resource
@@ -247,6 +255,7 @@ It provides more information than kubelet exports to APIServer.
message AllocatableResourcesResponse {
repeated ContainerDevices devices = 1;
repeated int64 cpu_ids = 2;
repeated ContainerMemory memory = 3;
}
```
@@ -51,8 +51,7 @@ Some of the things that you can use an operator to automate include:
* choosing a leader for a distributed application without an internal
member election process
What might an Operator look like in more detail? Here's an example in more
detail:
What might an Operator look like in more detail? Here's an example:
1. A custom resource named SampleDB, that you can configure into the cluster.
2. A Deployment that makes sure a Pod is running that contains the
@@ -115,8 +114,9 @@ Operator.
* [Charmed Operator Framework](https://juju.is/)
* [kubebuilder](https://book.kubebuilder.io/)
* [KubeOps](https://buehler.github.io/dotnet-operator-sdk/) (.NET operator SDK)
* [KUDO](https://kudo.dev/) (Kubernetes Universal Declarative Operator)
* [Metacontroller](https://metacontroller.app/) along with WebHooks that
* [Metacontroller](https://metacontroller.github.io/metacontroller/intro.html) along with WebHooks that
you implement yourself
* [Operator Framework](https://operatorframework.io)
* [shell-operator](https://github.com/flant/shell-operator)
@@ -124,6 +124,7 @@ Operator.
## {{% heading "whatsnext" %}}
* Read the {{< glossary_tooltip text="CNCF" term_id="cncf" >}} [Operator White Paper](https://github.com/cncf/tag-app-delivery/blob/eece8f7307f2970f46f100f51932db106db46968/operator-wg/whitepaper/Operator-WhitePaper_v1-0.md).
* Learn more about [Custom Resources](/docs/concepts/extend-kubernetes/api-extension/custom-resources/)
* Find ready-made operators on [OperatorHub.io](https://operatorhub.io/) to suit your use case
* [Publish](https://operatorhub.io/) your operator for other people to use
@@ -32,7 +32,7 @@ The application can access the message queue as a service.
Service Catalog uses the [Open service broker API](https://github.com/openservicebrokerapi/servicebroker) to communicate with service brokers, acting as an intermediary for the Kubernetes API Server to negotiate the initial provisioning and retrieve the credentials necessary for the application to use a managed service.
It is implemented as an extension API server and a controller, using etcd for storage. It also uses the [aggregation layer](/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/) available in Kubernetes 1.7+ to present its API.
It is implemented using a [CRDs-based](/docs/concepts/extend-kubernetes/api-extension/custom-resources/#custom-resources) architecture.
<br>
View File
@@ -16,7 +16,7 @@ card:
When you deploy Kubernetes, you get a cluster.
{{< glossary_definition term_id="cluster" length="all" prepend="A Kubernetes cluster consists of">}}
This document outlines the various components you need to have
This document outlines the various components you need to have for
a complete and working Kubernetes cluster.
Here's the diagram of a Kubernetes cluster with all the components tied together.
@@ -45,7 +45,7 @@ Containers have become popular because they provide extra benefits, such as:
* Agile application creation and deployment: increased ease and efficiency of container image creation compared to VM image use.
* Continuous development, integration, and deployment: provides for reliable and frequent container image build and deployment with quick and efficient rollbacks (due to image immutability).
* Dev and Ops separation of concerns: create application container images at build/release time rather than deployment time, thereby decoupling applications from infrastructure.
* Observability not only surfaces OS-level information and metrics, but also application health and other signals.
* Observability: not only surfaces OS-level information and metrics, but also application health and other signals.
* Environmental consistency across development, testing, and production: Runs the same on a laptop as it does in the cloud.
* Cloud and OS distribution portability: Runs on Ubuntu, RHEL, CoreOS, on-premises, on major public clouds, and anywhere else.
* Application-centric management: Raises the level of abstraction from running an OS on virtual hardware to running an application on an OS using logical resources.
View File

Some files were not shown because too many files have changed in this diff Show More