10.2. 准备 VHD 镜像,并将其上传到 Microsoft Azure
您可以创建自定义镜像,并使用 RHEL 镜像构建器,手动或自动将它们更新到 Microsoft Azure 云。
10.2.1. 准备手动上传 Microsoft Azure VHD 镜像
要创建一个可手动上传到 Microsoft Azure
云的 VHD 镜像,您可以使用 RHEL 镜像构建器。
前提条件
- 您必须有 Microsoft Azure 资源组和存储帐户。
-
您已安装了 Python。
AZ CLI
工具依赖 python。
流程
导入 Microsoft 存储库密钥:
# rpm --import https://packages.microsoft.com/keys/microsoft.asc
使用以下信息创建一个本地
azure-cli.repo
存储库:将azure-cli.repo
存储库保存在/etc/yum.repos.d/
下:[azure-cli] name=Azure CLI baseurl=https://packages.microsoft.com/yumrepos/vscode enabled=1 gpgcheck=1 gpgkey=https://packages.microsoft.com/keys/microsoft.asc
安装 Microsoft Azure CLI:
# dnfdownloader azure-cli # rpm -ivh --nodeps azure-cli-2.0.64-1.el7.x86_64.rpm
注意下载的 Microsoft Azure CLI 软件包版本可能会因当前可用的版本而异。
运行 Microsoft Azure CLI:
$ az login
终端会显示以下信息
Note, we have launched a browser for you to login.For old experience with device code, use "az login --use-device-code
.然后,终端会打开浏览器,其中包含可从其登录 https://microsoft.com/devicelogin 的链接。注意如果您正在运行一个远程(SSH)会话,则登录页面链接不会在浏览器中打开。在这种情况下,您可以将链接复制到浏览器,并登录以验证您的远程会话。要登录,使用网页浏览器打开页面 https://microsoft.com/devicelogin 并输入要进行身份验证的设备代码。
列出 Microsoft Azure 中存储帐户的密钥:
$ az storage account keys list --resource-group <resource_group_name> --account-name <storage_account_name>
将 resource-group-name 替换为 Microsoft Azure 资源组的名称,将 storage-account-name 替换为 Microsoft Azure 存储帐户的名称。
注意您可以使用以下命令列出可用资源:
$ az resource list
记录上一命令输出中
key1
的值。创建存储容器:
$ az storage container create --account-name <storage_account_name>\ --account-key <key1_value> --name <storage_account_name>
将 storage-account-name 替换为存储帐户的名称。
其他资源
10.2.2. 手动将 VHD 镜像上传到 Microsoft Azure 云
在创建了自定义 VHD 镜像后,您可以手动将其上传到 Microsoft Azure 云。
前提条件
- 必须为上传 Microsoft Azure VHD 镜像建立您的系统。请参阅 准备上传 Microsoft Azure VHD 镜像。
您必须有一个由 RHEL 镜像构建器创建的 Microsoft Azure VHD 镜像。
-
在 GUI 中,使用
Azure Disk Image (.vhd)
镜像类型。 -
在 CLI 中,使用
vhd
输出类型。
-
在 GUI 中,使用
使用 CLI 创建 .vhd
镜像时,镜像构建器会将临时文件写入 /var
子目录。要防止 .vhd
镜像创建失败,请将 /var
子目录容量增加到至少 15 到 20 GB 的可用空间,以确保可用性。
流程
将镜像推送到 Microsoft Azure 并从中创建一个实例:
$ az storage blob upload --account-name <_account_name_> --container-name <_container_name_> --file <_image_-disk.vhd> --name <_image_-disk.vhd> --type page ...
上传到 Microsoft Azure Blob 存储后,会从中创建一个 Microsoft Azure 镜像:
$ az image create --resource-group <_resource_group_name_> --name <_image_>-disk.vhd --os-type linux --location <_location_> --source https://$<_account_name_>.blob.core.windows.net/<_container_name_>/<_image_>-disk.vhd - Running ...
注意因为您使用 RHEL 镜像构建器生成混合镜像的镜像支持 V1 = BIOS 和 V2 = UEFI 实例类型,所以您可以指定
--hyper-v-generation
参数。默认的实例类型是 V1。
验证
使用 Microsoft Azure 门户创建实例,或者使用以下命令:
$ az vm create --resource-group <_resource_group_name_> --location <_location_> --name <_vm_name_> --image <_image_>-disk.vhd --admin-username azure-user --generate-ssh-keys - Running ...
-
通过 SSH 使用您的私钥访问生成的实例。以
azure-user
用户身份登录。此用户名在上一步中设置了。
其它资源
-
生成
.vhd
格式的镜像失败 (红帽知识库)
10.2.3. 创建 VHD 镜像,并自动将其上传到 Microsoft Azure 云
您可以使用 RHEL 镜像构建器创建 .vhd
镜像,该镜像将被自动上传到 Microsoft Azure Cloud 服务提供商的 Blob 存储中。
前提条件
- 有对系统的 root 访问权限。
- 您可以访问 RHEL web 控制台的 RHEL 镜像构建器界面。
- 您创建了蓝图。请参阅在 web 控制台界面中创建一个 RHEL 镜像构建器蓝图。
- 您已创建了 Microsoft 存储帐户。
- 您有一个可写入 Blob Storage。
流程
- 在 RHEL 镜像构建器仪表盘中,选择要使用的蓝图。
- 点 选项卡。
点
创建自定义的.vhd
镜像。Create image 向导将打开。
-
从 Type 下拉菜单中选择
Microsoft Azure (.vhd)
。 - 选中 Upload to Azure 复选框,以将镜像上传到 Microsoft Azure Cloud。
- 输入 Image Size 并点 。
-
从 Type 下拉菜单中选择
在 Upload to Azure 页面中,输入以下信息:
在 Authentication 页面中,输入:
- 您的 存储帐户 名称。您可以在 Storage account 页面的 Microsoft Azure 门户 中找到它。
- 您的存储访问密钥 :您可以在 Access Key Storage 页面中找到它。
- 点 。
在 Authentication 页面中,输入:
- 镜像名称。
- 存储容器.它是您将镜像上传到的 blob 容器。在 Microsoft Azure 门户 的 Blob service 部分中可找到它。
- 点 。
在 Review 页面上,点 。RHEL 镜像构建器和上传进程启动。
访问推送到 Microsoft Azure Cloud 的镜像。
- 访问 Microsoft Azure 门户网站。
- 在搜索栏中,输入"storage account",然后从列表中单击 Storage accounts。
- 在搜索栏中,输入"Images",然后在 Services 下选择第一个条目。您将被重定向到 镜像仪表盘。
- 在导航面板上,单击 Containers。
-
查找您创建的容器。容器中是您使用 RHEL 镜像构建器创建并推送的
.vhd
文件。
验证
验证您能否创建虚拟机镜像并启动它。
- 在搜索栏中,输入镜像帐户,并单击列表中的 Images。
- 点 。
- 从下拉列表中,选择您之前使用的资源组。
- 输入镜像的名称。
- 对于 OS type,请选择 Linux。
- 对于VM generation,请选择 Gen 2。
- 在 Storage Blob 下,点 ,并点 storage account 和 container,直到您到达 VHD 文件。
- 点页面末尾的 Select。
- 选择一个帐户类型,例如 Standard SSD。
- 点 ,然后点 。等待几分钟,以便创建镜像。
要启动虚拟机,请按照以下步骤:
- 点 。
- 从标题的菜单栏中,单击 。
- 输入虚拟机的名称。
- 完成 Size 和 Administrator account 部分。
点
,然后点 。您可以查看部署的进度。部署完成后,单击虚拟机名称,以检索使用 SSH 连接的实例的公共 IP 地址。
- 打开一个终端,创建一个 SSH 连接来连接到虚拟机。