突然の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