First Japanese l10n work for release-1.15. (#17693)

* traslate /docs/concepts/architecture/_index.md into Japanese (#15456)

* tranaslated (#15458)

* translate /ja/docs/reference/_index.md (#15624)

* translate /ja/docs/reference/_index.md

* Update content/ja/docs/reference/_index.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/reference/_index.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/reference/_index.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* patch reviews

* Follow the dir structure of en in setup (#15590)

* follow the dir structure of en in setup

* delete unrelated files

* wip removing ja

* removeg ja

* remove ja

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* review

* numbered list

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Translate /docs/setup/turnkey/aws.md in Japanese (#15640)

* Translate content/ja/docs/setup/turnkey/aws.md

partially

* Update content/ja/docs/setup/turnkey/aws.md

... Kubernetes cluster on AWS: AWS上でKubernetesクラスターを...
https://github.com/kubernetes/website/pull/15640/files#r310338415

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

* Update content/ja/docs/setup/turnkey/aws.md (Kubernetes Operations)

- replace English commas with Japanese one (、)
- Management: 管理

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

* Update content/ja/docs/setup/turnkey/aws.md (kube-aws)

- replace English commas
- insert a Japanese comma

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

* Update content/ja/docs/setup/turnkey/aws.md (kubectl)

- 断定でなく選択を与えるニュアンス

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

* Translate content/ja/docs/setup/turnkey/aws.md

completely

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

* fix translation

https://github.com/kubernetes/website/pull/15640#discussion_r310418805
自身がsupportするのでなく、Kubernetes Operationsがsupportしている、というニュアンス

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

* fix mistranslation

https://github.com/kubernetes/website/pull/15640#discussion_r310419122
ここでのwithはusingに近い意味合いで

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

* fix translation

https://github.com/kubernetes/website/pull/15640#discussion_r310568505
ここでのthroughは通過や媒介という意味合いよりも、手段を表すと捉える

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

* Update content/ja/docs/setup/turnkey/aws.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/setup/production-environment/turnkey/aws.md

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

* Translate docs/tutorials/stateless-application/expose-external-ip-address.md in Japanese (#15672)

* Copy from content/ja/docs/tutorials/stateless-application/

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

* update link to Japanese document

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

* Translate expose-external-ip-address in Japanese

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

* Update content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md

やや不自然だった

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md

s/ロードバランサ/ロードバランサー/

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md

s/サーバ/サーバー/

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Revert "update link to Japanese document"

This reverts commit 9237f63402b0e642600d1ea24c6b410f877c165e.
https://github.com/kubernetes/website/pull/15672#discussion_r311327200

* remove a new line

段落としては同じ

* Update content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md

https://github.com/kubernetes/website/pull/15672#discussion_r312317653

* Update content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Translate concepts/architecture/nodes.md into Japanese (#15625)

* Translate concepts/architecture/nodes.md into Japanese

* update translation

* fix translation

* eviction

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: makocchi <makocchi@gmail.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: makocchi <makocchi@gmail.com>

* plural

* review

* node

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* healthy

* review

* namespace

* Translate tasks/run-application/force-delete-stateful-set-pod/ in Japanese (#15835)

* ja-trans: tasks/run-application/force-delete-stateful-set-pod/

* Update content/ja/docs/tasks/run-application/force-delete-stateful-set-pod.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tasks/run-application/force-delete-stateful-set-pod.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tasks/run-application/force-delete-stateful-set-pod.md

* Update content/ja/docs/tasks/run-application/force-delete-stateful-set-pod.md

* Translate concepts/architecture/master-node-communication.md into Japanese (#15638)

* translate master node communication

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* deprecated

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: Takuya Tokuda <cs.toku.mail@gmail.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: Takuya Tokuda <cs.toku.mail@gmail.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: Takuya Tokuda <cs.toku.mail@gmail.com>

* Translate /docs/tasks/tools/install-kubectl.md in Japanese (#15678)

* Copy from content/en/docs/tasks/tools/install-kubectl.md

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

* fix link to install-kubectl

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

* Translate Headings and Subheadings

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

* translate text of install-kubectl in Japanese

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

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

s/ユーザ/ユーザー/

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update install-kubectl.md

s/する:/してください:/g

* Translate /docs/tutorials/configuration/configure-redis-using-configmap.md in Japanese  (#15639)

* translate redis example

* add index

* Update content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* review

* Translate docs/concepts/configuration/overview.md in Japanese  (#15627)

* Translate docs/concepts/configuration/overview.md in Japanese

* Update content/ja/docs/concepts/configuration/overview.md

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

* Update content/ja/docs/concepts/configuration/overview.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/configuration/overview.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/configuration/overview.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/configuration/overview.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Fix terminology in Japanese translation (#15889)

* cluster

* cluster

* node

* cluster

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

Co-Authored-By: Takuya Tokuda <cs.toku.mail@gmail.com>

* sitemap and search (#15927)

* Translate tasks/debug-application-cluster/debug-pod-replication-contr… (#15883)

* Translate tasks/debug-application-cluster/debug-pod-replication-controller/ in Japanese

* Update content/ja/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* fix missing parenthesis (#16044)

```
Error: Error building site: "/src/content/ja/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md:106:10": unrecognized character in shortcode action: U+003E '>'. Note: Parameters with non-alphanumeric args must be quoted
```

* Translate tasks/configure-pod-container/configure-volume-storage/ in Japanese (#16058)

* Translate tasks/configure-pod-container/configure-volume-storage/ in Japanese

* Update content/ja/docs/tasks/configure-pod-container/configure-volume-storage.md

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

* Update content/ja/docs/tasks/configure-pod-container/configure-volume-storage.md

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

* Translate text of docs/setup/release/version-skew-policy.md in Japanese (#15903)

* translate content/ja/docs/setup/release/version-skew-policy.md in Japanese

* translate "version skew"

https://github.com/kubernetes/website/pull/15903#issuecomment-524518826

バージョン間の差異 となる
タイトルは原文どおりに用語として残し、初回の文でskew=差異であることを明示する
以降はskewを翻訳する

* fix translation

- 格助詞漏れ
- more than 1...は1を含まないそれ以上の値であり、実質「2以上」となるので、そのように訳したほうが自然

* delete unnecessary sentences

* update translation

cf. 422f5b0e6a0c52f844cfae66cde01f47fca4cf4e

* update translation

componentsが当該バージョンをサポートするのでなく、kube-apiserverのバージョンの結果ほかのcomponentsが当該バージョンをサポート**される**イメージ

* Translate concepts/architecture/cloud-controller/ into Japanese (#16099)

* Translate concepts/architecture/cloud-controller/ into Japanese

* Revise sentences based on suggestion by reviewers

* Revise a sentence based on suggestion by a reviewer

* Fix wording to distinguish Kubernetes related resources from others

* fix a typo (#16121)

* fix some wording on home (#16127)

* Translate contribute / _index.md to Japanese (#16050)

* translate contribute index into Japanese

* modify some terms

* modify according to style guide

* use same terminology about contribute

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

Co-Authored-By: Takuya Tokuda <cs.toku.mail@gmail.com>

* Translate concepts/overview/components and related glossaries in Japanase (#16034)

* Translate concepts/overview/components and related glossaries in Japanese

* Revise sentences based on suggestion by reviewers

* Translate tasks/configure-pod-container/assign-memory-resource/ in Japanese (#16055)

* copy from content/en/docs/tasks/configure-pod-container/assign-memory-resource to ja directory

* translate tasks/configure-pod-container/assign-memory-resource/ in Japanese

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

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

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

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

* fix translation

%s/メモリ/メモリー/g

* Translate tasks/access-application-cluster/communicate-containers-same-pod-shared-volume/ in Japanese (#16183)

* Translate concepts/configuration/assign-pod-node/ in Japanese (#16221)

* issue 15552

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

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

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

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

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

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

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

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

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

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

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

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

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

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

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

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

* modification after a review

* Translate docs/tasks/administer-cluster/developing-cloud-controller-manager in ja (#16088)

* Translate docs/tasks/administer-cluster/developing-cloud-controller-manager/ in Japanese

* Update content/ja/docs/tasks/administer-cluster/developing-cloud-controller-manager.md

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

* Update content/ja/docs/tasks/administer-cluster/developing-cloud-controller-manager.md

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

* Update content/ja/docs/tasks/administer-cluster/developing-cloud-controller-manager.md

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

* Update content/ja/docs/tasks/administer-cluster/developing-cloud-controller-manager.md

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

* Remove reviewers section

* Modified wording to unified

* Remove unnecessary brackets

* Translate concepts/overview/working-with-objects/object-management/ into Japanese (#16400)

* Translate concepts/overview/working-with-objects/object-management/ into Japanese

* Refine some words based on review comments

* Add a word to refine a sentence based on a review comment

* Translate content/ja/docs/concepts/cluster-administration/controller-… (#16351)

* Translate content/ja/docs/concepts/cluster-administration/controller-metrics in ja

* Improved to format a text

* Fix inconsistent spellings

* Update content/ja/docs/concepts/cluster-administration/controller-metrics.md

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

* Update content/ja/docs/concepts/cluster-administration/controller-metrics.md

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

* Translate concepts/extend-kubernetes/extend-cluster/ and related glossaries into Japanese (#16636)

* Translate concepts/extend-kubernetes/extend-cluster/ and related glossaries into Japanese

* Apply suggestions from code review by inductor

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

* Update a translation for extension point

* Apply suggestions from code review by sftim

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

* Apply suggestions from code review by sftim

* Fix the translation for document

* Apply a suggestion from code review by nasa9084

* Apply suggestions from code review by inductor and nasa9084

* fix: s/kubernetes/Kubernetes/ (#16057)

* Translate reference/command-line-tools-reference/feature-gates in Japanese (#16554)

* Translate docs/reference/command-line-tools-reference/feature-gates in ja

* Fix inconsistent spellings

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

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

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

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

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

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

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

* ポッド -> Pod

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

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

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

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

* ポッドreadinessゲート -> Pod readiness gate

* ポッド -> pod

* Pods -> Pod

* Fix typo: Kunbernetes -> Kubernetes

* 機能ゲート -> フィーチャーゲート

* リポジトリ -> リポジトリー

* キー=値 -> key=value

* Translate concepts/storage/volume-pvc-datasource in Japanese (#16775)

* Translate concepts/storage/volume-pvc-datasource in Japanese

* Remove original English contents(forgot to remove)

* Container Storage Interface -> コンテナストレージインターフェイス

* フューチャーゲート -> フィーチャーゲート

* Improved a translate to more natural expression

* Update content/ja/docs/reference/glossary/csi.md

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

* Update content/ja/docs/reference/glossary/storage-class.md

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

* Update content/ja/docs/reference/glossary/storage-class.md

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

* Update content/ja/docs/reference/glossary/storage-class.md

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

* Update content/ja/docs/reference/glossary/storage-class.md

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

* Update content/ja/docs/reference/glossary/storage-class.md

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

* Improved a translate to more natural expression

* Remove an unnecessary line break

* Improved some translate words to natural sentence

* Improved translate

* Fix translate

* Translate docs/reference/glossary/selector.md in Japanese (#17375)

* Translate docs/reference/glossary/selector.md in Japanese

* Translate title into Japanese

Co-Authored-By: bells17 <bells171@gmail.com>

* Translate tasks/configure-pod-container/share-process-namespace/ into Japanese (#16220)

* Translate tasks/configure-pod-container/share-process-namespace/ into Japanese

* reflect review

* Translate tasks/access-application-cluster/connecting-frontend-backend/ into Japanese (#16270)

* Translate tasks/access-application-cluster/connecting-frontend-backend/ into Japanese

* reflect review

* translate tooltip text

Co-Authored-By: bells17 <bells171@gmail.com>

* Translate concepts/extend-kubernetes/operator/ into Japanese (#16455)

* Translate concepts/extend-kubernetes/operator/ into Japanese

* Update the word operator into Japanese

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

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

* Apply suggestions by inductor from code review

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

* Refine sentences under bullet points

* Refine sentences in response to the review by makocchi-git

* Translate concepts/extend-kubernetes/api-extension/apiserver-aggregation/ into Japanese (#16662)

* Translate concepts/extend-kubernetes/api-extension/apiserver-aggregation/ into Japanese

* Apply suggestions from code review by inductor

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

* Apply suggestions from review by MasayaAoyama

* Apply a suggestion from review by MasayaAoyama

* assign inductor as sig-docs-ja approver (#17412) (#17517)

* traslate /docs/concepts/architecture/_index.md into Japanese (#15456)

* tranaslated (#15458)

* translate /ja/docs/reference/_index.md (#15624)

* translate /ja/docs/reference/_index.md

* Update content/ja/docs/reference/_index.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/reference/_index.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/reference/_index.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* patch reviews

* Follow the dir structure of en in setup (#15590)

* follow the dir structure of en in setup

* delete unrelated files

* wip removing ja

* removeg ja

* remove ja

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* review

* numbered list

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Translate /docs/setup/turnkey/aws.md in Japanese (#15640)

* Translate content/ja/docs/setup/turnkey/aws.md

partially

* Update content/ja/docs/setup/turnkey/aws.md

... Kubernetes cluster on AWS: AWS上でKubernetesクラスターを...
https://github.com/kubernetes/website/pull/15640/files#r310338415

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

* Update content/ja/docs/setup/turnkey/aws.md (Kubernetes Operations)

- replace English commas with Japanese one (、)
- Management: 管理

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

* Update content/ja/docs/setup/turnkey/aws.md (kube-aws)

- replace English commas
- insert a Japanese comma

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

* Update content/ja/docs/setup/turnkey/aws.md (kubectl)

- 断定でなく選択を与えるニュアンス

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

* Translate content/ja/docs/setup/turnkey/aws.md

completely

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

* fix translation

https://github.com/kubernetes/website/pull/15640#discussion_r310418805
自身がsupportするのでなく、Kubernetes Operationsがsupportしている、というニュアンス

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

* fix mistranslation

https://github.com/kubernetes/website/pull/15640#discussion_r310419122
ここでのwithはusingに近い意味合いで

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

* fix translation

https://github.com/kubernetes/website/pull/15640#discussion_r310568505
ここでのthroughは通過や媒介という意味合いよりも、手段を表すと捉える

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

* Update content/ja/docs/setup/turnkey/aws.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/setup/production-environment/turnkey/aws.md

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

* Translate docs/tutorials/stateless-application/expose-external-ip-address.md in Japanese (#15672)

* Copy from content/ja/docs/tutorials/stateless-application/

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

* update link to Japanese document

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

* Translate expose-external-ip-address in Japanese

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

* Update content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md

やや不自然だった

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md

s/ロードバランサ/ロードバランサー/

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md

s/サーバ/サーバー/

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Revert "update link to Japanese document"

This reverts commit 9237f63402b0e642600d1ea24c6b410f877c165e.
https://github.com/kubernetes/website/pull/15672#discussion_r311327200

* remove a new line

段落としては同じ

* Update content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md

https://github.com/kubernetes/website/pull/15672#discussion_r312317653

* Update content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Translate concepts/architecture/nodes.md into Japanese (#15625)

* Translate concepts/architecture/nodes.md into Japanese

* update translation

* fix translation

* eviction

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: makocchi <makocchi@gmail.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: makocchi <makocchi@gmail.com>

* plural

* review

* node

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/nodes.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* healthy

* review

* namespace

* Translate tasks/run-application/force-delete-stateful-set-pod/ in Japanese (#15835)

* ja-trans: tasks/run-application/force-delete-stateful-set-pod/

* Update content/ja/docs/tasks/run-application/force-delete-stateful-set-pod.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tasks/run-application/force-delete-stateful-set-pod.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tasks/run-application/force-delete-stateful-set-pod.md

* Update content/ja/docs/tasks/run-application/force-delete-stateful-set-pod.md

* Translate concepts/architecture/master-node-communication.md into Japanese (#15638)

* translate master node communication

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* deprecated

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: Takuya Tokuda <cs.toku.mail@gmail.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: Takuya Tokuda <cs.toku.mail@gmail.com>

* Update content/ja/docs/concepts/architecture/master-node-communication.md

Co-Authored-By: Takuya Tokuda <cs.toku.mail@gmail.com>

* Translate /docs/tasks/tools/install-kubectl.md in Japanese (#15678)

* Copy from content/en/docs/tasks/tools/install-kubectl.md

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

* fix link to install-kubectl

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

* Translate Headings and Subheadings

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

* translate text of install-kubectl in Japanese

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

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

s/ユーザ/ユーザー/

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update install-kubectl.md

s/する:/してください:/g

* Translate /docs/tutorials/configuration/configure-redis-using-configmap.md in Japanese  (#15639)

* translate redis example

* add index

* Update content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* review

* Translate docs/concepts/configuration/overview.md in Japanese  (#15627)

* Translate docs/concepts/configuration/overview.md in Japanese

* Update content/ja/docs/concepts/configuration/overview.md

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

* Update content/ja/docs/concepts/configuration/overview.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/configuration/overview.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/configuration/overview.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/configuration/overview.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Fix terminology in Japanese translation (#15889)

* cluster

* cluster

* node

* cluster

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

Co-Authored-By: Takuya Tokuda <cs.toku.mail@gmail.com>

* sitemap and search (#15927)

* Translate tasks/debug-application-cluster/debug-pod-replication-contr… (#15883)

* Translate tasks/debug-application-cluster/debug-pod-replication-controller/ in Japanese

* Update content/ja/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* fix missing parenthesis (#16044)

```
Error: Error building site: "/src/content/ja/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md:106:10": unrecognized character in shortcode action: U+003E '>'. Note: Parameters with non-alphanumeric args must be quoted
```

* Translate tasks/configure-pod-container/configure-volume-storage/ in Japanese (#16058)

* Translate tasks/configure-pod-container/configure-volume-storage/ in Japanese

* Update content/ja/docs/tasks/configure-pod-container/configure-volume-storage.md

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

* Update content/ja/docs/tasks/configure-pod-container/configure-volume-storage.md

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

* Translate text of docs/setup/release/version-skew-policy.md in Japanese (#15903)

* translate content/ja/docs/setup/release/version-skew-policy.md in Japanese

* translate "version skew"

https://github.com/kubernetes/website/pull/15903#issuecomment-524518826

バージョン間の差異 となる
タイトルは原文どおりに用語として残し、初回の文でskew=差異であることを明示する
以降はskewを翻訳する

* fix translation

- 格助詞漏れ
- more than 1...は1を含まないそれ以上の値であり、実質「2以上」となるので、そのように訳したほうが自然

* delete unnecessary sentences

* update translation

cf. 422f5b0e6a0c52f844cfae66cde01f47fca4cf4e

* update translation

componentsが当該バージョンをサポートするのでなく、kube-apiserverのバージョンの結果ほかのcomponentsが当該バージョンをサポート**される**イメージ

* Translate concepts/architecture/cloud-controller/ into Japanese (#16099)

* Translate concepts/architecture/cloud-controller/ into Japanese

* Revise sentences based on suggestion by reviewers

* Revise a sentence based on suggestion by a reviewer

* Fix wording to distinguish Kubernetes related resources from others

* fix a typo (#16121)

* fix some wording on home (#16127)

* Translate contribute / _index.md to Japanese (#16050)

* translate contribute index into Japanese

* modify some terms

* modify according to style guide

* use same terminology about contribute

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

Co-Authored-By: Takuya Tokuda <cs.toku.mail@gmail.com>

* Translate concepts/overview/components and related glossaries in Japanase (#16034)

* Translate concepts/overview/components and related glossaries in Japanese

* Revise sentences based on suggestion by reviewers

* Translate tasks/configure-pod-container/assign-memory-resource/ in Japanese (#16055)

* copy from content/en/docs/tasks/configure-pod-container/assign-memory-resource to ja directory

* translate tasks/configure-pod-container/assign-memory-resource/ in Japanese

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

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

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

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

* fix translation

%s/メモリ/メモリー/g

* Translate tasks/access-application-cluster/communicate-containers-same-pod-shared-volume/ in Japanese (#16183)

* Translate concepts/configuration/assign-pod-node/ in Japanese (#16221)

* issue 15552

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

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

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

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

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

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

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

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

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

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

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

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

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

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

* Update content/ja/docs/concepts/configuration/assign-pod-node.md

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

* modification after a review

* Translate docs/tasks/administer-cluster/developing-cloud-controller-manager in ja (#16088)

* Translate docs/tasks/administer-cluster/developing-cloud-controller-manager/ in Japanese

* Update content/ja/docs/tasks/administer-cluster/developing-cloud-controller-manager.md

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

* Update content/ja/docs/tasks/administer-cluster/developing-cloud-controller-manager.md

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

* Update content/ja/docs/tasks/administer-cluster/developing-cloud-controller-manager.md

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

* Update content/ja/docs/tasks/administer-cluster/developing-cloud-controller-manager.md

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

* Remove reviewers section

* Modified wording to unified

* Remove unnecessary brackets

* Translate concepts/overview/working-with-objects/object-management/ into Japanese (#16400)

* Translate concepts/overview/working-with-objects/object-management/ into Japanese

* Refine some words based on review comments

* Add a word to refine a sentence based on a review comment

* Translate content/ja/docs/concepts/cluster-administration/controller-… (#16351)

* Translate content/ja/docs/concepts/cluster-administration/controller-metrics in ja

* Improved to format a text

* Fix inconsistent spellings

* Update content/ja/docs/concepts/cluster-administration/controller-metrics.md

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

* Update content/ja/docs/concepts/cluster-administration/controller-metrics.md

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

* Translate concepts/extend-kubernetes/extend-cluster/ and related glossaries into Japanese (#16636)

* Translate concepts/extend-kubernetes/extend-cluster/ and related glossaries into Japanese

* Apply suggestions from code review by inductor

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

* Update a translation for extension point

* Apply suggestions from code review by sftim

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

* Apply suggestions from code review by sftim

* Fix the translation for document

* Apply a suggestion from code review by nasa9084

* Apply suggestions from code review by inductor and nasa9084

* fix: s/kubernetes/Kubernetes/ (#16057)

* Translate reference/command-line-tools-reference/feature-gates in Japanese (#16554)

* Translate docs/reference/command-line-tools-reference/feature-gates in ja

* Fix inconsistent spellings

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

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

Co-Authored-By: nasa9084 <nasa9084@users.noreply.github.com>

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

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

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

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

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

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

* ポッド -> Pod

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

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

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

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

* ポッドreadinessゲート -> Pod readiness gate

* ポッド -> pod

* Pods -> Pod

* Fix typo: Kunbernetes -> Kubernetes

* 機能ゲート -> フィーチャーゲート

* リポジトリ -> リポジトリー

* キー=値 -> key=value

* Translate concepts/storage/volume-pvc-datasource in Japanese (#16775)

* Translate concepts/storage/volume-pvc-datasource in Japanese

* Remove original English contents(forgot to remove)

* Container Storage Interface -> コンテナストレージインターフェイス

* フューチャーゲート -> フィーチャーゲート

* Improved a translate to more natural expression

* Update content/ja/docs/reference/glossary/csi.md

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

* Update content/ja/docs/reference/glossary/storage-class.md

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

* Update content/ja/docs/reference/glossary/storage-class.md

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

* Update content/ja/docs/reference/glossary/storage-class.md

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

* Update content/ja/docs/reference/glossary/storage-class.md

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

* Update content/ja/docs/reference/glossary/storage-class.md

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

* Improved a translate to more natural expression

* Remove an unnecessary line break

* Improved some translate words to natural sentence

* Improved translate

* Fix translate

* Translate docs/reference/glossary/selector.md in Japanese (#17375)

* Translate docs/reference/glossary/selector.md in Japanese

* Translate title into Japanese

Co-Authored-By: bells17 <bells171@gmail.com>

* Translate tasks/configure-pod-container/share-process-namespace/ into Japanese (#16220)

* Translate tasks/configure-pod-container/share-process-namespace/ into Japanese

* reflect review

* Translate tasks/access-application-cluster/connecting-frontend-backend/ into Japanese (#16270)

* Translate tasks/access-application-cluster/connecting-frontend-backend/ into Japanese

* reflect review

* translate tooltip text

Co-Authored-By: bells17 <bells171@gmail.com>

* Translate concepts/extend-kubernetes/operator/ into Japanese (#16455)

* Translate concepts/extend-kubernetes/operator/ into Japanese

* Update the word operator into Japanese

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

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

* Apply suggestions by inductor from code review

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

* Refine sentences under bullet points

* Refine sentences in response to the review by makocchi-git

* Translate concepts/extend-kubernetes/api-extension/apiserver-aggregation/ into Japanese (#16662)

* Translate concepts/extend-kubernetes/api-extension/apiserver-aggregation/ into Japanese

* Apply suggestions from code review by inductor

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

* Apply suggestions from review by MasayaAoyama

* Apply a suggestion from review by MasayaAoyama

* ja-trans: content/ja/case-studies/sos (#17338)

* Add case-studies for SOS International(JP)

* Add logo file

* fixup! Add case-studies for SOS International(JP)

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

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

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

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

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

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

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

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

* ja-trans:Translate concepts/services-networking/service/ into Japanese (#14917) (#16319)

* ja-trans:Translate concepts/services-networking/service/ into Japanese (#14917)

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

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

* ja-trans: Improve Japanese translation in concepts/services-networking/_index.md (#14917)

* ja-trans: Improve Japanese translation in reference/glossary/namespace.md (#14917)

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

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

* ja-trans: content/ja/case-studies/nordstrom (#16953)

* Add case-studies for Nordstrom(JP)

* fixup! Add case-studies for Nordstrom(JP)

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

line 25
eコマースサイト->ECサイト
技術運用->技術的な運用
探して->模索して

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

* mod some sentences

* fixup! mod some sentences

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

Line98 
・クラスター ->クラスタ
・表現を修正

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

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

向上->改善

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

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

クラスタ -> クラスター

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

* fixup! Update content/ja/case-studies/nordstrom/index.html

* Translate docs/reference/glossary/node.md into Japanese (#17680)

* Translate docs/reference/glossary/control-plane.md into Japanese (#17679)

* Translate docs/reference/glossary/control-plane.md into Japanese

* Update content/ja/docs/reference/glossary/control-plane.md

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

* Update content/ja/docs/reference/glossary/control-plane.md

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

* ja-trans: Translate concepts/scheduling/kube-scheduler/ in Japanese #17118 (#17586)

* ja-trans:Translate concepts/scheduling/kube-scheduler/ into Japanese (#17118)

* ja-trans: Improve Japanese translation in concepts/scheduling/kube-scheduler/  (#17118)

* ja-trans: Improve Japanese translation in concepts/scheduling/kube-scheduler/  (#17118)
This commit is contained in:
inductor
2019-11-20 14:25:19 -08:00
committed by Kubernetes Prow Robot
parent 8c88039129
commit 4532bd2bdb
141 changed files with 8780 additions and 1891 deletions
@@ -0,0 +1,144 @@
---
title: 共有ボリュームを使用して同じPod内のコンテナ間で通信する
content_template: templates/task
weight: 110
---
{{% capture overview %}}
このページでは、ボリュームを使用して、同じPodで実行されている2つのコンテナ間で通信する方法を示します。
コンテナ間で[プロセス名前空間を共有する](/ja/docs/tasks/configure-pod-container/share-process-namespace/)ことにより、プロセスが通信できるようにする方法も参照してください。
{{% /capture %}}
{{% capture prerequisites %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
## 2つのコンテナを実行するPodの作成
この演習では、2つのコンテナを実行するPodを作成します。
2つのコンテナは、通信に使用できるボリュームを共有します。
これがPodの設定ファイルです:
{{< codenew file="pods/two-container-pod.yaml" >}}
設定ファイルで、Podに`shared-data`という名前のボリュームがあることがわかります。
設定ファイルにリストされている最初のコンテナは、nginxサーバーを実行します。
共有ボリュームのマウントパスは`/usr/share/nginx/html`です。
2番目のコンテナはdebianイメージをベースとしており、`/pod-data`のマウントパスを持っています。
2番目のコンテナは次のコマンドを実行してから終了します。
echo Hello from the debian container > /pod-data/index.html
2番目のコンテナがnginxサーバーのルートディレクトリに`index.html`ファイルを書き込むことに注意してください。
Podと2つのコンテナを作成します:
kubectl apply -f https://k8s.io/examples/pods/two-container-pod.yaml
Podとコンテナに関する情報を表示します:
kubectl get pod two-containers --output=yaml
こちらは出力の一部です:
apiVersion: v1
kind: Pod
metadata:
...
name: two-containers
namespace: default
...
spec:
...
containerStatuses:
- containerID: docker://c1d8abd1 ...
image: debian
...
lastState:
terminated:
...
name: debian-container
...
- containerID: docker://96c1ff2c5bb ...
image: nginx
...
name: nginx-container
...
state:
running:
...
debianコンテナが終了し、nginxコンテナがまだ実行されていることがわかります。
nginxコンテナへのシェルを取得します:
kubectl exec -it two-containers -c nginx-container -- /bin/bash
シェルで、nginxが実行されていることを確認します:
root@two-containers:/# apt-get update
root@two-containers:/# apt-get install curl procps
root@two-containers:/# ps aux
出力はこのようになります:
USER PID ... STAT START TIME COMMAND
root 1 ... Ss 21:12 0:00 nginx: master process nginx -g daemon off;
debianコンテナがnginxルートディレクトリに`index.html`ファイルを作成したことを思い出してください。
`curl`を使用して、GETリクエストをnginxサーバーに送信します:
root@two-containers:/# curl localhost
出力は、nginxがdebianコンテナによって書かれたWebページを提供することを示しています:
Hello from the debian container
{{% /capture %}}
{{% capture discussion %}}
## 議論
Podが複数のコンテナを持つことができる主な理由は、プライマリアプリケーションを支援するヘルパーアプリケーションをサポートするためです。
ヘルパーアプリケーションの典型的な例は、データプラー、データプッシャー、およびプロキシです。
多くの場合、ヘルパーアプリケーションとプライマリアプリケーションは互いに通信する必要があります。
通常、これは、この演習に示すように共有ファイルシステムを介して、またはループバックネットワークインターフェイスであるlocalhostを介して行われます。
このパターンの例は、新しい更新のためにGitリポジトリをポーリングするヘルパープログラムを伴うWebサーバーです。
この演習のボリュームは、コンテナがポッドの寿命中に通信する方法を提供します。
Podを削除して再作成すると、共有ボリュームに保存されているデータはすべて失われます。
{{% /capture %}}
{{% capture whatsnext %}}
* [複合コンテナのパターン](https://kubernetes.io/blog/2015/06/the-distributed-system-toolkit-patterns)の詳細
* [モジュラーアーキテクチャ用の複合コンテナ](http://www.slideshare.net/Docker/slideshare-burns)について学ぶ
* [ストレージにボリュームを使用するPodの構成](/ja/docs/tasks/configure-pod-container/configure-volume-storage/)を参照
* [Pod内のコンテナ間でプロセス名前空間を共有するPodの構成](/ja/docs/tasks/configure-pod-container/share-process-namespace/)を参照
* [Volume](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#volume-v1-core)を参照
* [Pod](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#pod-v1-core)を参照
{{% /capture %}}
@@ -0,0 +1,197 @@
---
title: Serviceを使用してフロントエンドをバックエンドに接続する
content_template: templates/tutorial
weight: 70
---
{{% capture overview %}}
このタスクでは、フロントエンドとバックエンドのマイクロサービスを作成する方法を示します。
バックエンドのマイクロサービスは挨拶です。
フロントエンドとバックエンドは、Kubernetes {{< glossary_tooltip term_id="service" >}}オブジェクトを使用して接続されます。
{{% /capture %}}
{{% capture objectives %}}
* {{< glossary_tooltip term_id="deployment" >}}オブジェクトを使用してマイクロサービスを作成および実行します。
* フロントエンドを経由してトラフィックをバックエンドにルーティングします。
* Serviceオブジェクトを使用して、フロントエンドアプリケーションをバックエンドアプリケーションに接続します。
{{% /capture %}}
{{% capture prerequisites %}}
* {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
* このタスクでは[Serviceで外部ロードバランサー](/docs/tasks/access-application-cluster/create-external-load-balancer/)を使用しますが、外部ロードバランサーの使用がサポートされている環境である必要があります。
ご使用の環境がこれをサポートしていない場合は、代わりにタイプ[NodePort](/docs/concepts/services-networking/service/#nodeport)のServiceを使用できます。
{{% /capture %}}
{{% capture lessoncontent %}}
### Deploymentを使用したバックエンドの作成
バックエンドは、単純な挨拶マイクロサービスです。
バックエンドのDeploymentの構成ファイルは次のとおりです:
{{< codenew file="service/access/hello.yaml" >}}
バックエンドのDeploymentを作成します:
```shell
kubectl apply -f https://k8s.io/examples/service/access/hello.yaml
```
バックエンドのDeploymentに関する情報を表示します:
```shell
kubectl describe deployment hello
```
出力はこのようになります:
```
Name: hello
Namespace: default
CreationTimestamp: Mon, 24 Oct 2016 14:21:02 -0700
Labels: app=hello
tier=backend
track=stable
Annotations: deployment.kubernetes.io/revision=1
Selector: app=hello,tier=backend,track=stable
Replicas: 7 desired | 7 updated | 7 total | 7 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 0
RollingUpdateStrategy: 1 max unavailable, 1 max surge
Pod Template:
Labels: app=hello
tier=backend
track=stable
Containers:
hello:
Image: "gcr.io/google-samples/hello-go-gke:1.0"
Port: 80/TCP
Environment: <none>
Mounts: <none>
Volumes: <none>
Conditions:
Type Status Reason
---- ------ ------
Available True MinimumReplicasAvailable
Progressing True NewReplicaSetAvailable
OldReplicaSets: <none>
NewReplicaSet: hello-3621623197 (7/7 replicas created)
Events:
...
```
### バックエンドServiceオブジェクトの作成
フロントエンドをバックエンドに接続する鍵は、バックエンドServiceです。
Serviceは、バックエンドマイクロサービスに常に到達できるように、永続的なIPアドレスとDNS名のエントリを作成します。
Serviceは{{< glossary_tooltip text="セレクター" term_id="selector" >}}を使用して、トラフィックをルーティングするPodを見つけます。
まず、Service構成ファイルを調べます:
{{< codenew file="service/access/hello-service.yaml" >}}
設定ファイルで、Serviceが`apphello`および`tierbackend`というラベルを持つPodにトラフィックをルーティングしていることがわかります。
`hello` Serviceを作成します:
```shell
kubectl apply -f https://k8s.io/examples/service/access/hello-service.yaml
```
この時点で、バックエンドのDeploymentが実行され、そちらにトラフィックをルーティングできるServiceがあります。
### フロントエンドの作成
バックエンドができたので、バックエンドに接続するフロントエンドを作成できます。
フロントエンドは、バックエンドServiceに指定されたDNS名を使用して、バックエンドワーカーPodに接続します。
DNS名は`hello`です。これは、前のサービス設定ファイルの`name`フィールドの値です。
フロントエンドDeploymentのPodは、helloバックエンドServiceを見つけるように構成されたnginxイメージを実行します。
これはnginx設定ファイルです:
{{< codenew file="service/access/frontend.conf" >}}
バックエンドと同様に、フロントエンドにはDeploymentとServiceがあります。
Serviceの設定には`typeLoadBalancer`があります。これは、Serviceがクラウドプロバイダーのデフォルトのロードバランサーを使用することを意味します。
{{< codenew file="service/access/frontend.yaml" >}}
フロントエンドのDeploymentとServiceを作成します:
```shell
kubectl apply -f https://k8s.io/examples/service/access/frontend.yaml
```
出力結果から両方のリソースが作成されたことを確認します:
```
deployment.apps/frontend created
service/frontend created
```
{{< note >}}
nginxの構成は、[コンテナイメージ](/examples/service/access/Dockerfile)に焼き付けられます。
これを行うためのより良い方法は、[ConfigMap](/docs/tasks/configure-pod-container/configure-pod-configmap/)を使用して、構成をより簡単に変更できるようにすることです。
{{< /note >}}
### フロントエンドServiceと対話
LoadBalancerタイプのServiceを作成したら、このコマンドを使用して外部IPを見つけることができます:
```shell
kubectl get service frontend --watch
```
これにより`frontend` Serviceの設定が表示され、変更が監視されます。
最初、外部IPは`<pending>`としてリストされます:
```
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
frontend LoadBalancer 10.51.252.116 <pending> 80/TCP 10s
```
ただし、外部IPがプロビジョニングされるとすぐに、`EXTERNAL-IP`という見出しの下に新しいIPが含まれるように構成が更新されます:
```
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
frontend LoadBalancer 10.51.252.116 XXX.XXX.XXX.XXX 80/TCP 1m
```
このIPを使用して、クラスターの外部から`frontend` Serviceとやり取りできるようになりました。
### フロントエンドを介するトラフィック送信
フロントエンドとバックエンドが接続されました。
フロントエンドServiceの外部IPに対してcurlコマンドを使用して、エンドポイントにアクセスできます。
```shell
curl http://${EXTERNAL_IP} # これを前に見たEXTERNAL-IPに置き換えます
```
出力には、バックエンドによって生成されたメッセージが表示されます:
```json
{"message":"Hello"}
```
{{% /capture %}}
{{% capture whatsnext %}}
* [Services](/docs/concepts/services-networking/service/)の詳細
* [ConfigMaps](/docs/tasks/configure-pod-container/configure-pod-configmap/)の詳細
{{% /capture %}}
@@ -0,0 +1,39 @@
---
title: クラウドコントローラーマネージャーの開発
content_template: templates/concept
---
{{% capture overview %}}
{{< feature-state for_k8s_version="v1.11" state="beta" >}}
今後のリリースで、クラウドコントローラーマネージャーはKubernetesを任意のクラウドと統合するための良い方法となります。これによりクラウドプロバイダーはKubernetesのコアリリースサイクルから独立して機能を開発できるようになります。
{{< feature-state for_k8s_version="1.8" state="alpha" >}}
独自のクラウドコントローラーマネージャーを構築する方法を説明する前に、クラウドコントローラーマネージャーがKubernetesの内部でどのように機能するかに関する背景を知っておくと役立ちます。
クラウドコントローラーマネージャーはGoインターフェースを利用する`kube-controller-manager`のコードで、任意のクラウドの実装をプラグインとして利用できるようになっています。スキャフォールディングと汎用のコントローラー実装の大部分はKubernetesのコアになりますが、[クラウドプロバイダーのインターフェイス](https://github.com/kubernetes/cloud-provider/blob/master/cloud.go#L42-L62)が満たされていれば提供されているクラウドプロバイダーのインターフェイスが実行されるようになります。
実装の詳細をもう少し掘り下げてみましょう。すべてのクラウドコントローラーマネージャーはKubernetesコアからパッケージをインポートします。唯一の違いは、各プロジェクトが利用可能なクラウドプロバイダーの情報(グローバル変数)が更新される場所である[cloudprovider.RegisterCloudProvider](https://github.com/kubernetes/cloud-provider/blob/master/plugins.go#L56-L66)を呼び出すことによって独自のクラウドプロバイダーを登録する点です。
{{% /capture %}}
{{% capture body %}}
## 開発
### Kubernetesには登録されていない独自クラウドプロバイダー
Kubernetesには登録されていない独自のクラウドプロバイダーのクラウドコントローラーマネージャーを構築するには、次の3つのステップに従ってください。
1. [cloudprovider.Interface](https://github.com/kubernetes/cloud-provider/blob/master/cloud.go)を満たす go パッケージを実装します。
2. Kubernetesのコアにある[cloud-controller-managerのmain.go](https://github.com/kubernetes/kubernetes/blob/master/cmd/cloud-controller-manager/controller-manager.go)をあなたのmain.goのテンプレートとして利用します。上で述べたように、唯一の違いはインポートされるクラウドパッケージのみです。
3. クラウドパッケージを `main.go` にインポートし、パッケージに [cloudprovider.RegisterCloudProvider](https://github.com/kubernetes/cloud-provider/blob/master/plugins.go) を実行するための `init` ブロックがあることを確認します。
既存の独自クラウドプロバイダーの実装例を利用すると役立つでしょう。独自クラウドプロバイダーの実装例のリストは[こちら](/docs/tasks/administer-cluster/running-cloud-controller.md#examples)にあります。
### Kubernetesに登録されているクラウドプロバイダー
Kubernetesに登録されているクラウドプロバイダーであれば、[Daemonset](https://kubernetes.io/examples/admin/cloud/ccm-example.yaml) を使ってあなたのクラスターで動かすことができます。詳細については[Kubernetesクラウドコントローラーマネージャードキュメント](/docs/tasks/administer-cluster/running-cloud-controller/)を参照してください。
{{% /capture %}}
+5
View File
@@ -0,0 +1,5 @@
---
title: "Podとコンテナの設定"
weight: 20
---
@@ -0,0 +1,320 @@
---
title: コンテナおよびPodへのメモリーリソースの割り当て
content_template: templates/task
weight: 10
---
{{% capture overview %}}
このページでは、メモリーの *要求**制限* をコンテナに割り当てる方法について示します。コンテナは要求されたメモリーを確保することを保証しますが、その制限を超えるメモリーの使用は許可されません。
{{% /capture %}}
{{% capture prerequisites %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
クラスターの各ノードには、少なくとも300MiBのメモリーが必要になります。
このページのいくつかの手順では、クラスターにて[metrics-server](https://github.com/kubernetes-incubator/metrics-server)サービスを実行する必要があります。すでにmetrics-serverが動作している場合、これらの手順をスキップできます。
Minikubeを動作させている場合、以下のコマンドによりmetrics-serverを有効にできます:
```shell
minikube addons enable metrics-server
```
metrics-serverが実行されているか、もしくはリソースメトリクスAPI (`metrics.k8s.io`) の別のプロバイダが実行されていることを確認するには、以下のコマンドを実行してください:
```shell
kubectl get apiservices
```
リソースメトリクスAPIが利用可能であれば、出力には `metrics.k8s.io` への参照が含まれます。
```shell
NAME
v1beta1.metrics.k8s.io
```
{{% /capture %}}
{{% capture steps %}}
## namespaceの作成
この練習で作成するリソースがクラスター内で分離されるよう、namespaceを作成します。
```shell
kubectl create namespace mem-example
```
## メモリーの要求と制限を指定する
コンテナにメモリーの要求を指定するには、コンテナのリソースマニフェストに`resources:requests`フィールドを追記します。メモリーの制限を指定するには、`resources:limits`を追記します。
この練習では、一つのコンテナをもつPodを作成します。コンテナに100MiBのメモリー要求と200MiBのメモリー制限を与えます。Podの設定ファイルは次のようになります:
{{< codenew file="pods/resource/memory-request-limit.yaml" >}}
設定ファイルの`args`セクションでは、コンテナ起動時の引数を与えます。`"--vm-bytes", "150M"`という引数では、コンテナに150MiBのメモリーを割り当てます。
Podを作成してください:
```shell
kubectl apply -f https://k8s.io/examples/pods/resource/memory-request-limit.yaml --namespace=mem-example
```
Podのコンテナが起動していることを検証してください:
```shell
kubectl get pod memory-demo --namespace=mem-example
```
Podの詳細な情報を確認してください:
```shell
kubectl get pod memory-demo --output=yaml --namespace=mem-example
```
この出力では、Pod内の一つのコンテナに100MiBのメモリー要求と200MiBのメモリー制限があることを示しています。
```yaml
...
resources:
limits:
memory: 200Mi
requests:
memory: 100Mi
...
```
`kubectl top`を実行し、Podのメトリクスを取得してください:
```shell
kubectl top pod memory-demo --namespace=mem-example
```
この出力では、Podが約162,900,000バイト(約150MiB)のメモリーを使用していることを示しています。Podの100MiBの要求を超えていますが、200MiBの制限には収まっています。
```
NAME CPU(cores) MEMORY(bytes)
memory-demo <something> 162856960
```
Podを削除してください:
```shell
kubectl delete pod memory-demo --namespace=mem-example
```
## コンテナのメモリー制限を超える
ノードに利用可能なメモリーがある場合、コンテナはメモリー要求を超えることができます。しかしながら、メモリー制限を超えて使用することは許可されません。コンテナが制限を超えてメモリーを確保しようとした場合、そのコンテナは終了候補となります。コンテナが制限を超えてメモリーを消費し続ける場合、コンテナは終了されます。終了したコンテナを再起動できる場合、ほかのランタイムの失敗時と同様に、kubeletがコンテナを再起動させます。
この練習では、制限を超えてメモリーを確保しようとするPodを作成します。以下に50MiBのメモリー要求と100MiBのメモリー制限を与えたコンテナを持つ、Podの設定ファイルを示します:
{{< codenew file="pods/resource/memory-request-limit-2.yaml" >}}
設定ファイルの`args`セクションでは、コンテナに250MiBのメモリーを割り当てており、これは100MiBの制限を十分に超えています。
Podを作成してください:
```shell
kubectl apply -f https://k8s.io/examples/pods/resource/memory-request-limit-2.yaml --namespace=mem-example
```
Podの詳細な情報を確認してください:
```shell
kubectl get pod memory-demo-2 --namespace=mem-example
```
この時点で、コンテナは起動中か強制終了されているでしょう。コンテナが強制終了されるまで上記のコマンドをくり返し実行してください:
```shell
NAME READY STATUS RESTARTS AGE
memory-demo-2 0/1 OOMKilled 1 24s
```
コンテナステータスの詳細な情報を取得してください:
```shell
kubectl get pod memory-demo-2 --output=yaml --namespace=mem-example
```
この出力では、コンテナがメモリー不足 (OOM) により強制終了されたことを示しています。
```shell
lastState:
terminated:
containerID: docker://65183c1877aaec2e8427bc95609cc52677a454b56fcb24340dbd22917c23b10f
exitCode: 137
finishedAt: 2017-06-20T20:52:19Z
reason: OOMKilled
startedAt: null
```
この練習のコンテナはkubeletによって再起動されます。次のコマンドを数回くり返し実行し、コンテナが強制終了と再起動を続けていることを確認してください:
```shell
kubectl get pod memory-demo-2 --namespace=mem-example
```
この出力では、コンテナが強制終了され、再起動され、再度強制終了および再起動が続いていることを示しています:
```
kubectl get pod memory-demo-2 --namespace=mem-example
NAME READY STATUS RESTARTS AGE
memory-demo-2 0/1 OOMKilled 1 37s
```
```
kubectl get pod memory-demo-2 --namespace=mem-example
NAME READY STATUS RESTARTS AGE
memory-demo-2 1/1 Running 2 40s
```
Podの履歴について詳細な情報を確認してください:
```
kubectl describe pod memory-demo-2 --namespace=mem-example
```
この出力では、コンテナの開始とその失敗が繰り返されていることを示しています:
```
... Normal Created Created container with id 66a3a20aa7980e61be4922780bf9d24d1a1d8b7395c09861225b0eba1b1f8511
... Warning BackOff Back-off restarting failed container
```
クラスターのノードの詳細な情報を確認してください:
```
kubectl describe nodes
```
この出力には、メモリー不足の状態のためコンテナが強制終了された記録が含まれます:
```
Warning OOMKilling Memory cgroup out of memory: Kill process 4481 (stress) score 1994 or sacrifice child
```
Podを削除してください:
```shell
kubectl delete pod memory-demo-2 --namespace=mem-example
```
## ノードよりも大きいメモリー要求を指定する
メモリー要求と制限はコンテナと関連づけられていますが、Podにメモリー要求と制限が与えられていると考えるとわかりやすいでしょう。Podのメモリー要求は、Pod内のすべてのコンテナのメモリー要求の合計となります。同様に、Podのメモリー制限は、Pod内のすべてのコンテナのメモリー制限の合計となります。
Podのスケジューリングは要求に基づいています。Podはノード上で動作するうえで、そのメモリー要求に対してノードに十分利用可能なメモリーがある場合のみスケジュールされます。
この練習では、クラスター内のノードのキャパシティを超える大きさのメモリー要求を与えたPodを作成します。以下に1000GiBのメモリー要求を与えた一つのコンテナを持つ、Podの設定ファイルを示します。これは、クラスター内のノードのキャパシティを超える可能性があります。
{{< codenew file="pods/resource/memory-request-limit-3.yaml" >}}
Podを作成してください:
```shell
kubectl apply -f https://k8s.io/examples/pods/resource/memory-request-limit-3.yaml --namespace=mem-example
```
Podの状態を確認してください:
```shell
kubectl get pod memory-demo-3 --namespace=mem-example
```
この出力では、Podのステータスが待機中であることを示しています。つまり、Podがどのノードに対しても実行するようスケジュールされておらず、いつまでも待機状態のままであることを表しています:
```
kubectl get pod memory-demo-3 --namespace=mem-example
NAME READY STATUS RESTARTS AGE
memory-demo-3 0/1 Pending 0 25s
```
イベントを含むPodの詳細な情報を確認してください:
```shell
kubectl describe pod memory-demo-3 --namespace=mem-example
```
この出力では、ノードのメモリー不足のためコンテナがスケジュールされないことを示しています:
```shell
Events:
... Reason Message
------ -------
... FailedScheduling No nodes are available that match all of the following predicates:: Insufficient memory (3).
```
## メモリーの単位
メモリーリソースはバイト単位で示されます。メモリーをE、P、T、G、M、K、Ei、Pi、Ti、Gi、Mi、Kiという接尾辞とともに、整数型または固定小数点整数で表現できます。たとえば、以下はおおよそ同じ値を表します:
```shell
128974848, 129e6, 129M , 123Mi
```
Podを削除してください:
```shell
kubectl delete pod memory-demo-3 --namespace=mem-example
```
## メモリー制限を指定しない場合
コンテナのメモリー制限を指定しない場合、次のいずれかの状態となります:
* コンテナのメモリー使用量に上限がない状態となります。コンテナは実行中のノードで利用可能なすべてのメモリーを使用でき、その後OOM Killerが呼び出される可能性があります。さらに、OOM killの場合、リソース制限のないコンテナは強制終了される可能性が高くなります。
* メモリー制限を与えられたnamespaceでコンテナを実行されると、コンテナにはデフォルトの制限値が自動的に指定されます。クラスターの管理者は[LimitRange](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#limitrange-v1-core)によってメモリー制限のデフォルト値を指定できます。
## メモリー要求と制限のモチベーション
クラスターで動作するコンテナにメモリー要求と制限を設定することで、クラスターのノードで利用可能なメモリーリソースを効率的に使用することができます。Podのメモリー要求を低く保つことで、Podがスケジュールされやすくなります。メモリー要求よりも大きい制限を与えることで、次の2つを実現できます:
* Podは利用可能なメモリーを、突発的な活動(バースト)に使用することができます。
* バースト中のPodのメモリー使用量は、適切な量に制限されます。
## クリーンアップ
namespaceを削除してください。これにより、今回のタスクで作成したすべてのPodが削除されます:
```shell
kubectl delete namespace mem-example
```
{{% /capture %}}
{{% capture whatsnext %}}
### アプリケーション開発者向け
* [コンテナとPodにCPUリソースを割り当てる](/docs/tasks/configure-pod-container/assign-cpu-resource/)
* [PodのQuality of Serviceを設定する](/docs/tasks/configure-pod-container/quality-service-pod/)
### クラスター管理者向け
* [Namespaceにメモリー要求および制限のデフォルト値を設定する](/docs/tasks/administer-cluster/memory-default-namespace/)
* [NamespaceにCPU要求および制限のデフォルト値を設定する](/docs/tasks/administer-cluster/cpu-default-namespace/)
* [Namespaceに最小および最大メモリー量の制約を設定する](/docs/tasks/administer-cluster/memory-constraint-namespace/)
* [Namespaceに最小および最大のCPU使用量の制約を設定する](/docs/tasks/administer-cluster/cpu-constraint-namespace/)
* [NamespaceにメモリーおよびCPUのクォータを設定する](/docs/tasks/administer-cluster/quota-memory-cpu-namespace/)
* [NamespaceにPodのクォータを設定する](/docs/tasks/administer-cluster/quota-pod-namespace/)
* [APIオブジェクトのクォータを設定する](/docs/tasks/administer-cluster/quota-api-object/)
{{% /capture %}}
@@ -0,0 +1,135 @@
---
title: ストレージにボリュームを使用するPodを構成する
content_template: templates/task
weight: 50
---
{{% capture overview %}}
このページでは、ストレージにボリュームを使用するPodを構成する方法を示します。
コンテナのファイルシステムは、コンテナが存在する間のみ存続します。
そのため、コンテナが終了して再起動すると、ファイルシステムの変更は失われます。
コンテナに依存しない、より一貫したストレージを実現するには、[ボリューム](/docs/concepts/storage/volumes/)を使用できます。
これは、キーバリューストア(Redisなど)やデータベースなどのステートフルアプリケーションにとって特に重要です。
{{% /capture %}}
{{% capture prerequisites %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
## Podのボリュームを構成する
この演習では、1つのコンテナを実行するPodを作成します。
今回作成するPodには、コンテナが終了して再起動した場合でもPodの寿命が続く[emptyDir](/docs/concepts/storage/volumes/#emptydir)タイプのボリュームがあります。
これがPodの設定ファイルです:
{{< codenew file="pods/storage/redis.yaml" >}}
1. Podを作成します:
```shell
kubectl apply -f https://k8s.io/examples/pods/storage/redis.yaml
```
1. Podのコンテナが実行されていることを確認し、Podへの変更を監視します:
```shell
kubectl get pod redis --watch
```
出力は次のようになります:
```shell
NAME READY STATUS RESTARTS AGE
redis 1/1 Running 0 13s
```
1. 別のターミナルで、実行中のコンテナへのシェルを取得します:
```shell
kubectl exec -it redis -- /bin/bash
```
1. シェルで、`/data/redis`に移動し、ファイルを作成します:
```shell
root@redis:/data# cd /data/redis/
root@redis:/data/redis# echo Hello > test-file
```
1. シェルで、実行中のプロセスを一覧表示します:
```shell
root@redis:/data/redis# apt-get update
root@redis:/data/redis# apt-get install procps
root@redis:/data/redis# ps aux
```
出力はこのようになります:
```shell
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
redis 1 0.1 0.1 33308 3828 ? Ssl 00:46 0:00 redis-server *:6379
root 12 0.0 0.0 20228 3020 ? Ss 00:47 0:00 /bin/bash
root 15 0.0 0.0 17500 2072 ? R+ 00:48 0:00 ps aux
```
1. シェルで、Redisプロセスを終了します:
```shell
root@redis:/data/redis# kill <pid>
```
ここで`<pid>`はRedisプロセスIDPID)です。
1. 元の端末で、Redis Podへの変更を監視します。最終的には、このようなものが表示されます:
```shell
NAME READY STATUS RESTARTS AGE
redis 1/1 Running 0 13s
redis 0/1 Completed 0 6m
redis 1/1 Running 1 6m
```
この時点で、コンテナは終了して再起動しました。
これは、Redis Podの[restartPolicy](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podspec-v1-core)が`Always`であるためです。
1. 再起動されたコンテナへのシェルを取得します:
```shell
kubectl exec -it redis -- /bin/bash
```
1. シェルで`/data/redis`に移動し、`test-file`がまだ存在することを確認します。
```shell
root@redis:/data/redis# cd /data/redis/
root@redis:/data/redis# ls
test-file
```
1. この演習用に作成したPodを削除します:
```shell
kubectl delete pod redis
```
{{% /capture %}}
{{% capture whatsnext %}}
* [Volume](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#volume-v1-core)参照
* [Pod](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#pod-v1-core)参照
* `emptyDir`によって提供されるローカルディスクストレージに加えて、Kubernetesは、GCEのPDやEC2のEBSなど、さまざまなネットワーク接続ストレージソリューションをサポートします。これらは、重要なデータに好ましく、ノード上のデバイスのマウントやアンマウントなどの詳細を処理します。詳細は[ボリューム](/docs/concepts/storage/volumes/)を参照してください。
{{% /capture %}}
@@ -0,0 +1,114 @@
---
title: Pod内のコンテナ間でプロセス名前空間を共有する
min-kubernetes-server-version: v1.10
content_template: templates/task
weight: 160
---
{{% capture overview %}}
{{< feature-state state="beta" >}}
このページでは、プロセス名前空間を共有するPodを構成する方法を示します。
プロセス名前空間の共有が有効になっている場合、コンテナ内のプロセスは、そのPod内の他のすべてのコンテナに表示されます。
この機能を使用して、ログハンドラーサイドカーコンテナなどの協調コンテナを構成したり、シェルなどのデバッグユーティリティを含まないコンテナイメージをトラブルシューティングしたりできます。
{{% /capture %}}
{{% capture prerequisites %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
プロセス名前空間の共有は**ベータ**機能であり、デフォルトで有効になっています。
`--feature-gates=PodShareProcessNamespace=false`を設定することで無効にできます。
{{% /capture %}}
{{% capture steps %}}
## Podを構成する
プロセス名前空間の共有は、`v1.PodSpec``shareProcessNamespace`フィールドを使用して有効にします。
例:
{{< codenew file="pods/share-process-namespace.yaml" >}}
1. クラスターにPod `nginx`を作成します:
```shell
kubectl apply -f https://k8s.io/examples/pods/share-process-namespace.yaml
```
1. `shell`コンテナにアタッチして`ps`を実行します:
```shell
kubectl attach -it nginx -c shell
```
コマンドプロンプトが表示されない場合は、Enterキーを押してみてください。
```
/ # ps ax
PID USER TIME COMMAND
1 root 0:00 /pause
8 root 0:00 nginx: master process nginx -g daemon off;
14 101 0:00 nginx: worker process
15 root 0:00 sh
21 root 0:00 ps ax
```
他のコンテナのプロセスにシグナルを送ることができます。
たとえば、ワーカープロセスを再起動するには、`SIGHUP`をnginxに送信します。
この操作には`SYS_PTRACE`機能が必要です。
```
/ # kill -HUP 8
/ # ps ax
PID USER TIME COMMAND
1 root 0:00 /pause
8 root 0:00 nginx: master process nginx -g daemon off;
15 root 0:00 sh
22 101 0:00 nginx: worker process
23 root 0:00 ps ax
```
`/proc/$pid/root`リンクを使用して別のコンテナイメージにアクセスすることもできます。
```
/ # head /proc/8/root/etc/nginx/nginx.conf
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
```
{{% /capture %}}
{{% capture discussion %}}
## プロセス名前空間の共有について理解する
Podは多くのリソースを共有するため、プロセスの名前空間も共有することになります。
ただし、一部のコンテナイメージは他のコンテナから分離されることが期待されるため、これらの違いを理解することが重要です:
1. **コンテナプロセスは PID 1ではなくなります。**
一部のコンテナイメージは、PID 1なしで起動することを拒否し(たとえば、`systemd`を使用するコンテナ)、`kill -HUP 1`などのコマンドを実行してコンテナプロセスにシグナルを送信します。
共有プロセス名前空間を持つPodでは、`kill -HUP 1`はPodサンドボックスにシグナルを送ります。(上の例では`/pause`)
1. **プロセスはPod内の他のコンテナに表示されます。**
これには、引数または環境変数として渡されたパスワードなど、`/proc`に表示されるすべての情報が含まれます。
これらは、通常のUnixアクセス許可によってのみ保護されます。
1. **コンテナファイルシステムは、`/proc/$pid/root`リンクを介してPod内の他のコンテナに表示されます。**
これによりデバッグが容易になりますが、ファイルシステム内の秘密情報はファイルシステムのアクセス許可によってのみ保護されることも意味します。
{{% /capture %}}
@@ -0,0 +1,125 @@
---
title: PodとReplicationControllerのデバッグ
content_template: templates/task
---
{{% capture overview %}}
このページでは、PodとReplicationControllerをデバッグする方法を説明します。
{{% /capture %}}
{{% capture prerequisites %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
* [Pod](/docs/concepts/workloads/pods/pod/)と[Podのライフサイクル](/docs/concepts/workloads/pods/pod-lifecycle/)の基本を理解している必要があります。
{{% /capture %}}
{{% capture steps %}}
## Podのデバッグ
Podのデバッグの最初のステップは、Podを調べることです。
次のコマンドで、Podの現在の状態と最近のイベントを確認して下さい。
```shell
kubectl describe pods ${POD_NAME}
```
Pod内のコンテナの状態を確認します。
コンテナはすべて`Running`状態ですか?最近再起動はしましたか?
Podの状態に応じてデバッグを続けます。
### PodがPending状態にとどまっている
Podが`Pending`状態でスタックしている場合、ノードにスケジュールできていないことを意味します。
一般的に、これは、何らかのタイプのリソースが不足しており、それによってスケジューリングを妨げられているためです。
上述の`kubectl describe...`コマンドの出力を確認してください。
Podをスケジュールできない理由に関するスケジューラーからのメッセージがあるはずです。
理由としては以下のようなものがあります。
#### リソースが不十分
クラスター内のCPUまたはメモリーの供給を使い果たした可能性があります。
この場合、いくつかのことを試すことができます。
* クラスターに[ノードを追加します](/docs/admin/cluster-management/#resizing-a-cluster)。
* [不要なPodを終了](/docs/user-guide/pods/single-container/#deleting_a_pod)して、
`Pending`状態のPodのための空きリソースを作ります。
* Podがノードよりも大きくないことを確認します。
例えば、すべてのノードのキャパシティーが`cpu: 1`の場合、`cpu: 1.1`を要求するPodは決してスケジュールされません。
`kubectl get nodes -o <format>`コマンドでノードのキャパシティーを確認できます。
必要な情報を抽出するコマンドラインの例を以下に示します。
```shell
kubectl get nodes -o yaml | egrep '\sname:|cpu:|memory:'
kubectl get nodes -o json | jq '.items[] | {name: .metadata.name, cap: .status.capacity}'
```
[リソースクォータ](/docs/concepts/policy/resource-quotas/)機能では、
消費できるリソースの合計量を制限するように構成できます。
Namespaceと組み合わせて使用すると、1つのチームがすべてのリソースを占有することを防ぐことができます。
#### hostPortの使用
Podを`hostPort`にバインドすると、Podをスケジュールできる場所の数が制限されます。
ほとんどの場合、`hostPort`は不要です。Serviceオブジェクトを使用してPodを公開してください。
どうしても`hostPort`が必要な場合は、コンテナクラスター内のノードと同じ数のPodのみをスケジュールできます。
### PodがWaiting状態にとどまっている
Podが`Waiting`状態でスタックしている場合、Podはワーカーノードにスケジュールされていますが、そのマシンでは実行できない状態です。
この場合も、`kubectl describe ...`の情報が参考になるはずです。
Podが`Waiting`状態となる最も一般的な原因は、イメージをプルできないことです。
確認すべき事項が3つあります。
* イメージの名前が正しいことを確認して下さい。
* イメージはリポジトリーにプッシュしましたか?
* マシンで手動で`docker pull <image>`を実行し、イメージをプルできるかどうかを確認して下さい。
### Podがクラッシュする、あるいはUnhealthy状態
最初に、現在のコンテナのログを確認して下さい。
```shell
kubectl logs ${POD_NAME} ${CONTAINER_NAME}
```
以前にコンテナがクラッシュした場合、次のコマンドで以前のコンテナのクラッシュログにアクセスできます。
```shell
kubectl logs --previous ${POD_NAME} ${CONTAINER_NAME}
```
別の方法として、`exec`を使用してそのコンテナ内でコマンドを実行できます。
```shell
kubectl exec ${POD_NAME} -c ${CONTAINER_NAME} -- ${CMD} ${ARG1} ${ARG2} ... ${ARGN}
```
{{< note >}}
`-c ${CONTAINER_NAME}`はオプションです。単一のコンテナのみを含むPodの場合は省略できます。
{{< /note >}}
例えば、実行中のCassandra Podのログを確認するには、次のコマンドを実行します。
```shell
kubectl exec cassandra -- cat /var/log/cassandra/system.log
```
これらのアプローチがいずれも機能しない場合、Podが実行されているホストマシンを見つけて、そのホストにSSH接続することができます。
## ReplicationControllerのデバッグ
ReplicationControllerはかなり明快です。Podを作成できるか、できないかのどちらかです。
Podを作成できない場合は、[上述の手順](#Podのデバッグ)を参照してPodをデバッグしてください。
`kubectl describe rc ${CONTROLLER_NAME}`を使用して、レプリケーションコントローラーに関連するイベントを調べることもできます。
{{% /capture %}}
@@ -0,0 +1,77 @@
---
title: StatefulSet Podの強制削除
content_template: templates/task
weight: 70
---
{{% capture overview %}}
このページでは、StatefulSetの一部であるPodを削除する方法と、削除する際に考慮すべき事項について説明します。
{{% /capture %}}
{{% capture prerequisites %}}
* これはかなり高度なタスクであり、StatefulSetに固有のいくつかの特性に反する可能性があります。
* 先に進む前に、以下に列挙されている考慮事項をよく理解してください。
{{% /capture %}}
{{% capture steps %}}
## StatefulSetに関する考慮事項
StatefulSetの通常の操作では、StatefulSet Podを強制的に削除する必要は**まったく**ありません。StatefulSetコントローラーは、StatefulSetのメンバーの作成、スケール、削除を行います。それは序数0からN-1までの指定された数のPodが生きていて準備ができていることを保証しようとします。StatefulSetは、クラスター内で実行されている特定のIDを持つ最大1つのPodがいつでも存在することを保証します。これは、StatefulSetによって提供される*最大1つの*セマンティクスと呼ばれます。
手動による強制削除は、StatefulSetに固有の最大1つのセマンティクスに違反する可能性があるため、慎重に行う必要があります。StatefulSetを使用して、安定したネットワークIDと安定した記憶域を必要とする分散型およびクラスター型アプリケーションを実行できます。これらのアプリケーションは、固定IDを持つ固定数のメンバーのアンサンブルに依存する構成を持つことがよくあります。同じIDを持つ複数のメンバーを持つことは悲惨なことになり、データの損失につながる可能性があります(例:定足数ベースのシステムでのスプリットブレインシナリオ)。
## Podの削除
次のコマンドで正常なPod削除を実行できます:
```shell
kubectl delete pods <pod>
```
上記がグレースフルターミネーションにつながるためには、`pod.Spec.TerminationGracePeriodSeconds`に0を指定しては**いけません**。`pod.Spec.TerminationGracePeriodSeconds`を0秒に設定することは安全ではなく、StatefulSet Podには強くお勧めできません。グレースフル削除は安全で、kubeletがapiserverから名前を削除する前に[Podが適切にシャットダウンする](/docs/user-guide/pods/#termination-of-pods)ことを保証します。
Kubernetes(バージョン1.5以降)は、Nodeにアクセスできないという理由だけでPodを削除しません。到達不能なNodeで実行されているPodは、[タイムアウト](/docs/admin/node/#node-condition)の後に`Terminating`または`Unknown`状態になります。到達不能なNode上のPodをユーザーが適切に削除しようとすると、Podはこれらの状態に入ることもあります。そのような状態のPodをapiserverから削除することができる唯一の方法は以下の通りです:
* (ユーザーまたは[Node Controller](/docs/admin/node)によって)Nodeオブジェクトが削除されます。<br/>
* 応答していないNodeのkubeletが応答を開始し、Podを終了してapiserverからエントリーを削除します。<br/>
* ユーザーによりPodを強制削除します。
推奨されるベストプラクティスは、1番目または2番目のアプローチを使用することです。Nodeが死んでいることが確認された(例えば、ネットワークから恒久的に切断された、電源が切られたなど)場合、Nodeオブジェクトを削除します。Nodeがネットワークパーティションに苦しんでいる場合は、これを解決するか、解決するのを待ちます。パーティションが回復すると、kubeletはPodの削除を完了し、apiserverでその名前を解放します。
通常、PodがNode上で実行されなくなるか、管理者によってそのNodeが削除されると、システムは削除を完了します。あなたはPodを強制的に削除することでこれを無効にすることができます。
### 強制削除
強制削除はPodが終了したことをkubeletから確認するまで**待ちません**。強制削除がPodの削除に成功したかどうかに関係なく、apiserverから名前をすぐに解放します。これにより、StatefulSetコントローラーは、同じIDを持つ交換Podを作成できます。これは、まだ実行中のPodの複製につながる可能性があり、そのPodがまだStatefulSetの他のメンバーと通信できる場合、StatefulSetが保証するように設計されている最大1つのセマンティクスに違反します。
StatefulSetのPodを強制的に削除するということは、問題のPodがStatefulSet内の他のPodと再び接触することはなく、代わりのPodを作成するために名前が安全に解放されることを意味します。
バージョン1.5以上のkubectlを使用してPodを強制的に削除する場合は、次の手順を実行します:
```shell
kubectl delete pods <pod> --grace-period=0 --force
```
バージョン1.4以下のkubectlを使用している場合、`--force`オプションを省略する必要があります:
```shell
kubectl delete pods <pod> --grace-period=0
```
これらのコマンドを実行した後でもPodが`Unknown`状態のままになっている場合は、次のコマンドを使用してPodをクラスターから削除します:
```shell
kubectl patch pod <pod> -p '{"metadata":{"finalizers":null}}'
```
StatefulSet Podの強制削除は、常に慎重に、関連するリスクを完全に把握して実行してください。
{{% /capture %}}
{{% capture whatsnext %}}
[StatefulSetのデバッグ](/docs/tasks/debug-application-cluster/debug-stateful-set/)の詳細
{{% /capture %}}
+5
View File
@@ -0,0 +1,5 @@
---
title: "Install Tools"
weight: 10
---
@@ -0,0 +1,447 @@
---
title: kubectlのインストールおよびセットアップ
content_template: templates/task
weight: 10
card:
name: tasks
weight: 20
title: Install kubectl
---
{{% capture overview %}}
Kubernetesのコマンドラインツールである[kubectl](/docs/user-guide/kubectl/)を使用して、Kubernetesクラスターに対してコマンドを実行することができます。kubectlによってアプリケーションのデプロイや、クラスターのリソース管理および検査を行うことができます。kubectlの操作に関する完全なリストは、[Overview of kubectl](/docs/reference/kubectl/overview/)を参照してください。
{{% /capture %}}
{{% capture prerequisites %}}
kubectlのバージョンは、クラスターのマイナーバージョンとの差分が1つ以内でなければなりません。たとえば、クライアントがv1.2であれば、v1.1、v1.2、v1.3のマスターで動作するはずです。最新バージョンのkubectlを使うことで、不測の事態を避けることができるでしょう。
{{% /capture %}}
{{% capture steps %}}
## Linuxへkubectlをインストールする
### curlを使用してLinuxへkubectlのバイナリをインストールする
1. 次のコマンドにより、最新リリースをダウンロードしてください:
```
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
```
特定のバージョンをダウンロードする場合、コマンドの`$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)`の部分を特定のバージョンに書き換えてください。
たとえば、Linuxへ{{< param "fullversion" >}}のバージョンをダウンロードするには、次のコマンドを入力します:
```
curl -LO https://storage.googleapis.com/kubernetes-release/release/{{< param "fullversion" >}}/bin/linux/amd64/kubectl
```
2. kubectlバイナリを実行可能にしてください。
```
chmod +x ./kubectl
```
3. バイナリをPATHの中に移動させてください。
```
sudo mv ./kubectl /usr/local/bin/kubectl
```
4. インストールしたバージョンが最新であることを確認してください:
```
kubectl version
```
### ネイティブなパッケージマネージャーを使用してインストールする
{{< tabs name="kubectl_install" >}}
{{< tab name="Ubuntu、DebianまたはHypriotOS" codelang="bash" >}}
sudo apt-get update && sudo apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl
{{< /tab >}}
{{< tab name="CentOS、RHELまたはFedora" codelang="bash" >}}cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
yum install -y kubectl
{{< /tab >}}
{{< /tabs >}}
### Snapを使用してインストールする
Ubuntuまたは[snap](https://snapcraft.io/docs/core/install)パッケージマネージャーをサポートしているLinuxディストリビューションを使用している場合、kubectlは[snap](https://snapcraft.io/)アプリケーションとして利用することもできます。
1. snapユーザーに切り替えて、インストールコマンドを実行してください:
```
sudo snap install kubectl --classic
```
2. インストールしたバージョンが最新であることを確認してください:
```
kubectl version
```
## macOSへkubectlをインストールする
### curlを使用してmacOSへkubectlのバイナリをインストールする
1. 最新リリースをダウンロードしてください:
```
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl
```
特定のバージョンをダウンロードする場合、コマンドの`$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)`の部分を特定のバージョンに書き換えてください。
たとえば、macOSへ{{< param "fullversion" >}}のバージョンをダウンロードするには、次のコマンドを入力します:
```
curl -LO https://storage.googleapis.com/kubernetes-release/release/{{< param "fullversion" >}}/bin/darwin/amd64/kubectl
```
2. kubectlバイナリを実行可能にしてください。
```
chmod +x ./kubectl
```
3. バイナリをPATHの中に移動させてください。
```
sudo mv ./kubectl /usr/local/bin/kubectl
```
4. インストールしたバージョンが最新であることを確認してください:
```
kubectl version
```
### Homebrewを使用してmacOSへインストールする
macOSで[Homebrew](https://brew.sh/)パッケージマネージャーを使用していれば、Homebrewでkubectlをインストールすることもできます。
1. インストールコマンドを実行してください:
```
brew install kubernetes-cli
```
2. インストールしたバージョンが最新であることを確認してください:
```
kubectl version
```
### MacPortsを使用してmacOSへインストールする
macOSで[MacPorts](https://macports.org/)パッケージマネージャーを使用していれば、MacPortsでkubectlをインストールすることもできます。
1. インストールコマンドを実行してください:
```
sudo port selfupdate
sudo port install kubectl
```
2. インストールしたバージョンが最新であることを確認してください:
```
kubectl version
```
## Windowsへkubectlをインストールする
### curlを使用してWindowsへkubectlのバイナリをインストールする
1. [こちらのリンク](https://storage.googleapis.com/kubernetes-release/release/{{< param "fullversion" >}}/bin/windows/amd64/kubectl.exe)から、最新リリースである{{< param "fullversion" >}}をダウンロードしてください。
または、`curl`をインストールされていれば、次のコマンドも使用できます:
```
curl -LO https://storage.googleapis.com/kubernetes-release/release/{{< param "fullversion" >}}/bin/windows/amd64/kubectl.exe
```
最新の安定版を入手する際は(たとえばスクリプトで使用する場合)、[https://storage.googleapis.com/kubernetes-release/release/stable.txt](https://storage.googleapis.com/kubernetes-release/release/stable.txt)を参照してください。
2. バイナリをPATHに追加します
3. `kubectl`のバージョンがダウンロードしたものと同じであることを確認してください:
```
kubectl version
```
{{< note >}}
[Docker for Windows](https://docs.docker.com/docker-for-windows/#kubernetes)は、それ自身のバージョンの`kubectl`をPATHに追加します。Dockerをすでにインストールしている場合、Dockerインストーラーによって追加されたPATHの前に追加するか、Dockerの`kubectl`を削除してください。
{{< /note >}}
### PSGalleryからPowerShellを使用してインストールする
Windowsで[Powershell Gallery](https://www.powershellgallery.com/)パッケージマネージャーを使用していれば、Powershellでkubectlをインストールおよびアップデートすることもできます。
1. インストールコマンドを実行してください(必ず`DownloadLocation`を指定してください):
```
Install-Script -Name install-kubectl -Scope CurrentUser -Force
install-kubectl.ps1 [-DownloadLocation <path>]
```
{{< note >}}`DownloadLocation`を指定しない場合、`kubectl`はユーザのTempディレクトリにインストールされます。{{< /note >}}
インストーラーは`$HOME/.kube`を作成し、設定ファイルを作成します。
2. インストールしたバージョンが最新であることを確認してください:
```
kubectl version
```
{{< note >}}アップデートする際は、手順1に示した2つのコマンドを再実行してください。{{< /note >}}
### ChocolateyまたはScoopを使用してWindowsへインストールする
Windowsへkubectlをインストールするために、[Chocolatey](https://chocolatey.org)パッケージマネージャーや[Scoop](https://scoop.sh)コマンドラインインストーラーを使用することもできます。
{{< tabs name="kubectl_win_install" >}}
{{% tab name="choco" %}}
choco install kubernetes-cli
{{% /tab %}}
{{% tab name="scoop" %}}
scoop install kubectl
{{% /tab %}}
{{< /tabs >}}
2. インストールしたバージョンが最新であることを確認してください:
```
kubectl version
```
3. ホームディレクトリへ移動してください:
```
cd %USERPROFILE%
```
4. `.kube`ディレクトリを作成してください:
```
mkdir .kube
```
5. 作成した`.kube`ディレクトリへ移動してください:
```
cd .kube
```
6. リモートのKubernetesクラスターを使うために、kubectlを設定してください:
```
New-Item config -type file
```
{{< note >}}Notepadなどの選択したテキストエディターから設定ファイルを編集してください。{{< /note >}}
## Google Cloud SDKの一部としてダウンロードする
Google Cloud SDKの一部として、kubectlをインストールすることもできます。
1. [Google Cloud SDK](https://cloud.google.com/sdk/)をインストールしてください。
2. `kubectl`のインストールコマンドを実行してください:
```
gcloud components install kubectl
```
3. インストールしたバージョンが最新であることを確認してください:
```
kubectl version
```
## kubectlの設定を検証する
kubectlがKubernetesクラスターを探索し接続するために、[kubeconfigファイル](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)が必要になります。これは、`kube-up.sh`によりクラスターを作成した際や、Minikubeクラスターを正常にデプロイした際に自動生成されます。デフォルトでは、kubectlの設定は`~/.kube/config`に格納されています。
クラスターの状態を取得し、kubectlが適切に設定されていることを確認してください:
```shell
kubectl cluster-info
```
URLのレスポンスが表示されている場合は、kubectlはクラスターに接続するよう正しく設定されています。
以下のようなメッセージが表示されている場合は、kubectlは正しく設定されていないか、Kubernetesクラスターに接続できていません。
```shell
The connection to the server <server-name:port> was refused - did you specify the right host or port?
```
たとえば、ラップトップ上(ローカル環境)でKubernetesクラスターを起動するような場合、Minikubeなどのツールを最初にインストールしてから、上記のコマンドを再実行する必要があります。
kubectl cluster-infoがURLレスポンスを返したにもかかわらずクラスターにアクセスできない場合は、次のコマンドで設定が正しいことを確認してください:
```shell
kubectl cluster-info dump
```
## kubectlの任意の設定
### シェルの自動補完を有効にする
kubectlはBashおよびZshの自動補完を提供しています。これにより、入力を大幅に削減することができます。
以下にBashLinuxとmacOSの違いも含む)およびZshの自動補完の設定手順を示します。
{{< tabs name="kubectl_autocompletion" >}}
{{% tab name="LinuxでのBash" %}}
### はじめに
Bashにおけるkubectlの補完スクリプトは`kubectl completion bash`コマンドで生成できます。シェル内で補完スクリプトをsourceすることでkubectlの自動補完が有効になります。
ただし、補完スクリプトは[**bash-completion**](https://github.com/scop/bash-completion)に依存しているため、このソフトウェアを最初にインストールしておく必要があります(`type _init_completion`を実行することで、bash-completionがすでにインストールされていることを確認できます)。
### bash-completionをインストールする
bash-completionは多くのパッケージマネージャーから提供されています([こちら](https://github.com/scop/bash-completion#installation)を参照してください)。`apt-get install bash-completion`または`yum install bash-completion`などでインストールできます。
上記のコマンドでbash-completionの主要スクリプトである`/usr/share/bash-completion/bash_completion`が作成されます。パッケージマネージャーによっては、このファイルを`~/.bashrc`にて手動でsourceする必要があります。
これを調べるには、シェルをリロードしてから`type _init_completion`を実行してください。コマンドが成功していればすでに設定済みです。そうでなければ、`~/.bashrc`に以下を追記してください:
```shell
source /usr/share/bash-completion/bash_completion
```
シェルをリロードし、`type _init_completion`を実行してbash-completionが正しくインストールされていることを検証してください。
### kubectlの自動補完を有効にする
すべてのシェルセッションにてkubectlの補完スクリプトをsourceできるようにしなければなりません。これを行うには2つの方法があります:
- 補完スクリプトを`~/.bashrc`内でsourceしてください:
```shell
echo 'source <(kubectl completion bash)' >>~/.bashrc
```
- 補完スクリプトを`/etc/bash_completion.d`ディレクトリに追加してください:
```shell
kubectl completion bash >/etc/bash_completion.d/kubectl
```
{{< note >}}
bash-completionは`/etc/bash_completion.d`内のすべての補完スクリプトをsourceします。
{{< /note >}}
どちらも同様の手法です。シェルをリロードしたあとに、kubectlの自動補完が機能するはずです。
{{% /tab %}}
{{% tab name="macOSでのBash" %}}
### はじめに
Bashにおけるkubectlの補完スクリプトは`kubectl completion bash`コマンドで生成できます。シェル内で補完スクリプトをsourceすることでkubectlの自動補完が有効になります。
ただし、補完スクリプトは[**bash-completion**](https://github.com/scop/bash-completion)に依存しているため、事前にインストールする必要があります。
{{< warning>}}
bash-completionにはv1とv2のバージョンがあり、v1はBash 3.2(macOSのデフォルト)用で、v2はBash 4.1以降向けです。kubectlの補完スクリプトはbash-completionのv1とBash 3.2では正しく**動作しません**。**bash-completion v2**および**Bash 4.1**が必要になります。したがって、macOSで正常にkubectlの補完を使用するには、Bash 4.1以降をインストールする必要があります([*手順*](https://itnext.io/upgrading-bash-on-macos-7138bd1066ba))。以下の手順では、Bash4.1以降(Bashのバージョンが4.1またはそれより新しいことを指します)を使用することを前提とします。
{{< /warning >}}
### bash-completionをインストールする
{{< note >}}
前述のとおり、この手順ではBash 4.1以降であることが前提のため、bash-completion v2をインストールすることになります(これとは逆に、Bash 3.2およびbash-completion v1の場合ではkubectlの補完は動作しません)。
{{< /note >}}
`type _init_completion`を実行することで、bash-completionがすでにインストールされていることを確認できます。ない場合は、Homebrewを使用してインストールすることもできます:
```shell
brew install bash-completion@2
```
このコマンドの出力で示されたように、`~/.bashrc`に以下を追記してください:
```shell
export BASH_COMPLETION_COMPAT_DIR="/usr/local/etc/bash_completion.d"
[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"
```
シェルをリロードし、`type _init_completion`を実行してbash-completion v2が正しくインストールされていることを検証してください。
### kubectlの自動補完を有効にする
すべてのシェルセッションにてkubectlの補完スクリプトをsourceできるようにしなければなりません。これを行うには複数の方法があります:
- 補完スクリプトを`~/.bashrc`内でsourceする:
```shell
echo 'source <(kubectl completion bash)' >>~/.bashrc
```
- 補完スクリプトを`/usr/local/etc/bash_completion.d`ディレクトリに追加する:
```shell
kubectl completion bash >/etc/bash_completion.d/kubectl
```
- kubectlをHomwbrewでインストールした場合([前述](#homebrewを使用してmacosへインストールする)のとおり)、kubectlの補完スクリプトはすでに`/usr/local/etc/bash_completion.d/kubectl`に格納されているでしょう。この場合、なにも操作する必要はありません。
{{< note >}}
Homebrewでインストールしたbash-completion v2は`BASH_COMPLETION_COMPAT_DIR`ディレクトリ内のすべてのファイルをsourceするため、後者の2つの方法が機能します。
{{< /note >}}
どの場合でも、シェルをリロードしたあとに、kubectlの自動補完が機能するはずです。
{{% /tab %}}
{{% tab name="Zsh" %}}
Zshにおけるkubectlの補完スクリプトは`kubectl completion zsh`コマンドで生成できます。シェル内で補完スクリプトをsourceすることでkubectlの自動補完が有効になります。
すべてのシェルセッションで使用するには、`~/.bashrc`に以下を追記してください:
```shell
source <(kubectl completion zsh)
```
シェルをリロードしたあとに、kubectlの自動補完が機能するはずです。
`complete:13: command not found: compdef`のようなエラーが出力された場合は、以下を`~/.zshrc`の先頭に追記してください:
```shell
autoload -Uz compinit
compinit
```
{{% /tab %}}
{{< /tabs >}}
{{% /capture %}}
{{% capture whatsnext %}}
* [Minikubeをインストールする](/docs/tasks/tools/install-minikube/)
* クラスターの作成に関する詳細を[スタートガイド](/docs/setup/)で確認する
* [アプリケーションを起動して公開する方法を学ぶ](/docs/tasks/access-application-cluster/service-access-application-cluster/)
* あなたが作成していないクラスターにアクセスする必要がある場合は、[クラスターアクセスドキュメントの共有](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)を参照してください
* [kubectlリファレンスドキュメント](/docs/reference/kubectl/kubectl/)を参照する
{{% /capture %}}