From a5acc502e78f10e0ba6cdfda93566a9e56e7ba80 Mon Sep 17 00:00:00 2001 From: Takuma Hashimoto Date: Wed, 8 Jan 2020 16:21:39 +0900 Subject: [PATCH] Translate tasks/configure-pod-container/quality-service-pod/ into Japanese (#16173) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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 * Update content/ja/docs/tasks/configure-pod-container/quality-service-pod.md Co-Authored-By: Naoki Oketani * Update content/ja/docs/tasks/configure-pod-container/quality-service-pod.md Co-Authored-By: Naoki Oketani * Update content/ja/docs/tasks/configure-pod-container/quality-service-pod.md Co-Authored-By: Naoki Oketani * Update content/ja/docs/tasks/configure-pod-container/quality-service-pod.md Co-Authored-By: Naoki Oketani Co-authored-by: Naoki Oketani --- .../quality-service-pod.md | 256 ++++++++++++++++++ 1 file changed, 256 insertions(+) create mode 100644 content/ja/docs/tasks/configure-pod-container/quality-service-pod.md diff --git a/content/ja/docs/tasks/configure-pod-container/quality-service-pod.md b/content/ja/docs/tasks/configure-pod-container/quality-service-pod.md new file mode 100644 index 0000000000000..f2a4edb2eedf7 --- /dev/null +++ b/content/ja/docs/tasks/configure-pod-container/quality-service-pod.md @@ -0,0 +1,256 @@ +--- +title: PodにQuality of Serviceを設定する +content_template: templates/task +weight: 30 +--- + + +{{% capture overview %}} + +このページでは、特定のQuality of Service (QoS)クラスをPodに割り当てるための設定方法を示します。Kubernetesは、Podのスケジューリングおよび退役を決定するためにQoSクラスを用います。 + +{{% /capture %}} + + +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + + +{{% capture steps %}} + +## QoSクラス + +KubernetesはPodの作成時に次のいずれかのQoSクラスをPodに割り当てます: + +* Guaranteed +* Burstable +* BestEffort + +## namespaceの作成 + +この演習で作成するリソースがクラスター内で分離されるよう、namespaceを作成します。 + + +```shell +kubectl create namespace qos-example +``` + +## GuaranteedのQoSクラスを割り当てたPodを作成する + +PodにGuaranteedのQoSクラスを与えるには、以下が必要になります: + +* Pod内のすべてのコンテナにメモリーの制限と要求が与えられており、同じ値であること。 +* Pod内のすべてのコンテナにCPUの制限と要求が与えられており、同じ値であること。 + +以下に1つのコンテナをもつPodの設定ファイルを示します。コンテナには200MiBのメモリー制限とリクエストを与え、700ミリCPUの制限と要求を与えます。 + +{{< codenew file="pods/qos/qos-pod.yaml" >}} + +Podを作成してください: + +```shell +kubectl apply -f https://k8s.io/examples/pods/qos/qos-pod.yaml --namespace=qos-example +``` + +Podの詳細な情報を確認してください: + +```shell +kubectl get pod qos-demo --namespace=qos-example --output=yaml +``` + +この出力では、KubernetesがPodにGuaranteed QoSクラスを与えたことを示しています。Podのコンテナにメモリー制限と一致するメモリー要求があり、CPU制限と一致するCPU要求があることも確認できます。 + +```yaml +spec: + containers: + ... + resources: + limits: + cpu: 700m + memory: 200Mi + requests: + cpu: 700m + memory: 200Mi +... + qosClass: Guaranteed +``` + +{{< note >}} +コンテナにメモリー制限を指定し、メモリー要求を指定していない場合は、Kubernetesは自動的にメモリー制限と一致するメモリー要求を割り当てます。同様に、コンテナにCPU制限を指定し、CPU要求を指定していない場合は、Kubernetesは自動的にCPU制限と一致するCPU要求を割り当てます。 +{{< /note >}} + +Podを削除してください: + +```shell +kubectl delete pod qos-demo --namespace=qos-example +``` + +## BurstableのQoSクラスを割り当てたPodを作成する + +次のような場合に、Burstable QoSクラスがPodに与えられます: + +* PodがGuaranteed QoSクラスの基準に満たない場合。 +* Pod内の1つ以上のコンテナがメモリーまたはCPUの要求を与えられている場合。 + +以下に1つのコンテナをもつPodの設定ファイルを示します。コンテナには200MiBのメモリー制限と100MiBのメモリー要求を与えます。 + +{{< codenew file="pods/qos/qos-pod-2.yaml" >}} + +Podを作成してください: + +```shell +kubectl apply -f https://k8s.io/examples/pods/qos/qos-pod-2.yaml --namespace=qos-example +``` + +Podの詳細な情報を確認してください: + +```shell +kubectl get pod qos-demo-2 --namespace=qos-example --output=yaml +``` + +この出力では、KubernetesがPodにBurstable QoSクラスを与えたことを示しています。 + +```yaml +spec: + containers: + - image: nginx + imagePullPolicy: Always + name: qos-demo-2-ctr + resources: + limits: + memory: 200Mi + requests: + memory: 100Mi +... + qosClass: Burstable +``` + +Podを削除してください: + +```shell +kubectl delete pod qos-demo-2 --namespace=qos-example +``` + +## BestEffortのQoSクラスを割り当てたPodを作成する + +PodにBestEffort QoSクラスを与えるには、Pod内のコンテナにはメモリーやCPUの制限や要求を指定してはなりません。 + +以下に1つのコンテナをもつPodの設定ファイルを示します。コンテナにはメモリーやCPUの制限や要求がありません: + +{{< codenew file="pods/qos/qos-pod-3.yaml" >}} + +Podを作成してください: + +```shell +kubectl apply -f https://k8s.io/examples/pods/qos/qos-pod-3.yaml --namespace=qos-example +``` + +Podの詳細な情報を確認してください: + +```shell +kubectl get pod qos-demo-3 --namespace=qos-example --output=yaml +``` + +この出力では、KubernetesがPodにBestEffort QoSクラスを与えたことを示しています。 + +```yaml +spec: + containers: + ... + resources: {} + ... + qosClass: BestEffort +``` + +Podを削除してください: + +```shell +kubectl delete pod qos-demo-3 --namespace=qos-example +``` + +## 2つのコンテナを含むPodを作成する + +以下に2つのコンテナをもつPodの設定ファイルを示します。一方のコンテナは200MiBのメモリー要求を指定し、もう一方のコンテナには要求や制限を指定しません。 + +{{< codenew file="pods/qos/qos-pod-4.yaml" >}} + +このPodがBurstable QoSクラスの基準を満たしていることに注目してください。つまり、Guaranteed QoSクラスの基準に満たしておらず、一方のコンテナにはメモリー要求を与えられています。 + +Podを作成してください: + +```shell +kubectl apply -f https://k8s.io/examples/pods/qos/qos-pod-4.yaml --namespace=qos-example +``` + +Podの詳細な情報を確認してください: + +```shell +kubectl get pod qos-demo-4 --namespace=qos-example --output=yaml +``` + +この出力では、KubernetesがPodにBurstable QoSクラスを与えたことを示しています: + +```yaml +spec: + containers: + ... + name: qos-demo-4-ctr-1 + resources: + requests: + memory: 200Mi + ... + name: qos-demo-4-ctr-2 + resources: {} + ... + qosClass: Burstable +``` + +Podを削除してください: + +```shell +kubectl delete pod qos-demo-4 --namespace=qos-example +``` + +## クリーンアップ + +namespaceを削除してください: + +```shell +kubectl delete namespace qos-example +``` + +{{% /capture %}} + +{{% capture whatsnext %}} + + +### アプリケーション開発者向け + +* [コンテナとPodにメモリーリソースを割り当てる](/docs/tasks/configure-pod-container/assign-memory-resource/) + +* [コンテナとPodにCPUリソースを割り当てる](/docs/tasks/configure-pod-container/assign-cpu-resource/) + +### クラスター管理者向け + +* [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 %}} + + + + +