8.2. ワークロードのパーティション分割


ワークロードのパーティション分割は、ノードの CPU リソースを個別の CPU セットに分割します。主な目的は、ユーザーのワークロード用に残りのデバイス CPU リソースを予約するすべてのコントロールプレーンコンポーネントの CPU 使用率を制限することです。

ワークロードのパーティション分割は、予約済みの CPU セットを MicroShift サービス、クラスター管理ワークロード、およびインフラストラクチャー Pod に割り当て、クラスターデプロイメント内の残りの CPU が変更されずに、プラットフォーム以外のワークロード専用になるようにします。

8.2.1. ワークロードのパーティション分割の有効化

MicroShift でワークロードのパーティション分割を有効化するには、次の設定変更を行います。

  • MicroShift config.yaml ファイルを更新して、kubelet 設定ファイルを含めます。
  • CRI-O systemd および設定ファイルを作成します。
  • MicroShift および CRI-O サービスの systemd 設定ファイルをそれぞれ作成および更新します。

手順

  1. MicroShift config.yaml ファイルを更新して、kubelet 設定ファイルを含め、ワークロードの CPU マネージャーを有効化して設定します。

    • パス /etc/kubernetes/openshift-workload-pinning に kubelet 設定ファイルを作成します。kubelet 設定は、容量および割り当て可能な CPU に基づいてノードリソースを変更するように kubelet に指示します。

      kubelet 設定の例

      # ...
      {
        "management": {
          "cpuset": "0,6,7" 1
        }
      }
      # ...

      1
      cpuset は、8 つの VCPU (4 コア) を搭載したマシンに適用され、ドキュメント全体で有効です。
    • パス /etc/microshift/config.yaml 内の MicroShift config.yaml ファイルを更新します。MicroShift config.yaml ファイルに kubelet 設定を埋め込んで、ワークロードの CPU マネージャーを有効化して設定します。

      MicroShift の config.yaml の例

      # ...
      kubelet:
        reservedSystemCPUs: 0,6,7 1
        cpuManagerPolicy: static
        cpuManagerPolicyOptions:
          full-pcpus-only: "true" 2
        cpuManagerReconcilePeriod: 5s
      # ...

      1
      システムデーモンと割り込み/タイマー用の排他的な cpuset。
      2
      kubelet 設定では、CPUManagerPolicyOptions オプションを full-pcpus-only に設定し、コア全体をコンテナーのワークロードに割り当てできるようにします。
  2. CRI-O systemd および設定ファイルを作成します。

    • パス /etc/crio/crio.conf.d/20-microshift-workload-partition.conf に CRI-O 設定ファイルを作成します。このファイルは、11-microshift-ovn.conf ファイルにすでに存在するデフォルト設定をオーバーライドします。

      CRI-O 設定の例

      # ...
      [crio.runtime]
      infra_ctr_cpuset = "0,6,7"
      
      [crio.runtime.workloads.management]
      activation_annotation = "target.workload.openshift.io/management"
      annotation_prefix = "resources.workload.openshift.io"
      resources = { "cpushares" = 0, "cpuset" = "0,6,7" }
      # ...

    • パス /etc/systemd/system/crio.service.d/microshift-cpuaffinity.conf に CRI-O の systemd ファイルを作成します。

      CRI-O systemd 設定の例

      # ...
      [Service]
      CPUAffinity=0,6,7
      # ...

  3. MicroShift および CRI-O サービスの CPUAffinity 値を使用して、systemd 設定ファイルを作成および更新します。

    • パス /etc/systemd/system/microshift.service.d/microshift-cpuaffinity.conf に MicroShift サービスの systemd ファイルを作成します。MicroShift は、systemd CPUAffinity 値を使用して固定されます。

      MicroShift サービスの systemd 設定の例

      # ...
      [Service]
      CPUAffinity=0,6,7
      # ...

    • パス /etc/systemd/system/ovs-vswitchd.service.d/microshift-cpuaffinity.conf の MicroShift ovs-vswitchd systemd ファイルの CPUAffinity 値を更新します。

      MicroShift ovs-vswitchd systemd 設定の例

      # ...
      [Service]
      CPUAffinity=0,6,7
      # ...

    • パス /etc/systemd/system/ovsdb-server.service.d/microshift-cpuaffinity.conf の MicroShift ovsdb-server systemd ファイルの CPUAffinity 値を更新します。

      MicroShift ovsdb-server systemd 設定の例

      # ...
      [Service]
      CPUAffinity=0,6,7
      # ...

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.