k8sで特定のノードでポッドを起動する方法は何ですか?
Kubernetesでは、nodeSelectorまたはnodeNameを使用して、ノードでPodを開始することができます。
- ノードセレクタ
- 仕様
- ノードセレクタ
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: my-image
nodeSelector:
disk: ssd
上記の例では、nodeSelectorフィールドは、Podを起動するためにdisk=ssdのラベルを持つノードを選択します。
- ノード名
- スペック
- ノード名
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: my-image
nodeName: my-node
上記の例では、Pod は my-node という名前のノードで起動されます。
nodeName フィールドを使用すると、Pod はノードセレクタ(nodeSelector)を無視し、指定されたノードが存在しないか利用できない場合、Pod はノードが利用可能になるまで保留状態にあります。そのため、nodeName フィールドを使用する際は、指定されたノードが正しく利用できることを確認する必要があります。