Karpenter と Cluster Autoscaler を使用したクラスターコンピューティングのスケーリング - Amazon EKS

Karpenter と Cluster Autoscaler を使用したクラスターコンピューティングのスケーリング

自動スケーリングとは、需要の変化に合わせてリソースを自動的に増減させる機能です。これは Kubernetes の主要な機能であり、この機能がなければ、手動で実行するために膨大な人的リソースが必要になります。

Amazon EKS は 2 つの自動スケーリング製品をサポートしています。

Karpenter

Karpenter は柔軟で高性能な Kubernetes クラスターオートスケーラーで、アプリケーションの可用性とクラスター効率の向上に役立ちます。Karpenter では、1 分以内にアプリケーション負荷の変化に応じて、適切なサイズのコンピューティングリソース (Amazon EC2 インスタンスなど) を起動します。Kubernetes と AWS を統合することで、Karpenter は、ワークロードの要件を正確に満たすジャストインタイムコンピューティングリソースをプロビジョンできます。Karpenter は、クラスターワークロードの具体的な要件に基づいて、新しいコンピューティングリソースを自動的にプロビジョンします。これには、コンピューティング、ストレージ、高速化、スケジューリングの各要件が含まれます。Amazon EKS は Karpenter を使用したクラスターをサポートしていますが、Karpenter は適合するいずれの Kubernetes クラスターでも動作します。詳細については、Karpenter のドキュメントを参照してください。

重要

Karpenter は、AWS ユーザーが Kubernetes クラスターでインストール、設定、管理を行うオープンソースソフトウェアです。AWS は、Amazon EKS クラスターで互換性のあるバージョンを使用して Karpenter を変更せずに実行した場合にテクニカルサポートを提供します。他のカスタマーマネージドソフトウェアと同様に、お客様が Karpenter コントローラーの可用性とセキュリティ、および、Karpenter コントローラーやその実行中の Kubernetes クラスターをアップグレードするときの適切なテスト手順を維持することが重要です。Karpenter の AWS サービスレベルアグリーメント (SLA) はなく、お客様は Karpenter によって起動された EC2 インスタンスがビジネス要件を満たしていることを確認する必要があります。

Cluster Autoscaler

Kubernetes の Cluster Autoscaler は、ポッドが失敗したり、他のノードに再スケジュールされた場合に、クラスター内のノード数を自動的に調整します。Cluster Autoscaler は Auto Scaling グループを使用します。詳細については、「AWS の Cluster Autoscaler」を参照してください。