diff --git a/content/ja/docs/tasks/configure-pod-container/assign-pods-nodes.md b/content/ja/docs/tasks/configure-pod-container/assign-pods-nodes.md new file mode 100644 index 0000000000..e2e4e1d647 --- /dev/null +++ b/content/ja/docs/tasks/configure-pod-container/assign-pods-nodes.md @@ -0,0 +1,93 @@ +--- +title: Podをノードに割り当てる +content_type: task +weight: 120 +--- + + +このページでは、KubernetesのPodをKubernetesクラスター上の特定のノードに割り当てる方法を説明します。 + +## {{% heading "prerequisites" %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + + + +## ラベルをノードに追加する + +1. クラスター内の{{< glossary_tooltip term_id="node" text="ノード" >}}のリストをラベル付きで表示します。 + + ```shell + kubectl get nodes --show-labels + ``` + + 出力は次のようになります。 + + ```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. ノードの1つを選択して、ラベルを追加します。 + + ```shell + kubectl label nodes disktype=ssd + ``` + + ここで、``は選択したノードの名前です。 + +1. 選択したノードに`disktype=ssd`ラベルがあることを確認します。 + + ```shell + kubectl get nodes --show-labels + ``` + + 出力は次のようになります。 + + ```shell + 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 + ``` + + 上の出力を見ると、`worker0`に`disktype=ssd`というラベルがあることがわかります。 + +## 選択したノードにスケジューリングされるPodを作成する + +以下のPodの構成ファイルには、nodeSelectorに`disktype: ssd`を持つPodが書かれています。これにより、Podは`disktype: ssd`というラベルを持っているノードにスケジューリングされるようになります。 + +{{< codenew file="pods/pod-nginx.yaml" >}} + +1. 構成ファイルを使用して、選択したノードにスケジューリングされるPodを作成します。 + + ```shell + kubectl apply -f https://k8s.io/examples/pods/pod-nginx.yaml + ``` + +1. Podが選択したノード上で実行されているをことを確認します。 + + ```shell + kubectl get pods --output=wide + ``` + + 出力は次のようになります。 + + ```shell + NAME READY STATUS RESTARTS AGE IP NODE + nginx 1/1 Running 0 13s 10.200.0.4 worker0 + ``` + +## 特定のノードにスケジューリングされるPodを作成する + +`nodeName`という設定を使用して、Podを特定のノードにスケジューリングすることもできます。 + +{{< codenew file="pods/pod-nginx-specific-node.yaml" >}} + +構成ファイルを使用して、`foo-node`にだけスケジューリングされるPodを作成します。 + +## {{% heading "whatsnext" %}} + +* [ラベルとセレクター](/ja/docs/concepts/overview/working-with-objects/labels/)についてさらに学ぶ。 +* [ノード](/ja/docs/concepts/architecture/nodes/)についてさらに学ぶ。 diff --git a/content/ja/examples/pods/pod-nginx-specific-node.yaml b/content/ja/examples/pods/pod-nginx-specific-node.yaml new file mode 100644 index 0000000000..401814df92 --- /dev/null +++ b/content/ja/examples/pods/pod-nginx-specific-node.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Pod +metadata: + name: nginx +spec: + nodeName: foo-node # 特定のノードにPodをスケジューリングする + containers: + - name: nginx + image: nginx + imagePullPolicy: IfNotPresent