Kubernetes Blog 日本語
フォロー
Node SwapによるKubernetesワークロードのスケーリング
Kubernetesクラスターは、CPUの制約よりも前にメモリの制限に直面することが多く、これは新しいエージェント型AIワークロードによって悪化する問題です。これらのAIワークロードは、信頼されていないコードを初期化および実行するためにかなりのメモリを必要とし、その後アイドル状態になります。このアイドルメモリはコストがかかり、ノードがホストできるポッドの数を制限します。スワップメモリは、特に高速なNVMe SSDによってバックアップされている場合、休止状態のメモリをページアウトすることでこれを解決できます。現在一般提供されているKubernetesのスワップサポートにより、ノードはより多くのポッドをホストできます。CI/CDビルド、サンドボックス化されたブラウザ、およびPythonランタイム全体でのベンチマークは、レイテンシへの影響を最小限に抑えながら、最大3倍の密度向上を実証しました。歴史的に、メモリアカウンティングの問題と遅いディスクレイテンシのためにスワップは避けられていました。しかし、cgroup v2と高速なNVMe SSDはこれらの懸念を解決し、スワップを実用的なソリューションにしています。カーネルビルドのような従来のワークロードは、スワップが有効な場合にメモリ制限の低下を許容できます。ヘッドレスブラウザのような高密度エージェントワークロードは、スワップによってポッド密度の大幅な増加が見られます。サンドボックス化されたPythonランタイムもスワップの恩恵を受け、3倍の同時セッションを可能にします。ノードスワップを有効にするには、kubeletを構成し、クラウドプロバイダーのローカルディスクを使用します。Burstable QoSを持つワークロードは、動的なメモリバランスのためにスワップを活用できます。最終的に、高速スワップはアイドルメモリ状態をオフロードし、エージェント型ワークロードのポッド密度とノード利用率を向上させます。