k8sで特定のノードにPodを作成する方法は?
Kubernetesで特定のNodeにPodを作成するには、NodeSelectorフィールドまたはNodeAffinityルールを使用して、Podが必要とするNodeを指定することができます。以下には、その2つの方法の例が示されています。
- ノードセレクター項目の使用:
- Podの記述ファイルに、nodeSelectorフィールドを追加し、使用するNodeのラベルを指定します。例えば、ラベルがnode-type: workerのNodeでPodを作成したい場合は、Podの記述ファイルに以下の内容を追加できます:
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
– name: my-container
image: my-image
nodeSelector:
node-type: worker - その後、kubectlコマンドを使用してPodを作成してください:
kubectl create -f pod.yaml - Nodeタイプがworkerであるラベルが付いているノードに、名前がmy-podのPodを作成します。
- NodeAffinityルールを使用する:
- Podの説明ファイルに、affinityフィールドを追加し、nodeAffinityルールを指定してください。 以下は例です:
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
– name: my-container
image: my-image
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
– matchExpressions:
– key: node-type
operator: In
values:
– worker - その後、kubectlコマンドを使用してPodを作成します:
kubectl create -f pod.yaml - node-type: workerのNodeにmy-podという名前のPodが作成されます。
あなたの要求に応じて、適切な方法を選択し、クラスター設定とラベル設定に応じて、サンプルファイルを適切に変更してください。