6.4. オプション: NUMA リソース更新のポーリング操作の設定
nodeGroup
内の NUMA Resources Operator によって制御されるデーモンは、リソースをポーリングして、利用可能な NUMA リソースに関する更新を取得します。NUMAResourcesOperator
カスタムリソース (CR) で spec.nodeGroups
仕様を設定することで、これらのデーモンのポーリング操作を微調整できます。これにより、ポーリング操作の高度な制御が可能になります。これらの仕様を設定して、スケジューリング動作を改善し、最適ではないスケジューリング決定のトラブルシューティングを行います。
設定オプションは次のとおりです。
-
infoRefreshMode
: kubelet をポーリングするためのトリガー条件を決定します。NUMA Resources Operator は、結果として取得した情報を API サーバーに報告します。 -
infoRefreshPeriod
: ポーリング更新の間隔を決定します。 podsFingerprinting
: ノード上で実行されている現在の Pod セットのポイントインタイム情報がポーリング更新で公開されるかどうかを決定します。注記podsFingerprinting
はデフォルトで有効になっています。podsFingerprinting
は、NUMAResourcesScheduler
CR のcacheResyncPeriod
仕様の要件です。cacheResyncPeriod
仕様は、ノード上の保留中のリソースを監視することで、より正確なリソースの可用性を報告するのに役立ちます。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。 -
cluster-admin
権限を持つユーザーとしてログインしている。 - NUMA Resources Operator をインストールしている。
手順
NUMAResourcesOperator
CR でspec.nodeGroups
仕様を設定します。apiVersion: nodetopology.openshift.io/v1 kind: NUMAResourcesOperator metadata: name: numaresourcesoperator spec: nodeGroups: - config: infoRefreshMode: Periodic 1 infoRefreshPeriod: 10s 2 podsFingerprinting: Enabled 3 name: worker
- 1
- 有効な値は
Periodic
、Events
、PeriodicAndEvents
です。Periodic
を使用して、infoRefreshPeriod
で定義した間隔で kubelet をポーリングします。Events
を使用して、Pod のライフサイクルイベントごとに kubelet をポーリングします。両方のメソッドを有効にするには、PeriodicAndEvents
を使用します。 - 2
Periodic
またはPeriodicAndEvents
リフレッシュモードのポーリング間隔を定義します。リフレッシュモードがEvents
の場合、このフィールドは無視されます。- 3
- 有効な値は、
Enabled
、Disabled
、およびEnabledExclusiveResources
です。NUMAResourcesScheduler
のcacheResyncPeriod
仕様では、Enabled
への設定が必須です。
検証
NUMA Resources Operator をデプロイした後、次のコマンドを実行して、ノードグループ設定が適用されたことを検証します。
$ oc get numaresop numaresourcesoperator -o json | jq '.status'
出力例
... "config": { "infoRefreshMode": "Periodic", "infoRefreshPeriod": "10s", "podsFingerprinting": "Enabled" }, "name": "worker" ...