投稿日: Nov 29, 2021

AWS は本日、新たなオープンソース Kubernetes クラスターオートスケーリングプロジェクト、Karpenter のバージョン 0.5 の一般提供開始を発表しました。今後は本番稼働環境でご利用いただけます。Karpenter は、柔軟性のある高性能の Kubernetes Cluster Autoscaler で、アプリケーションの可用性とリソースの使用率を向上させることができます。Karpenter は変化するアプリケーションロードに対応し、1 分以内で適切なサイズの EC2 インスタンスを起動します。このような EC2 インスタンスは、コンピューティングやストレージ、アクセラレーション、スケジューリング要件などクラスターのワークロードの具体的なニーズに基づいています。Karpenter はどのような適合 Kubernetes クラスターでも使用できるよう設計されていますが、Amazon Elastic Kubernetes Service (EKS) では現在、AWS で Karpenter を使用したクラスターに対応しています。

Kubernetes のお客様は、スケーリング時のワークロードに対応してコスト効率を向上させるため、引き続きクラスターのコンピューティング性能を調整する必要があります。以前は Kubernetes Cluster Autoscaler を期待通りに機能させて AWS クラウドの伸縮性を活用するには、多数の EC2 オートスケーリンググループを作成しなくてはなりませんでした。そのため、クラスターが大きくなると、オペレーションのオーバーヘッドが増え、パフォーマンスが低下していました。さらに、機械学習モデルのトレーニングなどで数百の多様な EC2 インスタンスのプロビジョニングが必要な場合は、費用のかかるスケジューリングレイテンシーが発生し、イノベーションのスピードが落ちるとともにコストがかさんでいました。

Karpenter は、新しい EC2 インスタンスのプロビジョニングと Kubernetes ポッドのスケジューリングをすべて 1 分以内で行うよう設計されています。Karpenter は、Kubernetes ポッドのニーズに最適な EC2 インスタンスタイプを動的に選びます。構成は最小限に抑えられ、AWS インフラストラクチャを追加する必要もありません。Karpenter はワークロードスケールとして自動的に必要なインスタンスを追加したり削除したりするので、コストのかかる過剰なプロビジョニングの必要性を減らし、時間のかかる高価なスケールダウンを防ぎます。Karpenter は直接、EC2 と統合するので、お客様は適時、クラスターに必要な性能を得られます。このため、Spot および Compute Savings Plans からの大幅なディスカウントを容易に活用して、コストをさらに抑えられます。

Karpenter の詳細については AWS News ローンチブログをお読みになるか、karpenter.sh にアクセスし、今日から使い始めましょう。