第3章 PerformanceProfile [performance.openshift.io/v2]


説明
PerformanceProfile は performanceprofiles のスキーマです。
object

3.1. 仕様

プロパティー説明

apiVersion

string

APIVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources を参照してください。

kind

string

kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーはクライアントが要求を送信するエンドポイントからこれを推測できる場合があります。これを更新することはできません。CamelCase を使用します。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。

metadata

ObjectMeta

標準オブジェクトのメタデータ。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。

spec

object

PerformanceProfileSpec は、PerformanceProfile の望ましい状態を定義します。

status

object

PerformanceProfileStatus は、PerformanceProfile の観測された状態を定義します。

3.1.1. .spec

説明
PerformanceProfileSpec は、PerformanceProfile の望ましい状態を定義します。
object
必須
  • cpu
  • nodeSelector
プロパティー説明

additionalKernelArgs

array (string)

Addional カーネル引数。

cpu

object

CPU は、CPU 関連のパラメーターのセットを定義します。

globallyDisableIrqLoadBalancing

boolean

GloballyDisableIrqLoadBalancing は、分離された CPU セットの IRQ 負荷分散を無効にするかどうかを切り替えます。オプションを "true" に設定すると、分離された CPU セットの IRQ 負荷分散が無効になります。オプションを "false" に設定すると、すべての CPU 間で IRQ を分散できます。ただし、irq-load-balancing.crio.io/cpu-quota.crio.io アノテーションを使用すると、Pod の CPU ごとに IRQ の負荷分散を無効にできます。デフォルトは "false" です。

hugepages

object

HugePages は、huge page に関連するパラメーターのセットを定義します。huge page には複数のサイズ値を同時に設定することが可能です。たとえば、hugepages は 1G と 2M に設定できます。どちらの値もパフォーマンスプロファイルコントローラーによってノードに設定されます。hugepages のデフォルトサイズを 1G に設定すると、ノードから 2M に関連するフォルダーがすべて削除され、ノードに 2M の hugepages を設定できなくなることに注意することが重要です。

machineConfigLabel

object (string)

MachineConfigLabel は、Operator が作成する MachineConfig に追加するラベルを定義します。このパフォーマンスプロファイルを対象とする MachineConfigPool の MachineConfigSelector で使用する必要があります。デフォルトは、"machineconfiguration.openshift.io/role=<NodeSelector ラベルキーと同じロール>" です。

machineConfigPoolSelector

object (string)

MachineConfigPoolSelector は、Operator によって作成された KubeletConfigs などのリソースの MachineConfigPoolSelector で使用する MachineConfigPool ラベルを定義します。デフォルトは、"machineconfiguration.openshift.io/role=<NodeSelector ラベルキーと同じロール>" です。

net

object

Net は、ネットワーク関連の機能のセットを定義します。

nodeSelector

object (string)

NodeSelector は、Operator によって作成された Tuned などのリソースの NodeSelectors で使用するノードラベルを定義します。ほとんどの場合、このパフォーマンスプロファイルを対象とする MachineConfigPool の NodeSelector 内のノードラベルと一致しますが、必ずしも一致する必要はありません。machineConfigLabels または machineConfigPoolSelector が設定されていない場合、前述のフィールドのデフォルト値を計算できるように、<domain>/<role>: "" という特定の NodeSelector 形式が必要です。

numa

object

NUMA は、トポロジーを意識したアフィニティーに関連するオプションを定義します。

realTimeKernel

object

RealTimeKernel は、リアルタイムカーネル関連のパラメーターのセットを定義します。設定されていない場合、RT カーネルはインストールされません。

workloadHints

object

WorkloadHints は、さまざまな種類のワークロードのヒントを定義します。これにより、ノードに適用する必要があるチューニング済み引数とカーネル引数の正確なセットを定義できます。

3.1.2. .spec.cpu

説明
CPU は、CPU 関連のパラメーターのセットを定義します。
object
必須
  • isolated
  • reserved
プロパティー説明

balanceIsolated

boolean

BalanceIsolated は、分離された CPU セットを負荷分散ワークロードの対象とするどうかを切り替えます。このオプションを "false" に設定すると、分離された CPU セットは静的になります。つまり、複数の CPU 間で機能するために、ワークロードが各スレッドを特定の CPU に明示的に割り当てる必要があります。これを "true" に設定すると、CPU 間でワークロードを分散できます。これを "false" に設定すると、保証されたワークロードのパフォーマンスが最も予測可能なものになりますが、アプリケーションが CPU 負荷分散の複雑さを肩代わりすることになります。デフォルトは "true" です。

isolated

string

Isolated は、アプリケーションスレッドに可能な限り最大の実行時間を与えるために使用する CPU のセットを定義します。つまり、CPU からできるだけ多くの余分なタスクを削除することになります。CPU マネージャーが、ワークロードを実行するために、予約済み CPU を除く任意の CPU を選択できることに注意することが重要です。ワークロードを分離された CPU 上で確実に実行するには、次の条件を満たす必要があります。1. 予約済み CPU と分離された CPU の集合に、すべてのオンライン CPU が含まれている必要があります。2. 分離された CPU のフィールドが予約済み CPU のフィールドを補完するものである必要があります。

offlined

string

Offline は、オフラインに設定して使用しない CPU のセットを定義します。

reserved

string

Reserved は、kubelet によって開始されたコンテナーワークロードに使用しない CPU のセットを定義します。

3.1.3. .spec.hugepages

説明
HugePages は、huge page に関連するパラメーターのセットを定義します。huge page には複数のサイズ値を同時に設定することが可能です。たとえば、hugepages は 1G と 2M に設定できます。どちらの値もパフォーマンスプロファイルコントローラーによってノードに設定されます。hugepages のデフォルトサイズを 1G に設定すると、ノードから 2M に関連するフォルダーがすべて削除され、ノードに 2M の hugepages を設定できなくなることに注意することが重要です。
object
プロパティー説明

defaultHugepagesSize

string

DefaultHugePagesSize は、カーネルブートパラメーター配下の huge page のデフォルトサイズを定義します。

pages

array

Pages は、起動時に割り当てる huge page を定義します。

pages[]

object

HugePage は、割り当てられる特定サイズの huge page の数を定義します。

3.1.4. .spec.hugepages.pages

説明
Pages は、起動時に割り当てる huge page を定義します。
array

3.1.5. .spec.hugepages.pages[]

説明
HugePage は、割り当てられる特定サイズの huge page の数を定義します。
object
プロパティー説明

count

integer

Count は、huge page の数を定義し、'hugepages' カーネルブートパラメーターにマップします。

node

integer

Node は、huge page を割り当てる NUMA ノードを定義します。指定されていない場合、ページは NUMA ノード間で均等に割り当てられます。

size

string

Size は、huge page のサイズを定義し、'hugepagesz' カーネルブートパラメーターにマップします。

3.1.6. .spec.net

説明
Net は、ネットワーク関連の機能のセットを定義します。
object
プロパティー説明

devices

array

Devices には、CPU.Reserved と等しい netqueue の数を使用して設定されるネットワークデバイス表現のリストを含めます。デバイスが指定されていない場合、デフォルトはすべてのデバイスです。

devices[]

object

Device は、デバイス名、ベンダー ID、モデル ID、PCI パス、MAC アドレスなど、いくつかのオプションでネットワークデバイスを表す方法を定義します。

userLevelNetworking

boolean

UserLevelNetworking を有効にすると、すべてのネットワークデバイスまたは指定されたネットワークデバイスのキューサイズが予約済み CPU の量に設定されます。デフォルトは "false" です。

3.1.7. .spec.net.devices

説明
Devices には、CPU.Reserved と等しい netqueue の数を使用して設定されるネットワークデバイス表現のリストを含めます。デバイスが指定されていない場合、デフォルトはすべてのデバイスです。
array

3.1.8. .spec.net.devices[]

説明
Device は、デバイス名、ベンダー ID、モデル ID、PCI パス、MAC アドレスなど、いくつかのオプションでネットワークデバイスを表す方法を定義します。
object
プロパティー説明

deviceID

string

16 ビットの 16 進数として表されるネットワークデバイス ID (モデル)。

interfaceName

string

照合するネットワークデバイス名。正または負のシェルスタイルのワイルドカードの構文を使用します。

vendorID

string

16 ビットの 16 進数として表されるネットワークデバイスベンダー ID。

3.1.9. .spec.numa

説明
NUMA は、トポロジーを意識したアフィニティーに関連するオプションを定義します。
object
プロパティー説明

topologyPolicy

string

TopologyManager が有効な場合に適用されるポリシーの名前。Operator のデフォルトは "best-effort" です。

3.1.10. .spec.realTimeKernel

説明
RealTimeKernel は、リアルタイムカーネル関連のパラメーターのセットを定義します。設定されていない場合、RT カーネルはインストールされません。
object
プロパティー説明

enabled

boolean

Enabled は、リアルタイムカーネルパッケージをインストールするかどうかを定義します。デフォルトは "false" です。

3.1.11. .spec.workloadHints

説明
WorkloadHints は、さまざまな種類のワークロードのヒントを定義します。これにより、ノードに適用する必要があるチューニング済み引数とカーネル引数の正確なセットを定義できます。
object
プロパティー説明

highPowerConsumption

boolean

HighPowerConsumption は、ノードを高電力消費モードに設定するかどうかを定義します。このフラグは電力消費に影響しますが、CPU のレイテンシーが改善されます。

perPodPowerManagement

boolean

PerPodPowerManagement は、ノードに Pod ごとの電源管理を設定する必要があるかどうかを定義します。PerPodPowerManagement ヒントと HighPowerConsumption ヒントを同時に有効にすることはできません。

realTime

boolean

RealTime は、ノードをリアルタイムワークロード用に設定する必要があるかどうかを定義します。

3.1.12. .status

説明
PerformanceProfileStatus は、PerformanceProfile の観測された状態を定義します。
object
プロパティー説明

conditions

array

Conditions は、現在の状態として観察される最新の状態を表します。

conditions[]

object

Condition は、Operator の調整機能の状態を表します。

runtimeClass

string

RuntimeClass には、Operator によって作成された RuntimeClass リソースの名前が含まれます。

tuned

string

Tuned は、この Operator によって生成されたチューニング値を含む Tuned カスタムリソースオブジェクトを指します。

3.1.13. .status.conditions

説明
Conditions は、現在の状態として観察される最新の状態を表します。
array

3.1.14. .status.conditions[]

説明
Condition は、Operator の調整機能の状態を表します。
object
必須
  • status
  • type
プロパティー説明

lastHeartbeatTime

string

 

lastTransitionTime

string

 

message

string

 

reason

string

 

status

string

 

type

string

ConditionType は、Operator の調整機能の状態です。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.