From 8b2772760abd274bf66b5f7305a16a4f9d758702 Mon Sep 17 00:00:00 2001 From: TAKAHASHI Shuuji Date: Sun, 16 Aug 2020 02:45:11 +0900 Subject: [PATCH 1/3] Copy tasks/configure-pod-container/assign-pods-nodes-using-node-affinity from en/ directory. --- .../assign-pods-nodes-using-node-affinity.md | 122 ++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 content/ja/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md diff --git a/content/ja/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md b/content/ja/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md new file mode 100644 index 0000000000..8306724c1d --- /dev/null +++ b/content/ja/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md @@ -0,0 +1,122 @@ +--- +title: Assign Pods to Nodes using Node Affinity +min-kubernetes-server-version: v1.10 +content_type: task +weight: 120 +--- + + +This page shows how to assign a Kubernetes Pod to a particular node using Node Affinity in a +Kubernetes cluster. + + +## {{% heading "prerequisites" %}} + + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + + + + + +## Add a label to a node + +1. List the nodes in your cluster, along with their labels: + + ```shell + kubectl get nodes --show-labels + ``` + The output is similar to this: + + ```shell + NAME STATUS ROLES AGE VERSION LABELS + worker0 Ready 1d v1.13.0 ...,kubernetes.io/hostname=worker0 + worker1 Ready 1d v1.13.0 ...,kubernetes.io/hostname=worker1 + worker2 Ready 1d v1.13.0 ...,kubernetes.io/hostname=worker2 + ``` +1. Chose one of your nodes, and add a label to it: + + ```shell + kubectl label nodes disktype=ssd + ``` + where `` is the name of your chosen node. + +1. Verify that your chosen node has a `disktype=ssd` label: + + ```shell + kubectl get nodes --show-labels + ``` + + The output is similar to this: + + ``` + NAME STATUS ROLES AGE VERSION LABELS + worker0 Ready 1d v1.13.0 ...,disktype=ssd,kubernetes.io/hostname=worker0 + worker1 Ready 1d v1.13.0 ...,kubernetes.io/hostname=worker1 + worker2 Ready 1d v1.13.0 ...,kubernetes.io/hostname=worker2 + ``` + + In the preceding output, you can see that the `worker0` node has a + `disktype=ssd` label. + +## Schedule a Pod using required node affinity + +This manifest describes a Pod that has a `requiredDuringSchedulingIgnoredDuringExecution` node affinity,`disktype: ssd`. +This means that the pod will get scheduled only on a node that has a `disktype=ssd` label. + +{{< codenew file="pods/pod-nginx-required-affinity.yaml" >}} + +1. Apply the manifest to create a Pod that is scheduled onto your + chosen node: + + ```shell + kubectl apply -f https://k8s.io/examples/pods/pod-nginx-required-affinity.yaml + ``` + +1. Verify that the pod is running on your chosen node: + + ```shell + kubectl get pods --output=wide + ``` + + The output is similar to this: + + ``` + NAME READY STATUS RESTARTS AGE IP NODE + nginx 1/1 Running 0 13s 10.200.0.4 worker0 + ``` + +## Schedule a Pod using preferred node affinity + +This manifest describes a Pod that has a `preferredDuringSchedulingIgnoredDuringExecution` node affinity,`disktype: ssd`. +This means that the pod will prefer a node that has a `disktype=ssd` label. + +{{< codenew file="pods/pod-nginx-preferred-affinity.yaml" >}} + +1. Apply the manifest to create a Pod that is scheduled onto your + chosen node: + + ```shell + kubectl apply -f https://k8s.io/examples/pods/pod-nginx-preferred-affinity.yaml + ``` + +1. Verify that the pod is running on your chosen node: + + ```shell + kubectl get pods --output=wide + ``` + + The output is similar to this: + + ``` + NAME READY STATUS RESTARTS AGE IP NODE + nginx 1/1 Running 0 13s 10.200.0.4 worker0 + ``` + + + +## {{% heading "whatsnext" %}} + +Learn more about +[Node Affinity](/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). + From 39d1db81e1e98b6eb5b8fc3e949823e8c4c979f9 Mon Sep 17 00:00:00 2001 From: TAKAHASHI Shuuji Date: Sun, 16 Aug 2020 04:57:31 +0900 Subject: [PATCH 2/3] Copy Pod resource files. --- .../pods/pod-nginx-preferred-affinity.yaml | 19 +++++++++++++++++++ .../pods/pod-nginx-required-affinity.yaml | 18 ++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 content/ja/examples/pods/pod-nginx-preferred-affinity.yaml create mode 100644 content/ja/examples/pods/pod-nginx-required-affinity.yaml diff --git a/content/ja/examples/pods/pod-nginx-preferred-affinity.yaml b/content/ja/examples/pods/pod-nginx-preferred-affinity.yaml new file mode 100644 index 0000000000..7cc3aa4db9 --- /dev/null +++ b/content/ja/examples/pods/pod-nginx-preferred-affinity.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Pod +metadata: + name: nginx +spec: + affinity: + nodeAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 1 + preference: + matchExpressions: + - key: disktype + operator: In + values: + - ssd + containers: + - name: nginx + image: nginx + imagePullPolicy: IfNotPresent diff --git a/content/ja/examples/pods/pod-nginx-required-affinity.yaml b/content/ja/examples/pods/pod-nginx-required-affinity.yaml new file mode 100644 index 0000000000..2c40672384 --- /dev/null +++ b/content/ja/examples/pods/pod-nginx-required-affinity.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Pod +metadata: + name: nginx +spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + containers: + - name: nginx + image: nginx + imagePullPolicy: IfNotPresent From 006a5825e907ade515da79a09da1094b612442dd Mon Sep 17 00:00:00 2001 From: TAKAHASHI Shuuji Date: Sun, 16 Aug 2020 03:08:17 +0900 Subject: [PATCH 3/3] Translate tasks/configure-pod-container/assign-pods-nodes-using-node-affinity into Japanese. --- .../assign-pods-nodes-using-node-affinity.md | 53 ++++++++----------- 1 file changed, 23 insertions(+), 30 deletions(-) diff --git a/content/ja/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md b/content/ja/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md index 8306724c1d..5154669ed5 100644 --- a/content/ja/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md +++ b/content/ja/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md @@ -1,13 +1,12 @@ --- -title: Assign Pods to Nodes using Node Affinity +title: Node Affinityを利用してPodをノードに割り当てる min-kubernetes-server-version: v1.10 content_type: task weight: 120 --- -This page shows how to assign a Kubernetes Pod to a particular node using Node Affinity in a -Kubernetes cluster. +このページでは、Node Affinityを利用して、PodをKubernetesクラスター内の特定のノードに割り当てる方法を説明します。 ## {{% heading "prerequisites" %}} @@ -19,14 +18,15 @@ Kubernetes cluster. -## Add a label to a node +## ノードにラベルを追加する -1. List the nodes in your cluster, along with their labels: +1. クラスター内のノードを一覧表示して、ラベルを確認します。 ```shell kubectl get nodes --show-labels ``` - The output is similar to this: + + 出力は次のようになります。 ```shell NAME STATUS ROLES AGE VERSION LABELS @@ -34,20 +34,21 @@ Kubernetes cluster. worker1 Ready 1d v1.13.0 ...,kubernetes.io/hostname=worker1 worker2 Ready 1d v1.13.0 ...,kubernetes.io/hostname=worker2 ``` -1. Chose one of your nodes, and add a label to it: +1. ノードを選択して、ラベルを追加します。 ```shell kubectl label nodes disktype=ssd ``` - where `` is the name of your chosen node. -1. Verify that your chosen node has a `disktype=ssd` label: + ここで、``は選択したノードの名前で置換します。 + +1. 選択したノードに`disktype=ssd`ラベルがあることを確認します。 ```shell kubectl get nodes --show-labels ``` - The output is similar to this: + 出力は次のようになります。 ``` NAME STATUS ROLES AGE VERSION LABELS @@ -56,67 +57,59 @@ Kubernetes cluster. worker2 Ready 1d v1.13.0 ...,kubernetes.io/hostname=worker2 ``` - In the preceding output, you can see that the `worker0` node has a - `disktype=ssd` label. + この出力を見ると、`worker0`ノードに`disktype=ssd`というラベルが追加されたことがわかります。 -## Schedule a Pod using required node affinity +## required node affinityを使用してPodをスケジューリングする -This manifest describes a Pod that has a `requiredDuringSchedulingIgnoredDuringExecution` node affinity,`disktype: ssd`. -This means that the pod will get scheduled only on a node that has a `disktype=ssd` label. +以下に示すマニフェストには、`requiredDuringSchedulingIgnoredDuringExecution`に`disktype: ssd`というnode affinityを使用したPodが書かれています。このように書くと、Podは`disktype=ssd`というラベルを持つノードにだけスケジューリングされるようになります。 {{< codenew file="pods/pod-nginx-required-affinity.yaml" >}} -1. Apply the manifest to create a Pod that is scheduled onto your - chosen node: +1. マニフェストを適用して、選択したノード上にスケジューリングされるPodを作成します。 ```shell kubectl apply -f https://k8s.io/examples/pods/pod-nginx-required-affinity.yaml ``` -1. Verify that the pod is running on your chosen node: +1. Podが選択したノード上で実行されていることを確認します。 ```shell kubectl get pods --output=wide ``` - The output is similar to this: + 出力は次のようになります。 ``` NAME READY STATUS RESTARTS AGE IP NODE nginx 1/1 Running 0 13s 10.200.0.4 worker0 ``` -## Schedule a Pod using preferred node affinity +## preferred node affinityを使用してPodをスケジューリングする -This manifest describes a Pod that has a `preferredDuringSchedulingIgnoredDuringExecution` node affinity,`disktype: ssd`. -This means that the pod will prefer a node that has a `disktype=ssd` label. +以下に示すマニフェストには、`preferredDuringSchedulingIgnoredDuringExecution`に`disktype: ssd`というnode affinityを使用したPodが書かれています。このように書くと、Podは`disktype=ssd`というラベルを持つノードに優先的にスケジューリングされるようになります。 {{< codenew file="pods/pod-nginx-preferred-affinity.yaml" >}} -1. Apply the manifest to create a Pod that is scheduled onto your - chosen node: +1. マニフェストを適用して、選択したノード上にスケジューリングされるPodを作成します。 ```shell kubectl apply -f https://k8s.io/examples/pods/pod-nginx-preferred-affinity.yaml ``` -1. Verify that the pod is running on your chosen node: +1. Podが選択したノード上で実行されていることを確認します。 ```shell kubectl get pods --output=wide ``` - The output is similar to this: + 出力は次のようになります。 ``` NAME READY STATUS RESTARTS AGE IP NODE nginx 1/1 Running 0 13s 10.200.0.4 worker0 ``` - - ## {{% heading "whatsnext" %}} -Learn more about -[Node Affinity](/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). +[Node Affinity](/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity)についてさらに学ぶ。