website/content/ja/docs/tasks/configure-pod-container/assign-pods-nodes.md

94 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Podをードに割り当てる
content_type: task
weight: 120
---
<!-- overview -->
このページでは、KubernetesのPodをKubernetesクラスター上の特定のードに割り当てる方法を説明します。
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
<!-- steps -->
## ラベルをノードに追加する
1. クラスター内の{{< glossary_tooltip term_id="node" text="ノード" >}}のリストをラベル付きで表示します。
```shell
kubectl get nodes --show-labels
```
出力は次のようになります。
```shell
NAME STATUS ROLES AGE VERSION LABELS
worker0 Ready <none> 1d v1.13.0 ...,kubernetes.io/hostname=worker0
worker1 Ready <none> 1d v1.13.0 ...,kubernetes.io/hostname=worker1
worker2 Ready <none> 1d v1.13.0 ...,kubernetes.io/hostname=worker2
```
1. ードの1つを選択して、ラベルを追加します。
```shell
kubectl label nodes <your-node-name> disktype=ssd
```
ここで、`<your-node-name>`は選択したノードの名前です。
1. 選択したノードに`disktype=ssd`ラベルがあることを確認します。
```shell
kubectl get nodes --show-labels
```
出力は次のようになります。
```shell
NAME STATUS ROLES AGE VERSION LABELS
worker0 Ready <none> 1d v1.13.0 ...,disktype=ssd,kubernetes.io/hostname=worker0
worker1 Ready <none> 1d v1.13.0 ...,kubernetes.io/hostname=worker1
worker2 Ready <none> 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/)についてさらに学ぶ。