4.3.2. ノードアフィニティーの required (必須) ルールの設定
必須 ルールを使用すると、Pod をノードにスケジュールする前に、特定のルールを満たす 必要がある ことをスケジューラーに指示できます。
以下の手順は、ノードとスケジューラーがノードに配置する必要のある Pod を作成する単純な設定を示しています。
手順
Pod 仕様の特定のラベルの付いた Pod を作成します。
以下の内容を含む YAML ファイルを作成します。
注記アフィニティーをスケジュールされた Pod に直接追加することはできません。
出力例
apiVersion: v1 kind: Pod metadata: name: s1 spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: e2e-az-name values: - e2e-az1 - e2e-az2 operator: In #...ここでは、以下のようになります。
spec.affinity.nodeAffinity- ノードアフィニティーを設定するスタンザを指定します。
spec.affinity.nodeAffinity.requiredDuringScheduledIgnoredDuringExecution必須 ルールを指定します。
nodeSelectorTerms.matchExpressions の以下のパラメーターを設定してください。key- ルールを適用するために一致させる必要があるキー/値ペア (ラベル) のキーを指定します。
operator-
ノード上のラベルと、
Pod仕様のmatchExpressionパラメーター内の値のセットとの間の関係を指定します。この値は、In、NotIn、Exists、またはDoesNotExist、Lt、またはGtにすることができます。ノードのアンチアフィニティー に関する明示的な概念はありませんが、NotInまたはDoesNotExist演算子を使用すると、動作が複製されます。 values- ルールを適用するために一致させる必要があるキー/値ペア (ラベル) の値を指定します。
Pod を作成します。
$ oc create -f <file-name>.yaml