第15章 単一ノード OpenShift でのワークロードパーティション設定

単一ノードの OpenShift デプロイメントなどのリソースに制約のある環境では、ワークロードの分割を使用して、OpenShift Container Platform サービス、クラスター管理ワークロード、インフラストラクチャー Pod を分離し、予約済みの CPU セットで実行します。

単一ノードの OpenShift でのクラスター管理に必要な予約済み CPU の最小数は、4 つの CPU ハイパースレッド (HT) です。ワークロード分割では、クラスター管理ワークロードパーティションに含めるために、一連のクラスター管理 Pod と一連の一般的なアドオン Operator に注釈を付けます。これらの Pod は、最低限のサイズの CPU 設定内で正常に動作します。最小クラスター管理 Pod のセット外の追加の Operator またはワークロードでは、追加の CPU をワークロードパーティションに追加する必要があります。

ワークロード分割は、標準の Kubernetes スケジューリング機能を使用して、ユーザーワークロードをプラットフォームワークロードから分離します。

以下は、ワークロード分割に必要な設定の概要です。

  • /etc/crio/crio.conf.d/01-workload-partitioning を使用するワークロード分割は、OpenShift Container Platform インフラストラクチャー Pod を定義済みの cpuset 設定に固定します。
  • パフォーマンスプロファイルは、systemd や kubelet などのクラスターサービスを、spec.cpu.reserved フィールドで定義されている CPU に固定します。

    注記

    Node Tuning Operator を使用すると、パフォーマンスプロファイルを設定して、ノード上で完全なワークロード分割設定のためにシステムレベルのアプリを固定することもできます。

  • パフォーマンスプロファイルの spec.cpu.reserved フィールドとワークロード分割の cpuset フィールドで指定する CPU は一致する必要があります。

ワークロード分割は、定義された各 CPU プールまたは ワークロードタイプ に対して、拡張された <workload-type>.workload.openshift.io/cores リソースを導入します。Kubelet は、対応するリソース内のプールに割り当てられた Pod によって、リソースと CPU 要求をアドバタイズします。ワークロードパーティション設定が有効になっている場合、<workload-type> .workload.openshift.io/cores リソースにより、デフォルトの CPU プールだけでなく、ホストの CPU 容量にアクセスできます。

関連情報