第4章 IBM クラウドへの RHEL AI のインストール
IBM Cloud に Red Hat Enterprise Linux AI をインストールしてデプロイするには、まず RHEL AI イメージを IBM Cloud イメージに変換する必要があります。その後、IBM Cloud イメージを使用してインスタンスを起動し、IBM Cloud マシンに RHEL AI をデプロイできます。
4.1. RHEL AI イメージの IBM Cloud イメージへの変換 リンクのコピーリンクがクリップボードにコピーされました!
IBM Cloud で起動可能なイメージを作成するには、IBM Cloud アカウントを設定し、Cloud Object Storage (COS) バケットをセットアップして、RHEL AI イメージを使用して IBM Cloud イメージを作成する必要があります。
前提条件
- 特定のマシンに IBM CLI をインストールしている。IBM Cloud CLI のインストールの詳細は、スタンドアロン IBM Cloud CLI のインストール を参照してください。
手順
次のコマンドを使用して、IBM Cloud にログインします。
$ ibmcloud loginプロンプトが表示されたら、ログインするアカウントを選択します。
ログインの出力例
$ ibmcloud login API endpoint: https://cloud.ibm.com Region: us-east Get a one-time code from https://identity-1.eu-central.iam.cloud.ibm.com/identity/passcode to proceed. Open the URL in the default browser? [Y/n] > One-time code > Authenticating... OK Select an account: 1. <account-name> 2. <account-name-2> API endpoint: https://cloud.ibm.com Region: us-east User: <user-name> Account: <selected-account> Resource group: No resource group targeted, use 'ibmcloud target -g RESOURCE_GROUP'QCOW2 イメージを生成する前に、さまざまな IBM Cloud 設定を設定し、COS バケットを作成する必要があります。
次のコマンドを実行すると、必要な IBM Cloud プラグインをインストールできます。
$ ibmcloud plugin install cloud-object-storage infrastructure-service任意のリソースグループを設定します。次のコマンド例では、
Defaultという名前のリソースグループを設定します。$ ibmcloud target -g Default任意のリージョンを設定します。次のコマンド例では
us-eastリージョンを設定します。$ ibmcloud target -r us-eastサービスインスタンスのデプロイメントプランを選択する必要があります。IBM Cloud Web サイトでプロパティーと価格を確認してください。
次のコマンドを実行すると、利用可能なデプロイメントプランをリスト表示できます。
$ ibmcloud catalog service cloud-object-storage --output json | jq -r '.[].children[] | select(.children != null) | .children[].name'次のコマンド例では、
premium-global- デプロイメントプランを使用し、それを環境変数cos_deploy_planに格納します。$ cos_deploy_plan=premium-global-deploymentCloud Object Storage (COS) サービスインスタンスを作成し、
cos_si_nameという名前の環境変数に名前を保存し、次のコマンドを実行してcloud-object-storageを作成します。$ cos_si_name=THE_NAME_OF_YOUR_SERVICE_INSTANCE$ ibmcloud resource service-instance-create ${cos_si_name} cloud-object-storage standard global -d ${cos_deploy_plan}
次のコマンドを実行して、
cos_crnという変数内の Cloud Object Storage (COS) バケットの Cloud Resource Name (CRN) を取得します。$ cos_crn=$(ibmcloud resource service-instance ${cos_si_name} --output json| jq -r '.[] | select(.crn | contains("cloud-object-storage")) | .crn')$ ibmcloud cos config crn --crn ${cos_crn} --force次のコマンドを使用して、環境変数
bucket_nameという名前の Cloud Object Storage (COS) バケットを作成します。$ bucket_name=NAME_OF_MY_BUCKET$ ibmcloud cos bucket-create --bucket ${bucket_name}次のコマンドを実行して、インフラストラクチャーサービスにより、サービスインスタンス
${cos_si_guid}変数にあるバケットが読み取れるように許可します。$ cos_si_guid=$(ibmcloud resource service-instance ${cos_si_name} --output json| jq -r '.[] | select(.crn | contains("cloud-object-storage")) | .guid')$ ibmcloud iam authorization-policy-create is cloud-object-storage Reader --source-resource-type image --target-service-instance-id ${cos_si_guid}
- IBM Cloud Object Storage (CoS) サービスインスタンスバケットがセットアップされました。Red Hat Enterprise Linux AI ダウンロードページ から QCOW2 イメージをダウンロードする必要があります。
QCOW2 イメージリンクをコピーし、次のコマンドに追加します。
$ curl -Lo disk.qcow2 "PASTE_HERE_THE_LINK_OF_THE_QCOW2_FILE"RHEL AI IBM Cloud イメージとして使用する名前を設定します
$ image_name=rhel-ai-20240703v0次のコマンドを実行して、選択したリージョンの Cloud Object Storage (COS) バケットに QCOW2 イメージをアップロードします。
$ ibmcloud cos upload --bucket ${bucket_name} --key ${image_name}.qcow2 --file disk.qcow2 --region <region>次のコマンドを使用して、アップロードした QCOW2 を IBM Cloud イメージに変換します。
$ ibmcloud is image-create ${image_name} --file cos://<region>/${bucket_name}/${image_name}.qcow2 --os-name red-ai-9-amd64-nvidia-byolジョブが起動したら、次のコマンドを実行して、IBM Cloud イメージ設定を
image_idという変数に設定します。$ image_id=$(ibmcloud is images --visibility private --output json | jq -r '.[] | select(.name=="'$image_name'") | .id')次のコマンドでジョブの進行状況を表示できます。
$ while ibmcloud is image --output json ${image_id} | jq -r .status | grep -xq pending; do sleep 1; done次のコマンドで、新しく作成されたイメージの情報を表示できます。
$ ibmcloud is image ${image_id}