Files
Vineeth Pothulapati 63f30b086a Sync up between dev-1.18 and master branches (#19055)
* Fixed outdated ECR credential debug message (#18631)

* Fixed outdated ECR credential debug message

The log message for troubleshooting kubelet auto fetching ECR credentils issue has been changed (noticed since 1.14), and the new message reads like this when verbose log level is set to 3:

      - `aws_credentials.go:109] unable to get ECR credentials from cache, checking ECR API`
      - `aws_credentials.go:116] Got ECR credentials from ECR API for <Your ECR AWS Account ID>.dkr.ecr.us-east-1.amazonaws.com`

This is based on the kubelet source code: 
    https://github.com/kubernetes/kubernetes/blob/release-1.14/pkg/credentialprovider/aws/aws_credentials.go#L91

This PR is to fix this and to avoid confusion for more people who are troubleshooting the kubelet ECR issue.

* Update content/en/docs/concepts/containers/images.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

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

* Fix deployment name in docs/tasks/administer-cluster/dns-horizontal-autoscaling.md (#18772)

* ru/docs/tutorials/hello-minikube.md: sync with English translation. (#18687)

* content/ru/docs/concepts/_index.md: use English names for kinds. (#18613)

* Fix French typo in "when" section (#18786)

* First Japanese l10n work for release-1.16 (#18790)

* Translate concepts/services-networking/connect-applications-service/ into Japanese (#17710)

* Translate concepts/services-networking/connect-applications-service/ into Japanese

* Apply review

* Translate content/ja/docs/tasks/_index.md into Japanese (#17789)

* add task index

* huge page

* ja-docs: Update kops Installation Steps (#17804)

* Update /ja/docs/tasks/tools/install-minikube/ (#17711)

* Update /ja/docs/tasks/tools/install-minikube/

* Apply review

* Apply review

* Update content/ja/docs/tasks/tools/install-minikube.md

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/docs/tasks/tools/install-minikube.md

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Translate tasks/configure-pod-container/assign-cpu-resource/ in Japanese (#16160)

* copy from content/en/docs/tasks/configure-pod-container/ to ja

* translate assign-cpu-resource.md in Japanese

* Update content/ja/docs/tasks/configure-pod-container/assign-cpu-resource.md

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/docs/tasks/configure-pod-container/assign-cpu-resource.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update assign-cpu-resource.md

ここの *request* と *limit* はほかの文中の単語とは異なり、YAMLのfieldを表すため、訳さないでおく

* fix translation

"Pod scheduling is based on requests." の箇所。
requestsに基づいているのは事実だが、直訳されたときになにを指すのかあいまいなので、対象を具体的に記述

* Translate concepts/workloads/controllers/deployment/ in Japanese #14848 (#17794)

* ja-trans: Translate concepts/workloads/controllers/deployment/ into Japanese (#14848)

* ja-trans: Improve Japanese translation in concepts/workloads/controllers/deployment/ (#14848)

* ja-trans: Improve Japanese translation in concepts/workloads/controllers/deployment/ (#14848)

* ja-trans: Improve Japanese translation in concepts/workloads/controllers/deployment/ (#14848)

* little fix (#18135)

* update index (#18136)

* Update /ja/docs/setup/_index.md (#18139)

* Update /ja/docs/tasks/tools/install-kubectl/ (#18137)

* update /docs/ja/tasks/tools/install-kubectl/

* fix mongon

* apply reveiw

* Update /ja/docs/reference/command-line-tools-reference/feature-gates/ (#18141)

* Update feature agete

* tidy up feature gates list

* translate new lines

* table caption

* blank

* する -> します

* apply review

* fix broken link

* Update content/ja/docs/reference/command-line-tools-reference/feature-gates.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* update translation

* remove line

* Update content/ja/docs/reference/command-line-tools-reference/feature-gates.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* rollpack

* Update /ja/docs/concepts/services-networking/service/ (#18138)

* update /ja/docs/concepts/services-networking/service/

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

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

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

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

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

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

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

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* consider Endpoints as a Kubernetes resource

* full

* Update content/ja/docs/concepts/_index.md (#18145)

* Update concepts

* control plane

* apply review

* fix bold (#18165)

* Update /ja/docs/concepts/overview/components.md (#18153)

* update /ja/docs/concepts/overview/components.md

* some japanese docs are already there

* translate prepend

* apply upstream changes (#18278)

* Translate concepts/services-networking/ingress into Japanese #17741 (#18234)

* ja-trans: Translate concepts/services-networking/ingress into Japanese (#17741)

* ja-trans: Improve Japanese translation in concepts/services-networking/ingress (#17741)

* ja-trans: Improve Japanese translation in concepts/services-networking/ingress (#17741)

* Update pod overview in Japanese (#18277)

* Update pod-overview

* Update content/ja/docs/concepts/workloads/pods/pod-overview.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update content/ja/docs/concepts/workloads/pods/pod-overview.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update content/ja/docs/concepts/workloads/pods/pod-overview.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update content/ja/docs/concepts/workloads/pods/pod-overview.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update content/ja/docs/concepts/workloads/pods/pod-overview.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update content/ja/docs/concepts/workloads/pods/pod-overview.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* ノード

* Update content/ja/docs/concepts/workloads/pods/pod-overview.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update content/ja/docs/concepts/workloads/pods/pod-overview.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

Co-authored-by: Naoki Oketani <okepy.naoki@gmail.com>

* Translate concepts/scheduling/scheduler-perf-tuning/ in Japanese #17119 (#17796)

* ja-trans: Translate concepts/scheduling/scheduler-perf-tuning/ into Japanese (#17119)

* ja-trans: Improve Japanese translation in concepts/scheduling/scheduler-perf-tuning/ (#17119)

* ja-trans: Improve Japanese translation in concepts/scheduling/scheduler-perf-tuning/ (#17119)

* ja-trans:conetent/ja/casestudies/nav (#18450)

* Translate tasks/debug-application-cluster/debug-service/ in Japanese (#18395)

* Translate tasks/debug-application-cluster/debug-service/ in Japanese

* Update content/ja/docs/tasks/debug-application-cluster/debug-service.md

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/docs/tasks/debug-application-cluster/debug-service.md

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/docs/tasks/debug-application-cluster/debug-service.md

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Change all `Pods` to `Pod` and `Endpoints` to `Endpoint`

* Update content/ja/docs/tasks/debug-application-cluster/debug-service.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update content/ja/docs/tasks/debug-application-cluster/debug-service.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update content/ja/docs/tasks/debug-application-cluster/debug-service.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update content/ja/docs/tasks/debug-application-cluster/debug-service.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update content/ja/docs/tasks/debug-application-cluster/debug-service.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update content/ja/docs/tasks/debug-application-cluster/debug-service.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update content/ja/docs/tasks/debug-application-cluster/debug-service.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update content/ja/docs/tasks/debug-application-cluster/debug-service.md

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/docs/tasks/debug-application-cluster/debug-service.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update content/ja/docs/tasks/debug-application-cluster/debug-service.md

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/docs/tasks/debug-application-cluster/debug-service.md

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/docs/tasks/debug-application-cluster/debug-service.md

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/docs/tasks/debug-application-cluster/debug-service.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Updated content pointed out in review

* Update content/ja/docs/tasks/debug-application-cluster/debug-service.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Apply suggestions from code review

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Apply suggestions from review

* Apply suggestions form review

* Apply suggestions from review

* Apply suggestions from review

* Apply suggestions from code review

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update content/ja/docs/tasks/debug-application-cluster/debug-service.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

Co-authored-by: inductor <kohei.ota@zozo.com>
Co-authored-by: Naoki Oketani <okepy.naoki@gmail.com>

* Translate concepts/extend-kubernetes/api-extension/custom-resources/ into Japanese (#18200)

* Translate concepts/extend-kubernetes/api-extension/custom-resources/ into Japanese

* Apply suggestions from code review between L1 an L120 by oke-py

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Apply suggestions from code review by oke-py

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update CustomResourceDefinition not to localize into Japanese

* Revert the link to customresourcedefinitions to English

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Apply suggestions from code review by oke-py and inductor

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>
Co-Authored-By: inductor <kohei.ota@zozo.com>

* Apply a suggestion from review by inductor

* Apply a suggestion from code review by oke-py

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

Co-authored-by: Naoki Oketani <okepy.naoki@gmail.com>
Co-authored-by: inductor <kohei.ota@zozo.com>

* Translate tasks/configure-pod-container/quality-service-pod/ into Japanese (#16173)

* copy from content/en/docs/tasks/configure-pod-container/quality-service-pod.md to Ja

* Translate tasks/configure-pod-container/quality-service-pod/ into Japanese

Guaranteed, Burstable, BestEffortは用語として存在するので訳さない

Signed-off-by: Takuma Hashimoto <takumaxd+github@gmail.com>

* Update content/ja/docs/tasks/configure-pod-container/quality-service-pod.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update content/ja/docs/tasks/configure-pod-container/quality-service-pod.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update content/ja/docs/tasks/configure-pod-container/quality-service-pod.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* Update content/ja/docs/tasks/configure-pod-container/quality-service-pod.md

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

Co-authored-by: Naoki Oketani <okepy.naoki@gmail.com>

* Translate content/ja/docs/reference/kubectl/cheatsheet.md (#17739) (#18285)

* Translate content/ja/docs/reference/kubectl/cheatsheet.md (#17739)

* Translated kubectl cheet sheet.

* Fix typos in content/ja/docs/reference/kubectl/cheatsheet.md (#17739)

* Fix japanese style in content/ja/docs/reference/kubectl/cheatsheet.md

* Fix typo in content/ja/docs/reference/kubectl/cheatsheet.md

* Fix translation in content/ja/docs/reference/kubectl/cheatsheet.md

* Fix typo in content/ja/docs/reference/kubectl/cheatsheet.md

* Fix typo in content/ja/docs/reference/kubectl/cheatsheet.md

* Modify translation for casestudies (#18767)

* modify terminology

* add ten

* update translation

* update

* update

* update

* fix typo (#18769)

* remove english comment (#18770)

* ja-trans:conetent/ja/casestudies/spotify  (#18451)

* ja-trans: content/ja/case-studies/spotify

* Update content/ja/case-studies/spotify/index.html

Updated with the proposal  from inductor

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/case-studies/spotify/index.html

Updated with inductor 's proposal

Co-Authored-By: inductor <kohei.ota@zozo.com>

* ja-trans: content/ja/case-studies/spotify

* Update content/ja/case-studies/spotify/index.html

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/case-studies/spotify/index.html

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/case-studies/spotify/index.html

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/case-studies/spotify/index.html

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/case-studies/spotify/index.html

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/case-studies/spotify/index.html

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/case-studies/spotify/index.html

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/case-studies/spotify/index.html

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/case-studies/spotify/index.html

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/case-studies/spotify/index.html

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/case-studies/spotify/index.html

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/case-studies/spotify/index.html

Co-Authored-By: inductor <kohei.ota@zozo.com>

* Update content/ja/case-studies/spotify/index.html

Co-Authored-By: inductor <kohei.ota@zozo.com>

Co-authored-by: inductor <kohei.ota@zozo.com>

* Translate Japanese headers (#18776)

* translate headers

* add index for references

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

Co-Authored-By: Naoki Oketani <okepy.naoki@gmail.com>

* translate controller

Co-authored-by: Naoki Oketani <okepy.naoki@gmail.com>

* ja-docs: translate install-kubeadm into Japanese (#18198)

* ja-docs: translate install-kubeadm into Japanese

* translate table title in install-kubeadm to Japanese

* update kubeadm install doc

* remove extra spaces

* fix translation miss

* translate url title into japanese

* fix translation miss

* remove line break in sentence and translate title

* remove extra line break

* remove extra line break

* fix translation miss

Co-authored-by: Naoki Oketani <okepy.naoki@gmail.com>
Co-authored-by: Samuel Kihahu <kihahu@users.noreply.github.com>
Co-authored-by: Takuma Hashimoto <takuma-hashimoto@freee.co.jp>
Co-authored-by: Keita Akutsu <kakts.git@gmail.com>
Co-authored-by: Masa Taniguchi <maabou512@gmail.com>
Co-authored-by: Soto Sugita <sotoiwa@gmail.com>
Co-authored-by: Kozzy Hasebe <48105562+hasebe@users.noreply.github.com>
Co-authored-by: kazuaki harada <canhel.4suti50y.salamander@gmail.com>
Co-authored-by: Shunsuke Miyoshi <s.miyoshi@jp.fujitsu.com>

* delete zh SEE ALSO(51-54) (#18788)

* Added missing brackets in markdown (#18783)

* Fix broken links in api_changes doc (#18743)

* fix jump (#18781)

* fix redundant note (#18780)

* Fix typo: default-manager -> default-scheduler (#18709)

like #18649 #18708

* fix issue #18738 (#18773)

Signed-off-by: Dominic Yin <yindongchao@inspur.com>

* Correct description of kubectl (#18172)

* Correct description of kubectl

Given that `kubectl` is not a [command line interface (CLI)](https://en.wikipedia.org/wiki/Command-line_interface), I suggest calling it what it is -- a control utility (ctl = control). The term "tool" is commonly used in place of "utility," including the `kubectl` docs.

A CLI presents the user with a command prompt at which the user can enter multiple command lines that a command-line interpreter interprets and processes. Think of `bash`, `emacs`, or a SQL shell.  Since `kubectl` is not run in a shell, it is not a CLI.

Here are related docs that correctly refer to `kubectl` as a "command-line tool":

- https://kubernetes.io/docs/reference/tools/#kubectl
- https://kubernetes.io/docs/reference/glossary/?fundamental=true#term-kubectl
- https://kubernetes.io/docs/tasks/tools/install-kubectl/
- https://kubernetes.io/docs/reference/kubectl/kubectl/

* Update content/en/docs/reference/kubectl/overview.md

Co-Authored-By: Zach Corleissen <zacharysarah@users.noreply.github.com>

Co-authored-by: Zach Corleissen <zacharysarah@users.noreply.github.com>

* Add blog post: Reviewing 2019 in Docs (#18662)

Tiny fix

Feedback from onlydole

Add missing link

Incremental fixes

Revise Jim's job title

Update content/en/blog/_posts/2020-01-17-Docs-Review-2019.md

Co-Authored-By: Celeste Horgan <celeste@cncf.io>

Feedback from celeste, change date

* Update OWNERS_ALIASES (#18803)

* Create Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md (#16869)

* Create Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

* Update Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

* Update Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

* Update Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-authored-by: Bob Killen <killen.bob@gmail.com>
Co-authored-by: Taylor Dolezal <onlydole@users.noreply.github.com>

* blog: introduce CSI support for ephemeral inline volumes (#16832)

* csi-ephemeral-inline-volumes: introduce CSI support for ephemeral inline volumes

This was alpha in Kubernetes 1.15 and became beta in 1.16. Several CSI
drivers already support it (soon...).

* csi-ephemeral-inline-volumes: bump date and address feedback (NodeUnpublishVolume)

* csi-ephemeral-inline-volumes: add examples and next steps

* csi-ephemeral-inline-volumes: rename file, minor edits

* csi-ephemeral-inline-volumes: include Docker example

* Create 2019-12-10-Gamified-Chaos-Engineering-Tool-for-Kubernetes.md (#18062)

* Create 2019-12-10-Gamified-Chaos-Engineering-Tool-for-Kubernetes.md

* Update and rename 2019-12-10-Gamified-Chaos-Engineering-Tool-for-Kubernetes.md to 2019-01-16-Gamified-Chaos-Engineering-Tool-for-Kubernetes.md

* Update 2019-01-16-Gamified-Chaos-Engineering-Tool-for-Kubernetes.md

* Update and rename 2019-01-16-Gamified-Chaos-Engineering-Tool-for-Kubernetes.md to 2019-01-22-Gamified-Chaos-Engineering-Tool-for-Kubernetes.md

Co-authored-by: Kaitlyn Barnard <kaitlynbarnard10@gmail.com>

* Revert "Create Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md (#16869)" (#18805)

This reverts commit 2c4545e105.

* add blog k8s on mips (#18795)

* add blog k8s on mips

* modify english title to chinese

* modify some error

* Remove user-journeys legacy content #18615 (#18779)

* Use monospace for HostFolder and VM in the French Minikube setup guide. (#18749)

* Add French version of persistent volume page concept page (#18706)

* Add French version of persistent volume page concept page

* Fix

* Fix

* Fix

* Fix

* sync content/zh/docs/reference/issues-security/ en zh (#18727)

* update zh-translation: /docs/concepts/storage/volume-snapshots.md (#18650)

* Clean up user journeys content for zh (#18815)

* Followup fixes for: Add resource version section to api-concepts (#18069)

* Followup fixes for: Add resource version section to api-concepts documentation

* Apply feedback

* Apply feedback

* Switch paragraph to active voice

* Add Community and Code of Conduct for ID (#18828)

* Add additional ways to contribute part to update zh doc (#18762)

* Add additional ways to contribute part to update zh doc

* Add original English text

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

Co-Authored-By: chentanjun <tanjunchen20@gmail.com>

Co-authored-by: chentanjun <tanjunchen20@gmail.com>

* Clean up extensions/v1beta1 in docs (#18839)

* fix an example path (#18848)

* Translating network plugins (#17184)

* Fix for a typo (#18822)

* tą instalację -> tę instalację / (https://sjp.pwn.pl/poradnia/haslo/te-czy-ta;1598.html) (#18801)

* Fix typo in Scalability section (#18866)

The phrase `very larger` is not valid, it is supposed to be either `very
large` or `larger`. Propose to have it `very large`.

Signed-off-by: Mariyan Dimitrov <mariyan.dimitrov@gmail.com>

* Add Polish translation of Contribute index page (#18775)

Co-Authored-By: Michał Sochoń <kaszpir@gmail.com>

Co-authored-by: Michał Sochoń <kaszpir@gmail.com>

* Clean up extensions/v1beta1 in docs (#18838)

* Add Indonesian Manage Compute Resources page (#18468)

* Add Indonesian Manage Compute Resources page

* Updates to id Manage Compute Resources page

* Add DaemonSet docs ID localization (#18632)

Signed-off-by: giovanism <giovanism@outlook.co.id>

* Fix typo in en/docs/contribute/style/content-guilde.md (#18862)

* partial fix for SEE ALSO section under content/zh/docs/reference/setup-tools/kubeadm/generated/ need to be deleted #18411 (#18875)

* See Also removed file 31

* see also removed file 32

* see also removed file 33

* see also removed file 34

* see also removed file 35

* Modify pod.md (#18818)

website/content/ko/docs/concepts/workloads/pods/pod.md
23 line
쿠버네티스는는 -> 쿠버네티스는
modify

* remove $ following the style guide (#18855)

* Add Hyperlink to Kubernetes API (#18852)

* Drive by copy edit of blog post (#18881)

* Medium copy edit.

* more fixes

* Translate Events Calendar (#18860)

* Adding Bahasa Indonesia translation for Device Plugin page #18676 (#18676)

Co-Authored-By: Gede Wahyu Adi Pramana <tokekbesi@gmail.com>

Co-authored-by: Gede Wahyu Adi Pramana <tokekbesi@gmail.com>

* change escaped chars to markdown (#18858)

Helps to keep doc clean for long term

* Fix header layout on Safari (#18888)

* Fix references to sig-docs-l10n-admins (#18661)

* Add French deployment concept page (#18516)

* Add French deployment concept page

* Fix

* Fix

* Fix

* Update content/fr/docs/concepts/workloads/controllers/deployment.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Fix

* Fix

* Fix

* Update content/fr/docs/concepts/workloads/controllers/deployment.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Update content/fr/docs/concepts/workloads/controllers/deployment.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Update content/fr/docs/concepts/workloads/controllers/deployment.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Update content/fr/docs/concepts/workloads/controllers/deployment.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

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

* Fix ZH security aliases (#18895)

* disable simplytunde as an approver due to inactivity. (#18899)

Always welcome to come back if able to become active
again

Signed-off-by: Brad Topol <btopol@us.ibm.com>

* install container runtimes without prompts (#18893)

In Kubernetes docs, all of the packages that are required to set up the
Kubernetes are installed without requiring any prompts through
the package manager (like apt or yum) except for the container runtimes.

https://kubernetes.io/docs/setup/production-environment/container-runtimes/

So, it would be better to have these installations with prompts (yes) disabled.

* Fix small typos (#18886)

* Fix small typos

Small typos noticed and fixed in:

- configure-upgrade-etcd.md

- reconfigure-kubelet.md

Signed-off-by: Mariyan Dimitrov <mariyan.dimitrov@gmail.com>

* Rephrase a paragraph on etcd upgrade

en\docs\tasks\administer-cluster\configure-upgrade-etcd.md

Following a suggestion in #18886, I've rephrased a sentence on etcd
upgrade prerequisites.

Signed-off-by: Mariyan Dimitrov <mariyan.dimitrov@gmail.com>

* Clean up extensions/v1beta1 in docs (#18841)

* Update _index.md (#18825)

* Run minikube docker-env in a shell-independent way (#18823)

* doc: correct pv status for pv protection example. (#18816)

* Small editorial fixes in glossary entries (#18807)

* Small editorial fixes in glossary entries

* Revert the wording in the glossary term for proxy

* fix doc conflict regarding postStart (#18806)

* kubeadm: improvements to the cert management documentation (#18397)

- move the sections about custom certificates and external CA
to the kubeadm-certs page
- minor cleanups to the kubeadm-certs page, including updated output
for the check-expiration command
- link the implementation details page to the new locations
for custom certs and external CA

* fix doc conflict regarding postStart

* Grammar (#18785)

* grammar: 'to' distributes over 'or'

* grammar: reword

per app.grammarly.com

* grammar: simplify

from app.grammarly.com

* spelling: etc.

* feat: add ephermeral container approach inside pod debug page. (#18754)

* doc: add pod security policy reference link to document. (#18729)

* doc: add pod security policy reference link to document.

* doc: add what's next for pod-security-policy ref.

* Revise version requirements (#18688)

Assume that the reader is running a version of Kubernetes that supports
the Secret resource.

* en: Remove kubectl duplicate example (#18656)

With #16974 and the removal of --include-uninitialized flag, the
second
    and third examples of kubectl delete become equal, thus leading to
    duplication and being confusing. Suggest to remove the duplicate and
    replace it with another example in the future if needed.

    Observed in v1.16 and v1.17 documentation.

    Signed-off-by: Mariyan Dimitrov <mariyan.dimitrov@gmail.com>

* Fix typo for tasks/access-kubernetes-api/configure-aggregation-layer.md (#18652)

* Unify runtime references (#18493)

- Use the glossary to correctly reference runtimes
- Updated runtime class documentation for CRI-O
- Removed rktlet from runtimes since its EOL

Signed-off-by: Sascha Grunert <sgrunert@suse.com>

* Clean up admission controller deprecation example (#18399)

* sync zh-trans content/zh/docs/concepts/workloads/pods/ephemeral-containers.md (#18883)

* Remove redundant information when deploy flannel on kubernetes include windows node (#18272)

* sync zh-trans content/zh/docs/concepts/workloads/pods/pod-overview.md (#18882)

* partial fix for for SEE ALSO section under content/zh/docs/reference/setup-tools/kubeadm/generated/ need to be deleted (#18879)

* see also removed from file 36

* see also removed from file 37

* see also removed from file 38

* see also removed from file 39

* see also removed from file 40

* update zh content/zh/docs/contribute/style/write-new-topic.md (#18859)

* sync zh-trans /docs/concepts/_index.md and /docs/concepts/example-concept-template.md (#18863)

* See also removed file 56 & 57 (#18912)

* see also removed file 56

* see also removed file 57

* Third Korean L10n Work For Release 1.17 (#18915)

* Changed some words in the IPv4/IPv6 dual-stack korean doc. (#18668)

* Update to Outdated files in dev-1.17-ko.3 branch. (#18580)

* Translate content/ko/docs/concepts/services-networking/service in Korean (#18195)

* Translate docs/tasks/access-application-cluster/port-forward-access-application-cluster.md in Korean (#18721)

* Translate controllers/garbage-collection.md in Korean. (#18595)

Co-Authored-by: Seokho Son <shsongist@gmail.com>
Co-Authored-by: Lawrence Kay <lkay9495@hotmail.com>
Co-Authored-by: Jesang Myung <jesang.myung@gmail.com>
Co-Authored-by: Claudia J.Kang <claudiajkang@gmail.com>
Co-Authored-by: Yuk, Yongsu <ysyukr@gmail.com>
Co-Authored-By: June Yi <june.yi@samsung.com>

Co-authored-by: Yuk, Yongsu <ysyukr@gmail.com>
Co-authored-by: Seokho Son <shsongist@gmail.com>
Co-authored-by: Lawrence Kay <me@lkaybob.pe.kr>
Co-authored-by: Jesang Myung <jesang.myung@gmail.com>
Co-authored-by: June Yi <june.yi@samsung.com>

* clean up makefile, config (#18517)

Added target for createversiondirs (shell script) in Makefile.

updates for tagged release

regenerate api ref, rm Makefile_temp

add parens to pip check

* Improve Russian translation of Home page (#17841)

* Improve Russian translation of Home page

* Update i18n/ru.toml

Co-Authored-By: Slava Semushin <slava.semushin@gmail.com>

* Update content/ru/_index.html

Co-Authored-By: Slava Semushin <slava.semushin@gmail.com>

* Update content/ru/_index.html

Co-Authored-By: Slava Semushin <slava.semushin@gmail.com>

Co-authored-by: Slava Semushin <slava.semushin@gmail.com>

* update ref link for v1.16 (#18837)

Related to issue #18820.

remove links to prev API refs

* Cleanup user journeys related configs and scripts (#18814)

* See also removed file 81 to 85 (#18909)

* see also removed file 81

* see also removed file 82

* see also removed file 83

* see also removed file 84

* see also removed file 85

* See also removed file 65 to 70 (#18908)

* see also removed file 65

* see also removed file 66

* see also removed file 67

* see also removed file 68

* see also removed file 69

* see also removed file 70

* Translate Task index page into Polish (#18876)

Co-Authored-By: Karol Pucyński <kpucynski@gmail.com>
Co-Authored-By: Michał Sochoń <kaszpir@gmail.com>

Co-authored-by: Karol Pucyński <9209870+kpucynski@users.noreply.github.com>
Co-authored-by: Michał Sochoń <kaszpir@gmail.com>

* Document dry-run authorization requirements (#18235)

* Document dry-run write access requirement.

- Add section on dry-run authorization
- Refer to dry-run authorization for diff
- Consistently hyphenate dry-run

* Update content/en/docs/reference/using-api/api-concepts.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

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

* reword storage release note to match the change in k/k PR #87090 (#18921)

* sync zh-trans content/zh/docs/concepts/workloads/controllers/ttlafterfinished.md (#18868)

* See also removed file 60 to 63 (#18907)

* see also removed file 60

* see also removed file 61

* see also removed file 62

* see also removed file 63

* See also removed file 91 to 95 (#18910)

* see also removed file 91

* see also removed file 93

* see also removed file 94

* see also removed file 95

* content/zh/docs/concepts/workloads/pods/podpreset.md (#18870)

* fix: fixed eating initial 2 spaces inside code. (#18914)

* Update Calico section of kubeadm install guide (#18821)

* Update Calico section of kubeadm install guide

* Address review feedback

* See also removed file 96 to 100 (#18911)

* see also removed file 96

* see also removed file 97

* see also removed file 98

* see also removed file 99

* see also removed file 100

* repair zh docs in kubeadm (#18949)

* repair zh docs about kubeadm (#18950)

* Update apparmor.md (#18951)

* Update basic-stateful-set.md (#18952)

* Add missing hyperlink for pod-overhead (#18936)

* Update service.md (#18480)

make article reads more smoothly

* zh-trans update content/zh/docs/concepts/workloads/controllers/deploy… (#18657)

* zh-trans update content/zh/docs/concepts/workloads/controllers/deployment.md

* zh-trans update content\zh\docs\concepts\workloads\controllers\deployment.md

* Update source-ip documentation (#18760)

* sync zh-trans /docs/concepts/workloads/pods/pod.md (#18880)

* sync zh-trans /docs/concepts/workloads/controllers/cron-jobs.md and /docs/concepts/workloads/controllers/daemonset.md (#18864)

* sync zh-trans content/zh/docs/concepts/workloads/controllers/ttlafterfinished.md (#18867)

* Add a French version of Secret concept page (#18604)

* Add a French version of Secret concept page

* Fix

* Fix

* Update content/fr/docs/concepts/configuration/secret.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Fix

* Update content/fr/docs/concepts/configuration/secret.md

Co-Authored-By: Aurélien Perrier <aperrier@universe.sh>

* Fix

Co-authored-by: Tim Bannister <tim@scalefactory.com>
Co-authored-by: Aurélien Perrier <aperrier@universe.sh>

* (refactor): Corrections (grammatical) in service.md file (#18944)

* Update service.md

* Fixed the invaild changes

Signed-off-by: Udit Gaurav <uditgaurav@gmail.com>

* Update container-runtimes.md (#18608)

for debian install of docker, also install gnupg2 for apt-key add to work

* Fix that dual-stack does not require Kubenet specifically (#18924)

* Fix that dual-stack does not require Kubenet specifically

Rather it requires a network plugin that supports dual-stack, and
others are available, including Calico.

* Update content/en/docs/tasks/network/validate-dual-stack.md

Added link to doc about network plugins

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

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

* Revert "Configurable Scaling for the HPA (#18157)" (#18963)

This reverts commit 5dbfaafe1a.

* Update horizontal-pod-autoscale-walkthrough.md (#18960)

Update command for creating php-apache deployment due to the following warning: `kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.`

* doc: add link for type=LoadBalancer service in tutorial. (#18916)

* Typo fix (#18830)

* sync zh-trans content/zh/docs/concepts/workloads/controllers/statefulset.md (#18869)

* Revise pull request template (#18744)

* Revise pull request template

* Reference compiled docs in PR template

Refer readers to https://k8s.io/contribute/start/

This keeps the template short, and it lets Hugo use templating for
the current version.

* Update certificates.md (#18970)

* Add web-ui-dashboard to French (#17974)

* Add web-ui-dashboard to French

* Update content/fr/docs/tasks/access-application-cluster/web-ui-dashboard.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Update content/fr/docs/tasks/access-application-cluster/web-ui-dashboard.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Fix

* Fix

* Fix

* Update content/fr/docs/tasks/access-application-cluster/web-ui-dashboard.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

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

* Added a translated code of conduct (#18981)

* Added a translated code of conduct

* fixed some minor mistakes and capitalization

* Moved to informal speech

* Translate the contribute advanced page to French (#13425)

* Translate the contribute advanced page to French

* Corrections

* Correction

* Correction

* Correction

* Correction

* Correction

* Fix typo in hello-minikube.md (#18991)

* Add note for LB behaviour for cordoned nodes. (#18784)

* Add note for LB behaviour for cordoned nodes.

See also https://github.com/kubernetes/kubernetes/issues/65013
This is a reasonably common pitfall: `kubectl cordon <all nodes>` will also drop all LB traffic to the cluster, but this is not documented anywhere but in issues, when found it is usually already too late.

* Update with feedback

* Add KIND as the options for spinning up a test kubernetes environment (#17860)

* fix typo in /ja/docs/concepts/workloads/pods/init-containers (#18997)

* hide some original comments in translate docs (#18986)

* hide original comment

* hide some original comments

* Fix code of conduct title (#19006)

* Added a note about built-in priority-classes (#18979)

* Added a note about build-in priority-classes

* Update content/en/docs/concepts/configuration/pod-priority-preemption.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

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

* Add description for TTL (#19001)

* Fix whitespace on deployment page (#18990)

* Add details to the API deprecations blog post (#19014)

* Document list/map/structType and listMapKeys (#18977)

These markers where introduced to describe topology of lists, maps,
structs - primarily in support of server-side apply.

Secondarily, a small typo fix:)

* Remove "Unschedulable" pod condition type from the pod lifecycle docs (#18956)

The pod lifecycle documentation erroneously indicated `Unschedulable` as a possible `type` of pod condition. That's not true. Only four condition types exist. The `Unschedulable` value is not a type, but one of the possible reasons of the `PodScheduled` condition type.

* Revise “Encrypting Secret Data at Rest” (#18810)

* Drop reference to old Kubernetes versions

At the time of writing, Kubernetes v1.13 is the oldest supported
version, and encryption-at-rest is no longer alpha.

* Tidy whitespace

* Add table caption

* Set metadata for required Kubernetes version

* maintain the current relative path when switching to other site versions (#18871)

* Update kubectl create configmap section (#18885)

* Add common examples to Service Topology documentation (#18712)

* service topology: add missing 'enabling service topology' page

Signed-off-by: Andrew Sy Kim <kiman@vmware.com>

* service topology: add common examples

Signed-off-by: Andrew Sy Kim <kiman@vmware.com>

* updating contrib for ref docs (#18787)

more cleanup

* fix translate docs format (#19018)

* Update nodes.md (#19019)

* Translate Contribute index page into Russian (#19022)

* Added german translation for Addons page (#19010)

* Added german translation for Addons page

* Smaller adjustments

* removed a english leftover-sentence
* consistent spelling of "Add-Ons"

* Removed english entry for CoreDNS

* Update content/de/docs/concepts/cluster-administration/addons.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Translated a heading

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

* (fix) Removed `-n test` from `kubectl get pv` command (#18877)

- PV are cluster scoped rather than namespaced scope
    - So, there is no need to list it by namespace

Signed-off-by: Aman Gupta <aman.gupta@mayadata.io>

* Link to setup page about Kind (#18996)

Link from /docs/setup/ to /docs/setup/learning-environment/kind/ now
that the target page exists.

* Create Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md (#18808)

* Create Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

* Update Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

* Update Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

* Update Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Update Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Taylor Dolezal <onlydole@users.noreply.github.com>

* Update Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update content/en/blog/_posts/Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-Authored-By: Bob Killen <killen.bob@gmail.com>

* Update Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

* Update and rename Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md to 2020-02-07-Deploying-External-OpenStack-Cloud-Provider-With-Kubeadm.md

Co-authored-by: Bob Killen <killen.bob@gmail.com>
Co-authored-by: Taylor Dolezal <onlydole@users.noreply.github.com>
Co-authored-by: Tim Bannister <tim@scalefactory.com>
Co-authored-by: Kaitlyn Barnard <kaitlynbarnard10@gmail.com>

* Revise glossary entry for Device Plugin (#16291)

* Document control plane monitoring (#17578)

* Document control plane monitoring

* Update content/en/docs/concepts/cluster-administration/monitoring.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Update content/en/docs/concepts/cluster-administration/monitoring.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Merge controller-metrics.md into monitoring.md

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

* Document none driver compatibility with non docker runtime. (#17952)

* Refined unclear sentence on 3rd party dependencies (#18015)

* Refined unclear sentence on 3rd party dependencies

I reworded the sentence on third party dependencies a bit in order to make it more sound

* Update content/en/docs/concepts/security/overview.md

Sounds much better

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

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

* Improve network policies concept (#18091)

* Adopt website style guidelines

* Tweak wording

Co-Authored-By: cmluciano <cmluciano@cruznet.org>

* Make sample NetworkPolicies downloadable

Co-authored-by: cmluciano <cmluciano@cruznet.org>

* clean up secret generators (#18320)

* Use built-in version check & metadata (#18542)

* Reword kubelet live reconfiguration task (#18629)

- Revise version requirements
- Use glossary tooltips in summary
- Use sentence case for headings
- Write kubelet in lowercase where appropriate
- Add “What's next” section

* fix: add dns search record limit note. (#18913)

* Remove duplicate content: Roles & Responsibilities (#18920)

* Remove duplicate content: Roles & Responsibilities

Signed-off-by: Celeste <celeste@cncf.io>
Address feedback

Signed-off-by: Celeste <celeste@cncf.io>

* Apply suggestions from review

Co-Authored-By: Zach Corleissen <zacharysarah@users.noreply.github.com>

* Link to contribution guidelines

Signed-off-by: Celeste Horgan <celeste@cncf.io>

* Address PR feedback

Signed-off-by: Celeste Horgan <celeste@cncf.io>

Co-authored-by: Zach Corleissen <zacharysarah@users.noreply.github.com>

* Fix of pull request #18960 (#18974)

* Fix of pull request #18960

* Add yaml configuration file snippets

* Remove redundant code snippet for  command

* Update cheatsheet.md (#18975)

* Update cheatsheet.md

"List all pods in the namespace, with more details" command corrected by adding --all-namespaces

* Update content/en/docs/reference/kubectl/cheatsheet.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

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

* Correct description of Knitter CNI plugin (#18983)

* Add Elastic metricbeat to examples of DaemonSets and rename logstash (#19024)

* Add Elastic metricbeat to examples of DaemonSets

The URL points to the docs related to how to configure metricbeat on k8s

* Filebeat is the next thing

* Separated commands from output (#19023)

* Update KubeCon URLs (#19027)

The URLs had changed (and were being redirected). Also, added parameters to better identify the traffic source.

* remove see also and close issue (#19032)

* sync zh-trans content/zh/docs/concepts/workloads/controllers/garbage-collection.md (#18865)

* zh trans /docs/reference/access-authn-authz/extensible-admission-controllers.md (#18856)

* Update zh/docs/concepts/services-networking/dns-pod-service.md#pods (#18992)

* Adding contribution best practice in contribute docs (#18059)

* Add kubectl patch example with quotes on Windows (#18853)

* Add kubectl patch example with quotes on Windows

When running the `kubectl patch` example, on Windows systems you get an
error when passing the patch request in single quotes. Passing it in
double quotes with the inner ones escaped produced the desired behavior
as is in the example given for Linux systems. I've added a small note
for Windows users to have that in mind.

Signed-off-by: Mariyan Dimitrov <mariyan.dimitrov@gmail.com>

* Use Hugo note shortcode

Windows note is placed inside a
[shortcode](https://kubernetes.io/docs/contribute/style/style-guide/#shortcodes)
to be consistent with the style guide.

Signed-off-by: Mariyan Dimitrov <mariyan.dimitrov@gmail.com>

* Remove shell Markdown syntax

I've removed the shell syntax from the Windows example and have changed
the description to be the same as the one used in
[jsonpath](https://kubernetes.io/docs/reference/kubectl/jsonpath/)
document to be more consistent. The jsonpath example uses cmd syntax,
though it is note inside a note shortcode, therefore I've opted out of
using any syntax as it seems to break rendering inside the shortcode.

Signed-off-by: Mariyan Dimitrov <mariyan.dimitrov@gmail.com>

* Add cmd markdown syntax and fix order list

I've tested this locally with `make docker-serve` on my Linux machine
and finally things are looking better, I've managed to address these two
issues:

- the Windows example is now inside `note` shortcode and also the cmd
syntax renders correctly on the page

- the list of steps broke after the first one, I've indented a paragraph
and now the steps are in the expected order

Signed-off-by: Mariyan Dimitrov <mariyan.dimitrov@gmail.com>

* Remove command prompt from example

According to the [style guide](https://kubernetes.io/docs/contribute/style/style-guide/#don-t-include-the-command-prompt), the command prompt should not be included when showing an example. This commit removes it for consistency with the style guide.

Signed-off-by: Mariyan Dimitrov <mariyan.dimitrov@gmail.com>

* cleanup /docs/concepts/workloads/pods/pod-lifecycle/ (#19009)

* update nodes.md (#18987)

将“用量低”更改为“可用量低”,避免歧义

* Remove command prompt from Windows example (#18906)

* Remove command prompt from Windows example

According to the [style
guide](https://kubernetes.io/docs/contribute/style/style-guide/#don-t-include-the-command-prompt),
the command prompt should not be included in the examples. Removing the
Windows command prompt from the jsonpath example.

Signed-off-by: Mariyan Dimitrov <mariyan.dimitrov@gmail.com>

* Put Windows example inside note shortcode

I'm putting the Windows example in a Hug note shortcode to be consistent
with the rest of the documentation.

Signed-off-by: Mariyan Dimitrov <mariyan.dimitrov@gmail.com>

* Updated CHANGELOG-11 link (#19036)

* update command used to create deployment (#19005)

The previous one was showing a deprecation warning when used.

* Update Korean localization guide (#19004)

rev1-Update Korean localization guide

* docs: fix broken etcd's official documents link (#19021)

* Update automated-tasks-with-cron-jobs.md (#19043)

Co-authored-by: Xin Chen <xchen@opq.com.au>
Co-authored-by: Tim Bannister <tim@scalefactory.com>
Co-authored-by: lemon <lemonli@users.noreply.github.com>
Co-authored-by: Slava Semushin <slava.semushin@gmail.com>
Co-authored-by: Olivier Cloirec <5033885+clook@users.noreply.github.com>
Co-authored-by: inductor <kohei.ota@zozo.com>
Co-authored-by: Naoki Oketani <okepy.naoki@gmail.com>
Co-authored-by: Samuel Kihahu <kihahu@users.noreply.github.com>
Co-authored-by: Takuma Hashimoto <takuma-hashimoto@freee.co.jp>
Co-authored-by: Keita Akutsu <kakts.git@gmail.com>
Co-authored-by: Masa Taniguchi <maabou512@gmail.com>
Co-authored-by: Soto Sugita <sotoiwa@gmail.com>
Co-authored-by: Kozzy Hasebe <48105562+hasebe@users.noreply.github.com>
Co-authored-by: kazuaki harada <canhel.4suti50y.salamander@gmail.com>
Co-authored-by: Shunsuke Miyoshi <s.miyoshi@jp.fujitsu.com>
Co-authored-by: hato wang <26351545+wyyxd2017@users.noreply.github.com>
Co-authored-by: xieyanker <xjsisnice@gmail.com>
Co-authored-by: zhouya0 <50729202+zhouya0@users.noreply.github.com>
Co-authored-by: littleboy <zhaoze01@inspur.com>
Co-authored-by: camper42 <camper.xlii@gmail.com>
Co-authored-by: Dominic Yin <hi@ydcool.me>
Co-authored-by: Steve Bang <stevebang@gmail.com>
Co-authored-by: Zach Corleissen <zacharysarah@users.noreply.github.com>
Co-authored-by: Ryan McGinnis <ryanmcginnis@users.noreply.github.com>
Co-authored-by: Shunde Zhang <shunde.p.zhang@gmail.com>
Co-authored-by: Bob Killen <killen.bob@gmail.com>
Co-authored-by: Taylor Dolezal <onlydole@users.noreply.github.com>
Co-authored-by: Patrick Ohly <patrick.ohly@intel.com>
Co-authored-by: Eugenio Marzo <eugenio.marzo@yahoo.it>
Co-authored-by: Kaitlyn Barnard <kaitlynbarnard10@gmail.com>
Co-authored-by: TimYin <shiguangyin@inspur.com>
Co-authored-by: Shivang Goswami <shivang.goswami@infosys.com>
Co-authored-by: Fabian Baumanis <fabian.baumanis@gmx.de>
Co-authored-by: Rémy Léone <remy.leone@gmail.com>
Co-authored-by: chentanjun <tanjunchen20@gmail.com>
Co-authored-by: helight <helight@helight.info>
Co-authored-by: Jie Shen <drfish.me@gmail.com>
Co-authored-by: Joe Betz <jpbetz@google.com>
Co-authored-by: Danni Setiawan <danninov@users.noreply.github.com>
Co-authored-by: GoodGameZoo <gaoguangze111@gmail.com>
Co-authored-by: makocchi <makocchi@gmail.com>
Co-authored-by: babang <prabangkoro@users.noreply.github.com>
Co-authored-by: Sharjeel Aziz <sharjeel.aziz@gmail.com>
Co-authored-by: Wojtek Cichoń <wojtek.cichon@protonmail.com>
Co-authored-by: Mariyan Dimitrov <mariyan.dimitrov@gmail.com>
Co-authored-by: Maciej Filocha <12587791+mfilocha@users.noreply.github.com>
Co-authored-by: Michał Sochoń <kaszpir@gmail.com>
Co-authored-by: Yudi A Phanama <11147376+phanama@users.noreply.github.com>
Co-authored-by: Giovan Isa Musthofa <giovanism@outlook.co.id>
Co-authored-by: Park Sung Taek <tjdxor8223@gmail.com>
Co-authored-by: Kyle Smith <kylessmith@protonmail.com>
Co-authored-by: craigbox <craig.box@gmail.com>
Co-authored-by: Afrizal Fikri <laser.survivor@gmail.com>
Co-authored-by: Gede Wahyu Adi Pramana <tokekbesi@gmail.com>
Co-authored-by: Anshu Prateek <333902+anshprat@users.noreply.github.com>
Co-authored-by: Sergei Zyubin <sergei@crate.io>
Co-authored-by: Christoph Blecker <admin@toph.ca>
Co-authored-by: Brad Topol <btopol@us.ibm.com>
Co-authored-by: Venkata Harshavardhan Reddy Allu <venkataharshavardhan_ven@srmuniv.edu.in>
Co-authored-by: KYamani <yamani.kamel@gmail.com>
Co-authored-by: Trishank Karthik Kuppusamy <33133073+trishankatdatadog@users.noreply.github.com>
Co-authored-by: Jacky Wu <Colstuwjx@gmail.com>
Co-authored-by: Gerasimos Dimitriadis <gedimitr@gmail.com>
Co-authored-by: Rajat Toshniwal <rnt.rajat@gmail.com>
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
Co-authored-by: Sascha Grunert <sgrunert@suse.com>
Co-authored-by: wawa <xiaozhang0210@hotmail.com>
Co-authored-by: Claudia J.Kang <claudiajkang@gmail.com>
Co-authored-by: Yuk, Yongsu <ysyukr@gmail.com>
Co-authored-by: Seokho Son <shsongist@gmail.com>
Co-authored-by: Lawrence Kay <me@lkaybob.pe.kr>
Co-authored-by: Jesang Myung <jesang.myung@gmail.com>
Co-authored-by: June Yi <june.yi@samsung.com>
Co-authored-by: Karen Bradshaw <kbhawkey@gmail.com>
Co-authored-by: Alexey Pyltsyn <lex61rus@gmail.com>
Co-authored-by: Karol Pucyński <9209870+kpucynski@users.noreply.github.com>
Co-authored-by: Julian V. Modesto <julianvmodesto@gmail.com>
Co-authored-by: Jeremy L. Morris <jeremylevanmorris@gmail.com>
Co-authored-by: Casey Davenport <caseydavenport@users.noreply.github.com>
Co-authored-by: zhanwang <zhanw15@gmail.com>
Co-authored-by: wwgfhf <51694849+wwgfhf@users.noreply.github.com>
Co-authored-by: harleyliao <357857613@qq.com>
Co-authored-by: ten2ton <50288981+ten2ton@users.noreply.github.com>
Co-authored-by: Aurélien Perrier <aperrier@universe.sh>
Co-authored-by: UDIT GAURAV <35391335+uditgaurav@users.noreply.github.com>
Co-authored-by: Rene Luria <rene@luria.ch>
Co-authored-by: Neil Jerram <neiljerram@gmail.com>
Co-authored-by: Arjun <arjunrn@users.noreply.github.com>
Co-authored-by: Katarzyna Kańska <katarzyna.m.kanska@gmail.com>
Co-authored-by: Laurens Versluis <lfdversluis@users.noreply.github.com>
Co-authored-by: Ray76 <rayfoo55@gmail.com>
Co-authored-by: Alexander Zimmermann <7714821+alexzimmer96@users.noreply.github.com>
Co-authored-by: Christian Meter <cmeter@googlemail.com>
Co-authored-by: MMeent <boekewurm@gmail.com>
Co-authored-by: RA489 <rohit.anand@india.nec.com>
Co-authored-by: Akira Tanimura <autopp.inc@gmail.com>
Co-authored-by: Patouche <Patouche@users.noreply.github.com>
Co-authored-by: Jordan Liggitt <jordan@liggitt.net>
Co-authored-by: Maria Ntalla <maria.ntalla@gmail.com>
Co-authored-by: Marko Lukša <marko.luksa@gmail.com>
Co-authored-by: John Morrissey <jwm@horde.net>
Co-authored-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
Co-authored-by: ngsw <ngsw@ngsw.jp>
Co-authored-by: Aman Gupta <aman.gupta@mayadata.io>
Co-authored-by: Marek Siarkowicz <marek.siarkowicz@protonmail.com>
Co-authored-by: tom1299 <tom1299@users.noreply.github.com>
Co-authored-by: cmluciano <cmluciano@cruznet.org>
Co-authored-by: Celeste Horgan <celeste@cncf.io>
Co-authored-by: Prasad Honavar <prasadhonavar@gmail.com>
Co-authored-by: Sam <sammcj@users.noreply.github.com>
Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com>
Co-authored-by: Dan Kohn <dan@linuxfoundation.org>
Co-authored-by: vishakha <54327666+vishakhanihore@users.noreply.github.com>
Co-authored-by: liyinda246 <liyinda0000@163.com>
Co-authored-by: Kabir Kwatra <kabir@kwatra.me>
Co-authored-by: Armand Grillet <2117580+armandgrillet@users.noreply.github.com>
Co-authored-by: Junwoo Ji <jydrogen@gmail.com>
Co-authored-by: rm <rajib.jolite@gmail.com>
2020-02-10 14:45:53 -08:00

121 lines
15 KiB
HTML

---
title: Spotifyケーススタディ
linkTitle: Spotify
case_study_styles: true
cid: caseStudies
css: /css/style_case_studies.css
logo: spotify_featured_logo.png
featured: true
weight: 2
quote: >
Kubernetesを中心に成長した素晴らしいコミュニティを見て、その一部になりたかったのです。スピードの向上とコスト削減のメリットを享受し、ベストプラクティスとツールについて業界の他の企業と連携したいとも思いました。
---
<div class="banner1" style="background-image: url('/images/CaseStudy_spotify_banner1.jpg')">
<h1> ケーススタディ:Spotify<br> <div class="subhead" style="margin-top:1%">Spotify:コンテナ技術のアーリーアダプターであるSpotifyは自社製オーケストレーションツールからKubernetesに移行しています
</div></h1>
</div>
<div class="details">
企業名 &nbsp;<b>Spotify</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;所在地 &nbsp;<b>グローバル</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;業界 &nbsp;<b>エンターテイメント</b>
</div>
<hr>
<section class="section1">
<div class="cols">
<div class="col1" style="width:100%">
<h2>課題</h2>
2008年から始まったオーディオストリーミングプラットフォームは、アクティブユーザーが世界中で毎月2億人を超えるまでに成長しました。「私たちの目標は、クリエイターたちに力を与え、私たちが現在抱えるすべての消費者、そして願わくば将来抱える消費者が真に没入できる音楽体験を実現することです」、エンジニアリング、インフラおよびオペレーション担当ディレクターのJai Chakrabartiは、こう言います。マイクロサービスとDockerのアーリーアダプターであるSpotifyは、<a href="https://github.com/spotify/helios">Helios</a>という自社開発のコンテナオーケストレーションシステムを使い、自社のVM全体にわたり実行されるマイクロサービスをコンテナ化していました。2017年末までには、「こういった機能開発に自社の小さなチームで取り組むことは効率的ではなく、大きなコミュニティで支持されているものを採用したほうがよい」ことがはっきりしてきました。
<br><br>
<h2>ソリューション</h2>
「Kubernetesを中心に成長した素晴らしいコミュニティを見て、その一部になりたかったのです。」とChakrabartiは言います。KubernetesはHeliosよりも豊富な機能を有していました。さらに、「スピードの向上とコスト削減のメリットを享受し、ベストプラクティスとツールについて業界の他の企業と連携したいとも思いました。」また彼のチームは、活発なKubernetesコミュニティにその知見でコントリビュートし、影響を与えることも望みました。Heliosの稼働と並行して行われたマイグレーションは、スムーズにすすめることができました。それは「KubernetesがHeliosを補完するものとして、そして今はHeliosを代替するものとして非常にフィットしたものだったからです」とChakrabartiは言います。
<h2>インパクト</h2>
2018年の後半に始まり、2019年に向けて大きな注力点となる本マイグレーションにおいて必要となる主要な技術の問題に対応するため、チームは2018年の大半を費やしました。「ほんの一部をKubernetesに移行したのですが、社内チームから聞こえてきたのは、手作業でのキャパシティプロビジョニングを意識する必要性が少なくなり、Spotifyとしての機能の提供に集中できる時間がより多くなってきたということです」とChakrabartiは言います。Kubernetesで現在実行されている最も大きなサービスはアグリゲーションサービスで、1秒あたり約1000万リクエストを受け取り、オートスケールによる大きな恩恵を受けている、とサイト・リライアビリティ・エンジニアのJames Wenは言います。さらに、「以前はチームが新しいサービスを作り、運用ホストを本番環境で稼働させるために1時間待たなければなりませんでしたが、Kubernetesでは秒・分のオーダーでそれを実現できます」と付け加えます。さらに、Kubernetesのビンパッキング(組み合わせ最適化)機能やマルチテナント機能により、CPU使用率が平均して2〜3倍向上しました。
</div>
</div>
</section>
<div class="banner2">
<div class="banner2text">
「Kubernetesを中心に成長した素晴らしいコミュニティを見て、その一部になりたかったのです。スピードの向上とコスト削減のメリットを享受し、ベストプラクティスとツールについて業界の他の企業と連携したいとも思いました。」 <br style="height:25px"><span style="font-size:14px;letter-spacing:2px;text-transform:uppercase;margin-top:5% !important;"><br>- Spotify エンジニアリング、インフラおよびオペレーション担当ディレクター、Jai Chakrabarti</span>
</div>
</div>
<section class="section2">
<div class="fullcol">
<h2>「私たちのゴールは、クリエイターたちに力を与え、今・これからの消費者が真に没入できる音楽体験を実現することです。」Spotifyのエンジニアリング、インフラストラクチャおよびオペレーション担当ディレクター、Jai Chakrabartiは、このように述べています。
2008年から始まったオーディオストリーミングプラットフォームは、アクティブユーザーが世界中で毎月2億人を超えるまでに成長しました。Chakrabartiのチームにとってのゴールは、将来のすべての消費者もサポートするべくSpotifyのインフラを強固なものにしていくことです。</h2>
<br><br>
マイクロサービスとDockerのアーリーアダプターであるSpotifyは、自社のVM全体にわたり実行されるマイクロサービスをコンテナ化していました。同社は「Helios」というオープンソースの自社製コンテナオーケストレーションシステムを使用し、2016年から17年にかけてオンプレミスのデータセンターからGoogle Cloudへの移行を完了しました。こういった意思決定の「我々にはさまざまなピースに取り組む、すばやく繰り返す作業を必要とする自律的なエンジニアリングチームが200以上あり、彼らを中心とした文化があります」とChakrabartiは言います。「したがって、チームがすばやく動けるようになる開発者のベロシティツールを持つことが非常に大事です。」<br><br>しかし、2017年の終わりまでには、「小さなチームが<a href="https://github.com/spotify/helios">Helios</a>の機能に取り組むのは、それよりもはるかに大きなコミュニティで支持されているものと比べると効率的ではない」ことが明らかになった、とChakrabartiは言います。「Kubernetesを取り巻き成長した驚くべきコミュニティを見ました。その一員になりたいと思いました。スピードの向上とコストの削減による恩恵を受けたかったですし、ベストプラクティスとツールをもつ他の業界と連携したいとも思いました。」同時にこのチームは、活発なKubernetesコミュニティにその知見でコントリビュートし、影響を与えることも望みました。
</div>
</section>
<div class="banner3" style="background-image: url('/images/CaseStudy_spotify_banner3.jpg')">
<div class="banner3text">
「このコミュニティは、あらゆる技術への取り組みをより速く、より容易にしてくれることを強力に助けてくれました。そして、私たちの取り組みのすべてを検証することも助けてくれました。」 <br style="height:25px"><span style="font-size:14px;letter-spacing:2px;text-transform:uppercase;margin-top:5% !important;"><br>- Spotify ソフトウェアエンジニア、インフラおよびオペレーション担当、Dave Zolotusky</span>
</div>
</div>
<section class="section3">
<div class="fullcol">
もう1つのプラス:「KubernetesがHeliosを補完するものとして、そして今はHeliosを代替するものとして非常にフィットしたものだったので、リスク軽減のためにHeliosと同時に稼働させることができました」とChakrabartiは言います。「マイグレーションの最中はサービスが両方の環境で実行されるので、さまざまな負荷・ストレス環境下でKubernetesの有効性を確認できるようになるまではすべての卵を1つのバスケットに入れる必要がありません。」
<br><br>
チームは、本マイグレーションにおいて必要となる主要な技術の問題に対応するため、チームは2018年の大半を費やしました。「レガシーのインフラをサポートしたり連携するKubernetes APIやKubernetesの拡張性機能を多く使うことができたので、インテグレーションはシンプルで簡単なものでした」とサイト・リライアビリティ・エンジニアのJames Wenは言います。
<br><br>
マイグレーションはその年の後半に始まり、2019年に加速しました。「私たちはステートレスなサービスに注力しています。最後に残る技術的課題を突破したら、それが上昇をもたらしてくれると期待しています」とChakrabartiは言います。「ステートフルサービスについては、より多くのやるべきことがあります。」
<br><br>
今のところ、Spotifyの150を超えるサービスのごく一部がKubernetesに移行されています。
「社内のチームから聞こえてきたのは、手作業でのキャパシティプロビジョニングを意識する必要性が少なくなり、Spotifyとしての機能の提供に集中できる時間がより多くなってきたということです」とChakrabartiは言います。
Kubernetesで現在実行されている最も大きなサービスはアグリゲーションサービスで、1秒あたり約1000万リクエストを受け取り、オートスケールによる大きな恩恵を受けている、とWenは言います。さらに、「以前はチームが新しいサービスを作り、運用ホストを本番環境で稼働させるために1時間待たなければなりませんでしたが、Kubernetesでは秒・分のオーダーでそれを実現できます」と付け加えます。さらに、Kubernetesのビンパッキング(組み合わせ最適化)機能やマルチテナント機能により、CPU使用率が平均して2〜3倍向上しました。
</div>
</section>
<div class="banner4" style="background-image: url('/images/CaseStudy_spotify_banner4.jpg')">
<div class="banner4text">
「レガシーのインフラをサポートしたり連携するKubernetes APIやKubernetesの拡張性機能をたくさん使うことができたので、インテグレーションはシンプルで簡単なものでした」<br style="height:25px"><span style="font-size:14px;letter-spacing:2px;text-transform:uppercase;margin-top:5% !important;"><br>- Spotify、Spotifyエンジニア、James Wen</span>
</div>
</div>
<section class="section5" style="padding:0px !important">
<div class="fullcol">
Chakrabartiは、Spotifyが見ている4つのトップレベルのメトリック - リードタイム、デプロイ頻度、修復時間、そして運用負荷 - のすべてについて「Kubernetesがインパクトを与えている」と指摘します。
<br><br>
Kubernetesが初期の頃に出てきたサクセスストーリーの1つに、SpotifyチームがKubernetesの上に構築したSlingshotというツールがあります。「プルリクエストを出すと、24時間後に自己消滅する一時的なステージング環境を生成します」とChakrabartiは言います。「これはすべてKubernetesがやってくれています。新しいテクノロジーが出てきて使えるようになったときに、自分のイメージを超えるようなソリューションをいかにしてこの環境上で作っていくか、そのやり方を示す刺激的な例だと思います。」
<br><br>
またSpotifyは<a href="https://grpc.io/">gRPC</a><a href="https://www.envoyproxy.io/">envoy</a>を使い、Kubernetesと同じように、既存の自社製ソリューションを置き換え始めました。「私たちはその時の自分たちの規模を理由にした開発をしていて、実際に他のソリューションはありませんでした」とインフラおよび運用担当のソフトウェアエンジニアであるDave Zolotuskyは言います。「しかし、そういった規模感のツールですらコミュニティは私たちに追いつき、追い越して行きました。」
</div>
<div class="banner5" >
<div class="banner5text">
「私たちが取り組んでいることに関する専門知識を得るために、コンタクトしたい人と連絡を取るのは驚くほど簡単でした。そして、私たちが行っていたすべての検証で役立ちました」 <br style="height:25px"><span style="font-size:14px;letter-spacing:2px;text-transform:uppercase;margin-top:5% !important;"><br>- Spotify、サイト・リライアビリティ・エンジニア、James Wen</span></div>
</div>
<div class="fullcol">
どちらの技術も採用するには初期段階ではありますが、「gRPCはスキーマ管理、API設計、下位互換の問題など、初期の開発段階における多くの問題に対してより劇的な影響を与えると確信しています」とZolotuskyは言います。「そのため、そういった領域でgRPCに傾倒しています。」
<br><br>
チームはSpotifyのクラウドネイティブなスタックを拡大し続けており - この次にあるのはスタックトレーシングです - CNCFランドスケープを有用なガイドとして活用しています。「解決する必要があるものを見たときに、もし多数のプロジェクトがあればそれらを同じように評価しますが、そのプロジェクトがCNCFプロジェクトであることには間違いなく価値があります」とZolotuskyは言います。
<br><br>
SpotifyがKubernetesでこれまでに経験してきたことはそれを裏付けています。「あらゆる技術により速くより簡単に取り組めるようになる点で、このコミュニティは極めて有益です」とZolotuskyは言います。「私たちが取り組んでいることに関する専門知識を得るために、コンタクトしたい人と連絡を取るのは驚くほど簡単でした。そして、私たちが行っていたすべての検証で役立ちました。」
</div>
</section>
</body>
</html>