6.7.2. ベアメタルノードの作成
REST API を使用してベアメタルアセットを作成するには、以下を実行します。
ハブクラスターのログイントークンを取得して、コマンドラインでクラスターにログインします。以下は例になります。
$ oc login --token=<login_token> --server=https://<hub_cluster_api_url>:6443
以下の curl コマンドを、クラスターに追加するベアメタルアセットの詳細を使用して変更し、コマンドを実行します。
$ curl --location --request POST '<hub_cluster_api_url>:6443/apis/inventory.open-cluster-management.io/v1alpha1/namespaces/<bare_metal_asset_namespace>/baremetalassets?fieldManager=kubectl-create' \ --header 'Authorization: Bearer <login_token>' \ --header 'Content-Type: application/json' \ --data-raw '{ "apiVersion": "inventory.open-cluster-management.io/v1alpha1", "kind": "BareMetalAsset", "metadata": { "name": "<baremetalasset_name>", "namespace": "<bare_metal_asset_namespace>" }, "spec": { "bmc": { "address": "ipmi://<ipmi_address>", "credentialsName": "<credentials-secret>" }, "bootMACAddress": "<boot_mac_address>", "clusterName": "<cluster_name>", "hardwareProfile": "hardwareProfile", "role": "worker" } }'
-
baremetalasset-name
は、ベアメタルアセットの名前に置き換えます。作成時に、マネージドクラスターのBareMetalHost
は、ハブクラスター上の対応するBareMetalAsset
と同じ名前を取得します。BareMetalHost
名は常に対応するBareMetalAsset
名と一致している必要があります。 -
baremetalasset-namespace
は、ベアメタルアセットが作成されるクラスター namespace に置き換えます。 -
out_of_band_ip
およびport
は、ベアメタルアセットのアドレスおよびポートに置き換えます。Redfish アドレス設定には、redfish://<out-of-band-ip>/redfish/v1/Systems/1
のアドレス形式を使用します。 -
ロール
は、worker
か、master
に置き換えるか、またはマシンのロールの種類に応じて空のままにします。ロール
設定を使用して、クラスター内の固有のマシンロールタイプに、ベアメタルアセットを一致させます。指定のマシンロールタイプのBareMetalAsset
リソースは、別のロールを満たすためには使用しないでください。ロール
の値は、キーがinventory.open-cluster-management.io/role
のラベル値として使用されます。これにより、クラスター管理アプリケーションまたはユーザーは、特定のロール向けに用意されたインベントリーについてクエリーできます。 cluster_name
は、クラスターの名前に置き換えます。この名前は、クラスター管理アプリケーションまたはユーザーが、特定のクラスターに関連付けられたインベントリーのクエリーに使用します。クラスターデプロイメントに追加せずにベアメタルアセットを作成するには、この値を空欄のままにします。注記: 以前の curl コマンドでは、API サーバーが HTTPS 経由で提供され、安全にアクセスされることを前提としています。開発またはテスト環境では、
--insecure
パラメーターを指定できます。
-
ヒント: --v=9
を oc
コマンドに追加して、結果となるアクションの出力を未加工で表示できます。これは、oc
コマンドの REST API ルートの認定に役立ちます。