第2章 Machine API を使用したコンピュートマシンの管理
2.1. AWS でコンピュートマシンセットを作成する リンクのコピーリンクがクリップボードにコピーされました!
Amazon Web Services (AWS) で OpenShift Container Platform クラスターの特定の目的を果たすように異なるコンピュートマシンセットを作成することができます。たとえば、インフラストラクチャーマシンセットおよび関連マシンを作成して、サポートするワークロードを新しいマシンに移動できます。
高度なマシン管理およびスケーリング機能は、Machine API が動作しているクラスターでのみ使用できます。user-provisioned infrastructure を持つクラスターでは、Machine API を使用するために追加の検証と設定が必要です。
インフラストラクチャープラットフォームタイプが none
のクラスターでは、Machine API を使用できません。この制限は、クラスターに接続されている計算マシンが、この機能をサポートするプラットフォームにインストールされている場合でも適用されます。このパラメーターは、インストール後に変更することはできません。
クラスターのプラットフォームタイプを表示するには、以下のコマンドを実行します。
oc get infrastructure cluster -o jsonpath='{.status.platform}'
$ oc get infrastructure cluster -o jsonpath='{.status.platform}'
2.1.1. AWS 上のコンピュートマシンセットカスタムリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
このサンプル YAML は、Amazon Web Services (AWS) Local Zone の us-east-1a
で実行され、node-role.kubernetes.io/<role>: ""
というラベルが付けられたノードを作成するコンピュートマシンセットを定義します。
このサンプルでは、<infrastructure_id>
はクラスターのプロビジョニング時に設定したクラスター ID に基づくインフラストラクチャー ID であり、<role>
は追加するノードラベルです。
- 1
- クラスターのプロビジョニング時に設定したクラスター ID を基にするインフラストラクチャー ID を指定します。OpenShift CLI がインストールされている場合は、以下のコマンドを実行してインフラストラクチャー ID を取得できます。
oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 2
- インフラストラクチャー ID、ロールノードラベル、およびゾーンを指定します。
- 3
- 追加するロールノードラベルを指定します。
- 4
- OpenShift Container Platform ノードの AWS ゾーンに有効な Red Hat Enterprise Linux CoreOS (RHCOS) Amazon Machine Image (AMI) を指定します。AWS Marketplace イメージを使用する場合は、AWS Marketplace から OpenShift Container Platform サブスクリプションを完了して、リージョンの AMI ID を取得する必要があります。
oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.ami.id}{"\n"}' \ get machineset/<infrastructure_id>-<role>-<zone>
$ oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.ami.id}{"\n"}' \ get machineset/<infrastructure_id>-<role>-<zone>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 5
- ゾーン名を指定します (例:
us-east-1a
)。 - 6
- リージョン (例:
us-east-1
) を指定します。 - 7
- インフラストラクチャー ID とゾーンを指定します。
- 8
- オプション: クラスターのカスタムタグデータを指定します。たとえば、
name:value
のペアであるEmail:admin-email@example.com
を指定して、管理者の連絡先電子メールアドレスを追加できます。注記カスタムタグは、インストール中に
install-config.yml
ファイルで指定することもできます。install-config.yml
ファイルとマシンセットに同じ名前
のデータを持つタグが含まれている場合、マシンセットのタグの値がinstall-config.yml
ファイルのタグの値よりも優先されます。
2.1.2. コンピュートマシンセットの作成 リンクのコピーリンクがクリップボードにコピーされました!
インストールプログラムによって作成されるコンピュートセットセットに加えて、独自のマシンセットを作成して、選択した特定のワークロードのマシンコンピューティングリソースを動的に管理できます。
前提条件
- OpenShift Container Platform クラスターをデプロイしている。
-
OpenShift CLI (
oc
) がインストールされている。 -
cluster-admin
パーミッションを持つユーザーとして、oc
にログインする。
手順
コンピュートマシンセットのカスタムリソース (CR) サンプルを含む新しい YAML ファイルを作成し、
<file_name>.yaml
という名前を付けます。<clusterID>
および<role>
パラメーターの値を設定していることを確認します。オプション: 特定のフィールドに設定する値がわからない場合は、クラスターから既存のコンピュートマシンセットを確認できます。
クラスター内のコンピュートマシンセットをリスト表示するには、次のコマンドを実行します。
oc get machinesets -n openshift-machine-api
$ oc get machinesets -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 特定のコンピュートマシンセットカスタムリソース (CR) 値を表示するには、以下のコマンドを実行します。
oc get machineset <machineset_name> \ -n openshift-machine-api -o yaml
$ oc get machineset <machineset_name> \ -n openshift-machine-api -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のコマンドを実行して
MachineSet
CR を作成します。oc create -f <file_name>.yaml
$ oc create -f <file_name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 他のアベイラビリティーゾーンでコンピュートマシンセットが必要な場合、このプロセスを繰り返して追加のコンピュートマシンセットを作成します。
検証
次のコマンドを実行して、コンピュートマシンセットのリストを表示します。
oc get machineset -n openshift-machine-api
$ oc get machineset -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいコンピュートマシンセットが利用可能になると、
DESIRED
とCURRENT
の値が一致します。コンピュートマシンセットが使用できない場合は、数分待ってからコマンドを再実行してください。
2.1.3. Cluster Autoscaler 用の GPU マシンセットのラベル付け リンクのコピーリンクがクリップボードにコピーされました!
マシンセットラベルを使用すると、Cluster Autoscaler が GPU 対応ノードのデプロイに使用できるマシンを指定できます。
前提条件
- クラスターが Cluster Autoscaler を使用している。
手順
Cluster Autoscaler が GPU 対応ノードのデプロイに使用するマシンを作成するのに必要なマシンセットに、
cluster-api/accelerator
ラベルを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 英数字、
-
、_
、.
で構成され、先頭と末尾が英数字であるラベルを指定します。たとえば、Nvidia T4 GPU を表すにはnvidia-t4
を使用し、A10G GPU を表すにはnvidia-a10g
を使用します。注記ClusterAutoscaler
CR のspec.resourceLimits.gpus.type
パラメーターにこのラベルの値を指定する必要があります。詳細は、「Cluster Autoscaler リソース定義」を参照してください。
2.1.4. マシンセットを使用した Elastic Fabric Adapter インスタンスのプレースメントグループへのマシンの割り当て リンクのコピーリンクがクリップボードにコピーされました!
既存の AWS プレースメントグループ内の Elastic Fabric Adapter (EFA) インスタンスにマシンをデプロイするようにマシンセットを設定できます。
EFA インスタンスにはプレースメントグループは必要なく、EFA の設定以外の目的にもプレースメントグループを使用できます。この例では、両方を使用して、指定されたプレースメントグループ内のマシンのネットワークパフォーマンスを向上できる設定を示します。
前提条件
AWS コンソールでプレースメントグループを作成しました。
注記作成するプレースメントグループのタイプの ルールと制限 が、意図した使用例と互換性があることを確認してください。
手順
- テキストエディターで、既存のマシンセットの YAML ファイルを開くか、新しいマシンセットを作成します。
providerSpec
フィールドの下に次の行を編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
AWS コンソールで、マシンセットが作成したマシンを見つけて、マシンのプロパティーで次のことを確認します。
-
プレースメントグループフィールドには、マシンセットの
placementGroupName
パラメーターに指定した値が含まれます。 -
パーティション番号フィールドには、マシンセットの
placementGroupPartition
パラメーターに指定した値が設定されます。 - インターフェイスタイプフィールドは、EFA を使用することを示します。
-
プレースメントグループフィールドには、マシンセットの
2.1.5. Amazon EC2 インスタンスメタデータサービスのマシンセットオプション リンクのコピーリンクがクリップボードにコピーされました!
マシンセットを使用して、Amazon EC2 インスタンスメタデータサービス (IMDS) の特定のバージョンを使用するマシンを作成できます。マシンセットは、IMDSv1 と IMDSv2 の両方を使用できるマシン、または IMDSv2 の使用を必要とするマシンを作成できます。
OpenShift Container Platform バージョン 4.6 以前で作成された AWS クラスターで IMDSv2 を使用するには、ブートイメージを更新する必要があります。詳細は、「ブートイメージ更新」を参照してください。
好みの IMDS 設定で新しいコンピュートマシンを展開するには、適切な値を使用してマコンピュートシンセット YAML ファイルを作成します。マシンセットの拡張時に、既存のマシンセットを編集して、希望する IMDS 設定で新しいマシンを作成することもできます。
IMDSv2 を必要とするマシンを作成するようにマシンセットを設定する前に、AWS メタデータサービスと相互作用するすべてのワークロードが IMDSv2 をサポートしていることを確認してください。
2.1.5.1. マシンセットを使用した IMDS の設定 リンクのコピーリンクがクリップボードにコピーされました!
マシンのマシンセット YAML ファイルで metadataServiceOptions.authentication
の値を追加または編集することで、IMDSv2 の使用を要求するかどうかを指定できます。
前提条件
- IMDSv2 を使用するには、AWS クラスターが OpenShift Container Platform バージョン 4.7 以降で作成されている必要があります。
手順
providerSpec
フィールドの下に次の行を追加または編集します。providerSpec: value: metadataServiceOptions: authentication: Required
providerSpec: value: metadataServiceOptions: authentication: Required
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- IMDSv2 を要求するには、パラメーター値を
Required
に設定します。IMDSv1 と IMDSv2 の両方の使用を許可するには、パラメーター値をOptional
に設定します。値が指定されていない場合、IMDSv1 と IMDSv2 の両方が許可されます。
2.1.6. マシンを専有インスタンス (Dedicated Instance) としてデプロイするマシンセット リンクのコピーリンクがクリップボードにコピーされました!
マシンを専有インスタンスとしてデプロイする AWS で実行されるマシンセットを作成できます。専有インスタンスは、単一のお客様専用のハードウェア上の仮想プライベートクラウド (VPC) で実行されます。これらの Amazon EC2 インスタンスは、ホストのハードウェアレベルで物理的に分離されます。インスタンスが単一つの有料アカウントにリンクされている別の AWS アカウントに属する場合でも、専有インスタンスの分離が生じます。ただし、専有ではない他のインスタンスは、それらが同じ AWS アカウントに属する場合は、ハードウェアを専有インスタンスと共有できます。
パブリックテナンシーまたは専用テナンシーのいずれかを持つインスタンスが、Machine API によってサポートされます。パブリックテナンシーを持つインスタンスは、共有ハードウェア上で実行されます。パブリックテナンシーはデフォルトのテナンシーです。専用のテナンシーを持つインスタンスは、単一テナントのハードウェアで実行されます。
2.1.6.1. マシンセットの使用による専有インスタンスの作成 リンクのコピーリンクがクリップボードにコピーされました!
Machine API 統合を使用して、専有インスタンスによってサポートされるマシンを実行できます。マシンセット YAML ファイルの tenancy
フィールドを設定し、AWS で専有インスタンスを起動します。
手順
providerSpec
フィールドに専用テナンシーを指定します。providerSpec: placement: tenancy: dedicated
providerSpec: placement: tenancy: dedicated
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.7. マシンをスポットインスタンスとしてデプロイするマシンセット リンクのコピーリンクがクリップボードにコピーされました!
マシンを保証されていないスポットインスタンスとしてデプロイする AWS で実行されるコンピュートマシンセットを作成して、コストを節約できます。Spot インスタンスは未使用の AWS EC2 容量を使用し、オンデマンドインスタンスよりもコストが低くなります。Spot インスタンスは、バッチやステートレス、水平的に拡張可能なワークロードなどの割り込みを許容できるワークロードに使用することができます。
AWS EC2 はスポットインスタンスをいつでも終了できます。AWS は、中断の発生時にユーザーに警告を 2 分間表示します。OpenShift Container Platform は、AWS が終了に関する警告を発行する際に影響を受けるインスタンスからワークロードを削除し始めます。
以下の理由により、Spot インスタンスを使用すると中断が生じる可能性があります。
- インスタンス価格は最大価格を超えます。
- Spot インスタンスの需要は増大します。
- Spot インスタンスの供給は減少します。
AWS がインスタンスを終了すると、Spot インスタンスノードで実行される終了ハンドラーによりマシンリソースが削除されます。コンピュートマシンセットの replicas
の量を満たすために、コンピュートマシンセットはスポットインスタンスを要求するマシンを作成します。
2.1.7.1. コンピュートマシンセットの使用によるスポットインスタンスの作成 リンクのコピーリンクがクリップボードにコピーされました!
spotMarketOptions
をコンピュートマシンセットの YAML ファイルに追加して、AWS でスポットインスタンスを起動できます。
手順
providerSpec
フィールドの下に以下の行を追加します。providerSpec: value: spotMarketOptions: {}
providerSpec: value: spotMarketOptions: {}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプションで、Spot インスタンスのコストを制限するために、
spotMarketOptions.maxPrice
フィールドを設定できます。たとえば、maxPrice: '2.50'
を設定できます。maxPrice
が設定されている場合、この値は毎時の最大 Spot 価格として使用されます。これを設定しないと、デフォルトで最大価格としてオンデマンドインスタンス価格までチャージされます。注記デフォルトの On-Demand 価格を
maxPrice
値として使用し、Spot インスタンスの最大価格を設定しないことが強く推奨されます。
2.1.8. 既存の OpenShift Container Platform クラスターへの GPU ノードの追加 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトのコンピュートマシンセット設定をコピーおよび変更して、AWS EC2 クラウドプロバイダー用の GPU 対応マシンセットとマシンを作成できます。
サポートされているインスタンスタイプの詳細は、以下の NVIDIA ドキュメントを参照してください。
手順
次のコマンドを実行して、既存のノード、マシン、およびマシンセットを表示します。各ノードは、特定の AWS リージョンと OpenShift Container Platform ロールを持つマシン定義のインスタンスであることに注意してください。
oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
openshift-machine-api
namespace に存在するマシンとマシンセットを表示します。各コンピュートマシンセットは、AWS リージョン内の異なるアベイラビリティーゾーンに関連付けられています。インストーラーは、アベイラビリティゾーン全体でコンピュートマシンの負荷を自動的に分散します。oc get machinesets -n openshift-machine-api
$ oc get machinesets -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME DESIRED CURRENT READY AVAILABLE AGE preserve-dsoc12r4-ktjfc-worker-us-east-2a 1 1 1 1 3d11h preserve-dsoc12r4-ktjfc-worker-us-east-2b 2 2 2 2 3d11h
NAME DESIRED CURRENT READY AVAILABLE AGE preserve-dsoc12r4-ktjfc-worker-us-east-2a 1 1 1 1 3d11h preserve-dsoc12r4-ktjfc-worker-us-east-2b 2 2 2 2 3d11h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
openshift-machine-api
namespace に存在するマシンを表示します。現時点では、マシンセットごとに 1 つのコンピュートマシンしかありませんが、特定のリージョンとゾーンにノードを追加するようにコンピュートマシンセットをスケーリングすることができます。oc get machines -n openshift-machine-api | grep worker
$ oc get machines -n openshift-machine-api | grep worker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
preserve-dsoc12r4-ktjfc-worker-us-east-2a-dts8r Running m5.xlarge us-east-2 us-east-2a 3d11h preserve-dsoc12r4-ktjfc-worker-us-east-2b-dkv7w Running m5.xlarge us-east-2 us-east-2b 3d11h preserve-dsoc12r4-ktjfc-worker-us-east-2b-k58cw Running m5.xlarge us-east-2 us-east-2b 3d11h
preserve-dsoc12r4-ktjfc-worker-us-east-2a-dts8r Running m5.xlarge us-east-2 us-east-2a 3d11h preserve-dsoc12r4-ktjfc-worker-us-east-2b-dkv7w Running m5.xlarge us-east-2 us-east-2b 3d11h preserve-dsoc12r4-ktjfc-worker-us-east-2b-k58cw Running m5.xlarge us-east-2 us-east-2b 3d11h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、既存のコンピュート
MachineSet
定義のいずれかのコピーを作成し、結果を JSON ファイルに出力します。これは、GPU 対応のコンピュートマシンセット定義の基礎となります。oc get machineset preserve-dsoc12r4-ktjfc-worker-us-east-2a -n openshift-machine-api -o json > <output_file.json>
$ oc get machineset preserve-dsoc12r4-ktjfc-worker-us-east-2a -n openshift-machine-api -o json > <output_file.json>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow JSON ファイルを編集し、新しい
MachineSet
定義に次の変更を加えます。-
worker
をgpu
に置き換えます。これが新しいマシンセットの名前になります。 新しい
MachineSet
定義のインスタンスタイプを、NVIDIA Tesla T4 GPU を含むg4dn
に変更します。AWSg4dn
インスタンスタイプの詳細は、Accelerated Computing を参照してください。jq .spec.template.spec.providerSpec.value.instanceType preserve-dsoc12r4-ktjfc-worker-gpu-us-east-2a.json
$ jq .spec.template.spec.providerSpec.value.instanceType preserve-dsoc12r4-ktjfc-worker-gpu-us-east-2a.json "g4dn.xlarge"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <output_file.json>
ファイルはpreserve-dsoc12r4-ktjfc-worker-gpu-us-east-2a.json
として保存されます。
-
preserve-dsoc12r4-ktjfc-worker-gpu-us-east-2a.json
の次のフィールドを更新します。-
.metadata.name
をgpu
を含む名前に変更します。 -
.spec.selector.matchLabels["machine.openshift.io/cluster-api-machineset"]
を新しい.metadata.name
に一致させます。 -
.spec.template.metadata.labels["machine.openshift.io/cluster-api-machineset"]
を新しい.metadata.name
に一致させます。 -
.spec.template.spec.providerSpec.value.instanceType
tog4dn.xlarge
.
-
変更を確認するには、次のコマンドを実行して、元のコンピュート定義と新しい GPU 対応ノード定義の
diff
を実行します。oc -n openshift-machine-api get preserve-dsoc12r4-ktjfc-worker-us-east-2a -o json | diff preserve-dsoc12r4-ktjfc-worker-gpu-us-east-2a.json -
$ oc -n openshift-machine-api get preserve-dsoc12r4-ktjfc-worker-us-east-2a -o json | diff preserve-dsoc12r4-ktjfc-worker-gpu-us-east-2a.json -
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、定義から GPU 対応のコンピュートマシンセットを作成します。
oc create -f preserve-dsoc12r4-ktjfc-worker-gpu-us-east-2a.json
$ oc create -f preserve-dsoc12r4-ktjfc-worker-gpu-us-east-2a.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
machineset.machine.openshift.io/preserve-dsoc12r4-ktjfc-worker-gpu-us-east-2a created
machineset.machine.openshift.io/preserve-dsoc12r4-ktjfc-worker-gpu-us-east-2a created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、作成したマシンセットを表示します。
oc -n openshift-machine-api get machinesets | grep gpu
$ oc -n openshift-machine-api get machinesets | grep gpu
Copy to Clipboard Copied! Toggle word wrap Toggle overflow MachineSet レプリカ数は
1
に設定されているため、新しいMachine
オブジェクトが自動的に作成されます。出力例
preserve-dsoc12r4-ktjfc-worker-gpu-us-east-2a 1 1 1 1 4m21s
preserve-dsoc12r4-ktjfc-worker-gpu-us-east-2a 1 1 1 1 4m21s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、マシンセットが作成した
Machine
オブジェクトを表示します。oc -n openshift-machine-api get machines | grep gpu
$ oc -n openshift-machine-api get machines | grep gpu
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
preserve-dsoc12r4-ktjfc-worker-gpu-us-east-2a running g4dn.xlarge us-east-2 us-east-2a 4m36s
preserve-dsoc12r4-ktjfc-worker-gpu-us-east-2a running g4dn.xlarge us-east-2 us-east-2a 4m36s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ノードの namespace を指定する必要がないことに注意してください。ノード定義はクラスタースコープ指定されています。
2.1.9. Node Feature Discovery Operator のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
GPU 対応ノードを作成したら、スケジュールできるように GPU 対応ノードを検出する必要があります。これを行うには、Node Feature Discovery (NFD) Operator をインストールします。NFD Operator は、ノード内のハードウェアデバイス機能を識別します。OpenShift Container Platform で使用できるようにインフラストラクチャーノードのハードウェアリソースを識別してカタログ化するという一般的な問題を解決します。
手順
- OpenShift Container Platform コンソールの OperatorHub から Node Feature Discovery Operator をインストールします。
-
NFD Operator を OperatorHub にインストールした後、インストールされた Operator リストから Node Feature Discovery を選択し、Create instance を選択します。これにより、
openshift-nfd
namespace に、nfd-master
Pod とnfd-worker
Pod (各コンピュートノードに 1 つのnfd-worker
Pod) がインストールされます。 次のコマンドを実行して、Operator がインストールされ、実行されていることを確認します。
oc get pods -n openshift-nfd
$ oc get pods -n openshift-nfd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE nfd-controller-manager-8646fcbb65-x5qgk 2/2 Running 7 (8h ago) 1d
NAME READY STATUS RESTARTS AGE nfd-controller-manager-8646fcbb65-x5qgk 2/2 Running 7 (8h ago) 1d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - コンソールでインストール済みの Operator へ移動し、Create Node Feature Discovery を選択します。
-
Create を選択して、NFD カスタムリソースをビルドします。これにより、OpenShift Container Platform ノードのハードウェアリソースをポーリングしてカタログ化する NFD Pod が
openshift-nfd
namespace に作成されます。
検証
ビルドが成功したら、次のコマンドを実行して、各ノードで NFD Pod が実行されていることを確認します。
oc get pods -n openshift-nfd
$ oc get pods -n openshift-nfd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE nfd-controller-manager-8646fcbb65-x5qgk 2/2 Running 7 (8h ago) 12d nfd-master-769656c4cb-w9vrv 1/1 Running 0 12d nfd-worker-qjxb2 1/1 Running 3 (3d14h ago) 12d nfd-worker-xtz9b 1/1 Running 5 (3d14h ago) 12d
NAME READY STATUS RESTARTS AGE nfd-controller-manager-8646fcbb65-x5qgk 2/2 Running 7 (8h ago) 12d nfd-master-769656c4cb-w9vrv 1/1 Running 0 12d nfd-worker-qjxb2 1/1 Running 3 (3d14h ago) 12d nfd-worker-xtz9b 1/1 Running 5 (3d14h ago) 12d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NFD Operator は、ベンダー PCI ID を使用してノード内のハードウェアを識別します。NVIDIA は PCI ID
10de
を使用します。次のコマンドを実行して、NFD Operator によって検出された NVIDIA GPU を表示します。
oc describe node ip-10-0-132-138.us-east-2.compute.internal | egrep 'Roles|pci'
$ oc describe node ip-10-0-132-138.us-east-2.compute.internal | egrep 'Roles|pci'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow GPU 対応ノードのノード機能リストに
10de
が表示されます。これは、NFD Operator が GPU 対応の MachineSet からノードを正しく識別したことを意味します。