多くのCPUを使用するアプリケーションがあります。私はKubernetesで作業負荷を小規模な作業の中に分散する方法として考えていました。その後、いくつかのCPU制限付きポッドを作成しました。 DockerにはCPU集約型プロセスを実行するすべてのコンテナ間でCPUの総量が分配されるという制約があります(https://docs.docker.com/engine/reference/run/#cpu-share-constraint)。そのため、各ポッドは、Dockerが単独でリソースを共有しているので、必要なCPUの総量を使用することはできません。Kubernetes/Dockerで分散CPUを大量に使用するプロセス
例:クラスタ全体で利用可能な80個のCPUコアとKubernetesプラットフォーム
のTest1:
環境
- コンテキスト:5つのCPUコア
- プロセスに限定1つのポッド:1 1つのポッドで実行される1つのプロセス
- 継続時間:1つのプロセスが終了0:02:05
Test2を:
- コンテキスト:5つのCPUコアに限ら12個のポッド各
- プロセス:すべてのポッド
- 期間に各実行プロセス12:それは午後12時03分55秒の平均を取りそれぞれを処理する
これは、CPUリソースを要求する複数のコンテナがある場合、CPU使用率が影響を受けてから処理時間が長くなることを意味します。
Dockerは私が必要としているように使用されることはないと思います。
このシナリオでは、Dockerコンテナの代わりにVMを使用する方が良いと思いますが、DockerやKubernetesの設定を変更する方法がありますか?
有用なコメントがあれば幸いです。