3.2. ジョブを実行するノードの指定
コンテナーグループ Pod の仕様にノードセレクターを追加して、それらが特定ノードに対してのみ実行されるようにできます。最初に、ジョブを実行するノードにラベルを追加します。
次の手順では、ラベルをノードに追加します。
手順
クラスター内のノードとそのラベルを一覧表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubectl get nodes --show-labels
kubectl get nodes --show-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 つを選択し、次のコマンドを使用してラベルを追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubectl label nodes <your-node-name> <aap_node_type>=<execution>
kubectl label nodes <your-node-name> <aap_node_type>=<execution>
以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubectl label nodes <your-node-name> disktype=ssd
kubectl label nodes <your-node-name> disktype=ssd
<your-node-name>
は、選択したノードの名前です。選択したノードに
disktype=ssd
ラベルがあることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubectl get nodes --show-labels
kubectl get nodes --show-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
ラベルが付いていることがわかります。- Automation Controller UI で、コンテナーグループ内のカスタマイズされた Pod 仕様のメタデータセクションでそのラベルを指定します。
apiVersion: v1 kind: Pod metadata: disktype: ssd namespace: ansible-automation-platform spec: serviceAccountName: default automountServiceAccountToken: false nodeSelector: aap_node_type: execution containers: - image: >- registry.redhat.io/ansible-automation-platform-22/ee-supported-rhel8@sha256:d134e198b179d1b21d3f067d745dd1a8e28167235c312cdc233860410ea3ec3e name: worker args: - ansible-runner - worker - '--private-data-dir=/runner' resources: requests: cpu: 250m memory: 100Mi
apiVersion: v1
kind: Pod
metadata:
disktype: ssd
namespace: ansible-automation-platform
spec:
serviceAccountName: default
automountServiceAccountToken: false
nodeSelector:
aap_node_type: execution
containers:
- image: >-
registry.redhat.io/ansible-automation-platform-22/ee-supported-rhel8@sha256:d134e198b179d1b21d3f067d745dd1a8e28167235c312cdc233860410ea3ec3e
name: worker
args:
- ansible-runner
- worker
- '--private-data-dir=/runner'
resources:
requests:
cpu: 250m
memory: 100Mi