4.4.3. ノードアフィニティーの preferred (優先) ルールの設定
preferred (優先) ルールは、ルールを満たす場合に、スケジューラーはルールの実施を試行しますが、その実施が必ずしも保証される訳ではありません。
手順
以下の手順は、ノードとスケジューラーがノードに配置しようとする Pod を作成する単純な設定を示しています。
oc label nodeコマンドを使用してラベルをノードに追加します。$ oc label node node1 e2e-az-name=e2e-az3特定のラベルの付いた Pod を作成します。
以下の内容を含む YAML ファイルを作成します。
注記アフィニティーをスケジュールされた Pod に直接追加することはできません。
apiVersion: v1 kind: Pod metadata: name: s1 spec: affinity:1 nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution:2 - weight:3 preference: matchExpressions: - key: e2e-az-name4 values: - e2e-az3 operator: In5 #...- 1
- Pod のアフィニティーを追加します。
- 2
preferredDuringSchedulingIgnoredDuringExecutionパラメーターを設定します。- 3
- ノードの重みを数字の 1-100 で指定します。最も高い重みを持つノードが優先されます。
- 4
- 満たす必要のある
keyおよびvaluesを指定します。新規 Pod を編集したノードにスケジュールする必要がある場合、ノードのラベルと同じkeyおよびvaluesパラメーターを使用します。 - 5
operatorを指定します。演算子はIn、NotIn、Exists、またはDoesNotExistにすることができます。たとえば、演算子Inを使用してラベルをノードで必要になるようにします。
Pod を作成します。
$ oc create -f <file-name>.yaml