Kubernetes v1.36: ポッドレベルリソースマネ... ノート

Kubernetes v1.36: ポッドレベルリソースマネージャー(アルファ版)

Kubernetes v1.36 は、アルファ機能として Pod レベルのリソースマネージャーを導入し、パフォーマンスに敏感なワークロードのリソース管理を強化します。これは、kubelet の Topology Manager、CPU Manager、Memory Manager を、コンテナごとの仕様を超えた、ポッド中心のリソース割り当てモデルに拡張します。これにより、プライマリアプリケーションコンテナに対して、軽量なサイドカーを効率的にサポートしながら、専用の NUMA アラインされたリソースを提供するという課題に対処します。以前は、予測可能なパフォーマンスを実現するためには、すべてのコンテナに専用リソースを割り当てる必要がありましたが、サイドカーにとっては無駄でした。あるいは、そうしないと、ポッドの Guaranteed QoS が犠牲になっていました。Pod レベルのリソースマネージャーは、ハイブリッド割り当てを可能にし、高性能ワークロードがリソースを無駄にすることなく NUMA アラインメントを実現できるようにします。例えば、レイテンシに敏感なデータベースポッドでは、メインコンテナが専用の CPU とメモリを受け取り、サイドカーは他のノードリソースから分離された、別のポッド共有プールを共有できます。別のユースケースとしては、トレーニングコンテナが専用の NUMA アラインされたリソースを受け取り、サービスメッシュサイドカーが一般的なノード全体共有プールで実行される ML ワークロードが挙げられます。CPU の分離は、専用コンテナに対する CFS クォータの強制を無効にし、共有プールコンテナに対してはポッドレベルで強制することで管理されます。有効化するには、特定の kubelet feature gate、Topology Manager ポリシー、および静的な CPU および Memory Manager の設定が必要です。新しい kubelet メトリクスは、リソース割り当てとコンテナ割り当てのオブザーバビリティを提供します。この機能は現在アルファ段階であり、既知の制限事項や注意点があり、Kubernetes コミュニティチャネルを通じてユーザーからのフィードバックを奨励しています。