エラスティックコンテナインスタンスは数秒以内に起動でき、ビジネス要件に基づいてスケールアウトできます。短期間のジョブをエラスティックコンテナインスタンスで実行することで、コンピューティングコストを削減し、クラスタの弾力性とリソース使用率を向上させながら、ビジネス要件を確実に満たすことができます。
背景情報
ほとんどの Kubernetes クラスタは、さまざまなオンラインワークロードとオフラインワークロードを同時にサポートする必要があります。オンラインワークロードのトラフィック量は変動し、オフラインワークロードの完了に必要な時間は予測できないため、リソースの需要は時間とともに変化します。たとえば、多くの企業は週末や各月の中旬または月末に集中的なコンピューティングを実行するため、これらの期間中はコンピューティングリソースの需要が急激に増加します。
通常、Kubernetes クラスタはオートスケーラーを使用して、すべてのポッドがスケジュールされるまで一時ノードをスケールアウトします。ポッドがスケジュールされ、実行が完了すると、一時ノードは自動的に解放されます。このスケールアウトモードでは、ポッドがスケジュールされるまでに 2 分以上待機する必要があります。
このシナリオでは、ジョブを実行するためにエラスティックコンテナインスタンスを使用することをお勧めします。仮想ノードをデプロイすることで、エラスティックコンテナインスタンスを Kubernetes クラスタに接続できます。エラスティックコンテナインスタンスは数秒以内に起動し、オンデマンドでスケールアウトできるため、Kubernetes クラスタの弾力性を高めることができます。ジョブを実行するためにエラスティックコンテナインスタンスを使用する前に、ビジネスのトラフィック量を推定したり、アイドルリソースを予約したりする必要はありません。これにより、パフォーマンスを損なうことなく、使用コストと運用管理コストを削減できます。
操作
エラスティックコンテナインスタンスでジョブを実行する方法については、Kubernetes クラスタのタイプに基づいて次の操作を実行します。
Container Service for Kubernetes (ACK) クラスタを使用する場合は、クラスタ内に仮想ノードをデプロイする必要があります。その後、仮想ノード上にエラスティックコンテナインスタンスを作成してジョブを実行できます。詳細については、エラスティックコンテナインスタンスを使用してジョブを実行する を参照してください。
ACK Serverless クラスタを使用する場合は、エラスティックコンテナインスタンスを直接使用してジョブを実行できます。詳細については、ACK Serverless クラスタを使用してジョブを実行する を参照してください。
クラウドまたはデータセンターの自己管理型 Kubernetes クラスタを使用する場合は、クラスタ内に仮想ノードをデプロイできます。その後、仮想ノード上にエラスティックコンテナインスタンスを作成し、エラスティックコンテナインスタンスにジョブをスケジュールできます。自己管理型 Kubernetes クラスタでエラスティックコンテナインスタンスを使用する方法の詳細については、概要 を参照してください。
参考資料
プリエンプティブルなエラスティックコンテナインスタンスを使用して、低コストでジョブを実行することもできます。詳細については、プリエンプティブルインスタンスでジョブを実行する を参照してください。