第 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出现提示时,选择要登录的帐户。
登录输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您需要设置各种 IBM Cloud 配置并在生成 QCOW2 镜像前创建 COS 存储桶。
您可以运行以下命令来安装所需的 IBM Cloud 插件:
ibmcloud plugin install cloud-object-storage infrastructure-service
$ ibmcloud plugin install cloud-object-storage infrastructure-service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置您首选的资源组,以下示例命令设置名为
Default
的资源组。ibmcloud target -g Default
$ ibmcloud target -g Default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置您首选的区域,以下示例命令设置
us-east
区域。ibmcloud target -r us-east
$ ibmcloud target -r us-east
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您需要为您的服务实例选择部署计划。确保您在 IBM 云网站上检查属性和定价。
您可以运行以下命令来列出可用的部署计划:
ibmcloud catalog service cloud-object-storage --output json | jq -r '.[].children[] | select(.children != null) | .children[].name'
$ ibmcloud catalog service cloud-object-storage --output json | jq -r '.[].children[] | select(.children != null) | .children[].name'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下示例命令使用
Premium-global-deployment
计划,并将其放在环境变量cos_deploy_plan
中:cos_deploy_plan=premium-global-deployment
$ cos_deploy_plan=premium-global-deployment
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 Cloud Object Storage (COS)服务实例,并将名称保存到名为
cos_si_name
的环境变量中,并创建cloud-object-storage
并运行以下命令来:cos_si_name=THE_NAME_OF_YOUR_SERVICE_INSTANCE
$ cos_si_name=THE_NAME_OF_YOUR_SERVICE_INSTANCE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud resource service-instance-create ${cos_si_name} cloud-object-storage standard global -d ${cos_deploy_plan}
$ ibmcloud resource service-instance-create ${cos_si_name} cloud-object-storage standard global -d ${cos_deploy_plan}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
运行以下命令,在名为
cos_crn
的变量中获取云对象存储(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')
$ cos_crn=$(ibmcloud resource service-instance ${cos_si_name} --output json| jq -r '.[] | select(.crn | contains("cloud-object-storage")) | .crn')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud cos config crn --crn ${cos_crn} --force
$ ibmcloud cos config crn --crn ${cos_crn} --force
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令,创建云对象存储(COS)存储桶,命名为环境变量
bucket_name
:bucket_name=NAME_OF_MY_BUCKET
$ bucket_name=NAME_OF_MY_BUCKET
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud cos bucket-create --bucket ${bucket_name}
$ ibmcloud cos bucket-create --bucket ${bucket_name}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,允许基础架构服务读取服务实例
${cos_si_guid}
变量中的存储桶:cos_si_guid=$(ibmcloud resource service-instance ${cos_si_name} --output json| jq -r '.[] | select(.crn | contains("cloud-object-storage")) | .guid')
$ cos_si_guid=$(ibmcloud resource service-instance ${cos_si_name} --output json| jq -r '.[] | select(.crn | contains("cloud-object-storage")) | .guid')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud iam authorization-policy-create is cloud-object-storage Reader --source-resource-type image --target-service-instance-id ${cos_si_guid}
$ ibmcloud iam authorization-policy-create is cloud-object-storage Reader --source-resource-type image --target-service-instance-id ${cos_si_guid}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 现在,您的 IBM Cloud Object Storage (CoS)服务实例存储桶已设置,您需要从 Red Hat Enterprise Linux AI下载页面下载 QCOW2 镜像
复制 QCOW2 镜像链接并将其添加到以下命令中:
curl -Lo disk.qcow2 "PASTE_HERE_THE_LINK_OF_THE_QCOW2_FILE"
$ curl -Lo disk.qcow2 "PASTE_HERE_THE_LINK_OF_THE_QCOW2_FILE"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置您要用作 RHEL AI IBM Cloud 镜像的名称
image_name=rhel-ai-20240703v0
$ image_name=rhel-ai-20240703v0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,将 QCOW2 镜像上传到带有您选择的区域的 Cloud Object Storage (COS)存储桶:
ibmcloud cos upload --bucket ${bucket_name} --key ${image_name}.qcow2 --file disk.qcow2 --region <region>
$ ibmcloud cos upload --bucket ${bucket_name} --key ${image_name}.qcow2 --file disk.qcow2 --region <region>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令将您刚才上传的 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
$ ibmcloud is image-create ${image_name} --file cos://<region>/${bucket_name}/${image_name}.qcow2 --os-name red-ai-9-amd64-nvidia-byol
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 任务启动后,运行以下命令将 IBM Cloud 镜像配置设置为名为
image_id
的变量:image_id=$(ibmcloud is images --visibility private --output json | jq -r '.[] | select(.name=="'$image_name'") | .id')
$ image_id=$(ibmcloud is images --visibility private --output json | jq -r '.[] | select(.name=="'$image_name'") | .id')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以使用以下命令查看作业的进度:
while ibmcloud is image --output json ${image_id} | jq -r .status | grep -xq pending; do sleep 1; done
$ while ibmcloud is image --output json ${image_id} | jq -r .status | grep -xq pending; do sleep 1; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以使用以下命令查看新创建的镜像的信息:
ibmcloud is image ${image_id}
$ ibmcloud is image ${image_id}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow