【カーペンター】

Karpenter とは?

最終更新:
💡 Podの注文を聞いてから、ちょうどいい広さの部屋を建てる大工さん

Kubernetesでノードのライフサイクルを管理するオープンソースの仕組み。配置できないPodの要件と設定した制約に合うノードを用意し、設定や稼働状況に応じて集約・削除を行う。

📌 このページのポイント
Karpenter:Podに合う置き場所を用意Pod置き場所なし要件を伝えるKarpenter条件を照合ノードを用意ノードPodの置き場適合する容量NodePool:条件・上限を設定使い終わったノードも管理集約・削除は設定と稼働状況による
要件に合う容量が用意できることが前提。Podの数を増やす仕組みとは役割が違います。
ひよこ ひよこ
Karpenterって、Podを増やしてくれるの?
ペンギン先生 ペンギン先生
Podを置くノードを用意する仕組みだよ。Kubernetesのスケジューラが配置できないと判断したPodを見つけ、必要なCPU・メモリや配置条件に合うノードを選ぶんだ。Podの数を増やすオートスケーリングとは役割が違うよ
ひよこ ひよこ
どんなノードを使ってもいいの?
ペンギン先生 ペンギン先生
NodePoolに、使ってよいノードの条件を設定するよ。たとえば種類やゾーン、リソース上限などだね。Pod側の条件とも両立する必要があり、条件に合う容量が用意できなければ、配置できない状態が残ることもあるんだ
ひよこ ひよこ
Cluster Autoscalerとの違いは?
ペンギン先生 ペンギン先生
AWSの一般的な構成では、Cluster Autoscalerは既存のノードグループの台数を調整するよ。KarpenterはPodの要件とNodePoolの制約からノードを選んで用意する。対応するクラウドや構成を確認して選ぶのが大切だね
ひよこ ひよこ
使わなくなったノードは、すぐ消えるの?
ペンギン先生 ペンギン先生
集約の設定と状況によるよ。空のノードを減らしたり、Podを別のノードへ移して集約したりする。通常の集約では、Podを退避できるかや、同時に変更できるノード数の制限などを確認するので、常に即座に消すわけではないんだ
ひよこ ひよこ
乗り換えるときは何を確認すればいい?
ペンギン先生 ペンギン先生
Podのrequestsと配置条件に加え、移動時にサービスを保てる構成かを確認しよう。公式のEKS移行ガイドにも、既存グループを縮めるときにワークロードが停止しうるという注意があるよ。いきなり一括で切り替えず、環境に合う手順と稼働確認が必要なんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Karpenter」って出てきたら「Podに合う置き場所を用意し、ノードを管理する仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Karpenter」 = Kubernetes向けのノード管理プロジェクト名
💬 大工を意味するcarpenterに似た響きの名前だよ。Podの注文に合う部屋を用意する「大工さん」というイメージで覚えられるね

参考資料

← 用語集にもどる