コンテナのスケジューリングに AWS-ECS を使用しています。ECS で最も差し迫った問題は、「リソースの断片化」です。
それぞれのリソース要件を持つ次のタスク定義/ポッドがあるとします。
POD CPU Desired Total_CPU
- task1 1024 2 2048
- task2 512 4 2048
- task3 256 1 256
(簡単にするために CPU 要件のみを保持します)
使用可能な CPU=2048 の VM を考慮すると、上記のサービスを実行するには少なくとも 3 つの VM が必要です。
さらに言えば、Blue Green デプロイを実行するには、理論的には2048 CPU ユニットを備えたVM がもう 1 つ必要です。
ただし、時間の経過とともにデプロイが行われると、コンテナーは利用可能なすべての VM に分散されます。これにより、リソースが利用できないため、Blue Green の展開に時間がかかりすぎます (または失敗することさえあります)。
そのため、Blue Green の展開が予想どおりに機能するには、クラスター内にさらに多くの追加の VM (より多くの $$$)が必要になります。
Kubernetes がポッドを統合してリソースの断片化を最小限に抑える機能を提供しているかどうかを知りたいです。