41. Node Group 毎に
ØInstance Type
ØAuto Scale
ØIAM Policy
ØTag etc.
Node Group
ライフサイクル、要求リソースが異なるサービス毎に Node Group を作成(学習⽤、推論⽤、etc.)
Node Group の定義は、クラスタ作成時の cluster.yaml にて定義
40https://eksctl.io/usage/eks-managed-nodegroups/
73. Cluster Autoscaler / Scale Up
pending 状態だった Pod はリソースに空きがあ
る新規で作成されたノードにデプロイされる
72
74. Cluster Autoscaler / Scale Down
例えば、右図のように配置されている Pod の1つが
終了したとする
CA は Scale Up が発⽣しない場合は、Node Group
に削除可能なノードがないか監視している
※削除可能なノードの条件(下記全てを満たす)
Ø Pod による CPU、メモリの合計リソース要求がノードの割り
当て可能値の 閾値 (デフォルト 50%) 未満
Ø ノード上の全ての Pod が他ノードへ移動可
Ø ノードに Scale Down を無効にするタグがついていない
73
75. Cluster Autoscaler / Scale Down
削除対象ノード上で動いている Pod は、CA によっ
て他ノードに移動させても問題ないかチェックされ
た後、移動される
※移動不可な Pod
Ø PodDisruptionBudget によって制限された Pod
Ø kube-system Pod (PDB が設定されていない など)
Ø controller によってサポートされていない Pod
Ø Local ストレージを持つ Pod
Ø リソース不⾜、NodeSelector、NodeAffinity などの制約によっ
て他のノードに移動できない Pod
Ø 特別なタグによって制限されている Pod
74
76. Cluster Autoscaler / Scale Down
CA は削除対象ノード上に Pod がいなくなったこ
とを確認すると、
ASG のDesired Capacityを1減らす
75