突然のk8s完全ガイド勉強メモ(12章)

kubernetes

フィルタリングとスコアリング

フィルタリング・・・スケジュール予定のpodが割当可能なNodeを計算する
スコアリング・・・計算されたNode一覧を優先づけして最も適したNodeを計算する

スケジュールリングの種類

いずれもリソースではない事に注意。スケジュール方法の名称

配置したいNodeを指定する方法→Pod側に主導権がある

NodeSelector

簡易的なNodeAffinity機能
特定のラベルを持つNodeにpodを配置する

Node Affinity

特定のNode上だけでPodを実行する
requiredDuringSchedulingIgnoredDuringExecution・・・必須条件
preferredDuringSchedulingIgnoredDuringExecution・・・優先条件
必須条件を満たすNodeがない場合はスケールしない
条件の組み合わせは配列の実装の仕方でandやorを設定できる
また、InやNotInを使うことで条件式を作り上げることもできる

Node Anti-Affinity

↑の裏

Inter-Pod Affinity

特定のPodがいるNodeやZoneなどでPodを実行する
条件の指定方法は上記と同じ
必須条件を満たすPodがない場合はスケールしない
ただし、条件を満たすPodがいてスケジュールリングされ、その後条件を満たすPodが削除されてもスケジュールされたPodが消えるわけではない。
あくまで、スケールするときだけ条件が作動する

Inter-Pod Anti-Affinity

これは、Node Anti-Affinityと違って明示的に指定できる

配置したくないNodeを指定する方法→Node側に主導権がある

Taints/Tolerations