第16章 ワークロードの分割


ワークロードパーティショニングは、コンピュートノード CPU リソースを個別の CPU セットに分割します。主な目的は、指定されたコア上にプラットフォーム Pod を維持し、顧客のワークロードが実行されている CPU が中断されないようにすることです。

ワークロードパーティショニングを使用して、OpenShift Container Platform サービス、クラスター管理ワークロード、およびインフラストラクチャー Pod が分離され、予約された CPU セットで実行されます。これにより、クラスターデプロイメント内の残りの CPU はそのまま残り、非プラットフォームワークロード専用に使用できるようになります。クラスター管理に必要な予約済み CPU の最小数は、4 つの CPU ハイパースレッド (HT) です。

ワークロードのパーティショニングを有効にし、CPU リソースを効果的に管理するという観点から、正しく設定されていないノードは、ノードアドミッション Webhook を介してクラスターに参加することはできません。ワークロードパーティショニング機能を有効にすると、コントロールプレーンとワーカーのマシン設定プールに、ノードが使用する設定が提供されます。これらのプールに新しいノードを追加すると、クラスターに参加する前にノードが正しく設定されていることが確認されます。

現在、プール内のすべてのノードにわたって正しい CPU アフィニティーが設定されるようにするには、ノードはマシン設定プールごとに均一な設定を持つ必要があります。承認後、クラスター内のノードは、management.workload.openshift.io/cores と呼ばれる新しいリソースタイプをサポートしていると認識し、CPU 容量を正確に報告します。ワークロードパーティショニングは、クラスターのインストール中に install-config.yaml ファイルに cpuPartitioningMode フィールドを追加することによってのみ有効にできます。

ワークロードの分割が有効になっている場合、スケジューラーは management.workload.openshift.io/cores リソースにより、デフォルトの cpuset だけでなく、ホストの cpushares 容量に基づいて Pod を適切に割り当てることができます。これにより、ワークロードパーティショニングシナリオでのリソースの割り当てがより正確になります。

ワークロードのパーティショニングにより、Pod の設定で指定された CPU 要求と制限が尊重されるようになります。OpenShift Container Platform 4.16 以降では、CPU パーティショニングを通じてプラットフォーム Pod に正確な CPU 使用率制限が設定されます。ワークロードパーティショニングでは、management.workload.openshift.io/cores のカスタムリソースタイプが使用されるため、Kubernetes による拡張リソースの要件により、リクエストと制限の値は同じになります。ただし、ワークロードパーティショニングによって変更されたアノテーションは、必要な制限を正しく反映します。

注記

拡張リソースはオーバーコミットできないため、コンテナー仕様にリクエストと制限の両方が存在する場合は、リクエストと制限が等しくなければなりません。

16.1. ワークロードパーティショニングの有効化

ワークロードパーティショニングでは、クラスター管理 Pod にアノテーションが付けられ、指定された CPU アフィニティーに正しくパーティション分割されます。これらの Pod は、Performance Profile の予約値によって指定された最小サイズの CPU 設定内で正常に動作します。プラットフォーム用に確保する CPU コアの数を計算する際には、ワークロードパーティショニングを利用する追加の Day 2 Operator を考慮する必要があります。

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

注記

ワークロードパーティショニングを有効にできるのは、クラスターのインストール時のみです。インストール後にワークロードパーティショニングを無効にすることはできません。ただし、reserved CPU と isolated CPU の CPU 設定はインストール後に変更できます。

クラスター全体でワークロードパーティショニングを有効にするには、次の手順を使用します。

手順

  • install-config.yaml ファイルに、追加フィールド cpuPartitioningMode を追加し、それを AllNodes に設定します。

    apiVersion: v1
    baseDomain: devcluster.openshift.com
    cpuPartitioningMode: AllNodes 1
    compute:
      - architecture: amd64
        hyperthreading: Enabled
        name: worker
        platform: {}
        replicas: 3
    controlPlane:
      architecture: amd64
      hyperthreading: Enabled
      name: master
      platform: {}
      replicas: 3
    1
    インストール時に CPU のパーティショニング用クラスターをセットアップします。デフォルト値は None です。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.