kubernetesを使用すると、特定のワークロードにノードの好みを設定できることがわかりました。さまざまなコンテナテクノロジ(ドッカー、ロケットなど)にプロセスをコアに固定する機能があるかどうか疑問に思います。それとも、マルチテナント環境でこれは可能ですか?おそらくこれはベアメタル設定を意味するのでしょうか?
答え1
システムが対称的なマルチプロセッシング(SMP)と複数の物理CPU、CPUコア、および論理CPUのいくつかの組み合わせをサポートしている場合は、Dockerコンテナを特定のCPUリソースに割り当てることができます。
CPUおよびDockerコンテナに関するコマンド例
ここに示す例では、docker runコマンドを使用してコンテナを作成するときにmycontainer Dockerコンテナを特定のCPUリソースに割り当てる方法について説明します。コマンドを実行するときは、環境に合わせてDockerコンテナ名とCPUコンポーネント番号を変更する必要があります。
このコマンドは、mycontainer Dockerコンテナを最初のCPU(CPU0)に割り当てます。
# docker run --cpuset 0 /bin/bash mycontainer
複数のCPUを指定できます。このコマンドは mycontainer Docker コンテナを CPU 0 と 1 に割り当てます。
# docker run --cpuset 0,1 /bin/bash mycontainer
CPUの範囲を指定できます。このコマンドは、mycontainer Docker コンテナを CPU 0、1、2 に割り当てます。
# docker run --cpuset 0-2 /bin/bash mycontainer