3.4. 将 RHEL 镜像上传到 GCP
要在 Google Cloud Platform (GCP)上运行 RHEL 9 实例,您必须将 RHEL 9 镜像上传到 GCP。
3.4.1. 在 GCP 上创建新项目
要将 Red Hat Enterprise Linux 9 镜像上传到 Google Cloud Platform (GCP),您必须首先在 GCP 上创建一个新项目。
先决条件
- 您必须拥有 GCP 帐户。如果没有,请参阅 Google Cloud 了解更多信息。
步骤
- 启动 GCP 控制台。
- 点击 Google Cloud Platform 右侧的下拉菜单。
- 在弹出菜单中点击 NEW PROJECT。
- 在 New Project 窗口中输入新项目的名称。
- 检查 Organization。如果需要,点击下拉菜单更改机构。
- 确认您的父机构或文件夹的 位置。如果需要,点 Browse 搜索并更改这个值。
点击 CREATE 创建新 GCP 项目。
注意安装 Google Cloud SDK 后,您可以使用
gcloud projects create
CLI 命令来创建项目。例如:# gcloud projects create my-gcp-project3 --name project3
该示例创建了一个 项目 ID 为
my-gcp-project3
,项目名称为project3
的项目。如需更多信息,请参阅 gcloud 项目创建。
3.4.2. 安装 Google Cloud SDK
在 Google Cloud Platform (GCP)上管理 HA 集群的许多流程都需要 Google Cloud SDK 中的工具。
步骤
- 按照下载和提取 Google Cloud SDK 归档的 GCP 说明。详情请查看 GCP 文档中的 Linux Quickstart。
按照初始化 Google Cloud SDK 的说明。
注意初始化 Google Cloud SDK 后,您可以使用
gcloud
CLI 命令来执行任务,并获取有关项目和实例的信息。例如,您可以使用gcloud compute project-info describe --project <project-name>
命令来显示项目信息。
3.4.3. 为 Google Compute Engine 创建 SSH 密钥
使用 GCE 生成并注册 SSH 密钥,以便您可以使用其公共 IP 地址直接 SSH 到实例。
流程
使用
ssh-keygen
命令来生成用于 GCE 的 SSH 密钥对。# ssh-keygen -t rsa -f ~/.ssh/google_compute_engine
- 在 GCP Console Dashboard 页面 中,点击 Google Cloud Console banner 左侧的 Navigation 菜单,并选择 Compute Engine,然后选择 Metadata。
- 点 SSH Keys,然后点 Edit。
输入
~/.ssh/google_compute_engine.pub
文件中生成的结果,然后单击 Save。现在,您可以使用标准的 SSH 连接到您的实例。
# ssh -i ~/.ssh/google_compute_engine <username>@<instance_external_ip>
您可以运行 gcloud compute config-ssh
命令,使用实例的别名来填充配置文件。别名允许按实例名称简单的 SSH 连接。有关 gcloud compute config-ssh
命令的详情,请参考 gcloud compute config-ssh。
3.4.4. 在 GCP Storage 中创建存储桶
要将 RHEL 9 镜像导入到 GCP,您必须首先创建一个 GCP 存储桶。
流程
如果您还没有登录到 GCP,请使用以下命令登录。
# gcloud auth login
创建存储桶。
# gsutil mb gs://bucket_name
注意另外,您可以使用 Google Cloud Console 创建存储桶。如需更多信息,请参阅创建存储桶。
其它资源
3.4.5. 转换并上传您的镜像到您的 GCP 存储桶
在本地 RHEL 9 镜像可以部署到 GCP 前,您必须首先进行转换,并将镜像上传到 GCP 桶中。以下步骤描述了将 qcow2
镜像转换为 raw
格式,然后将镜像作为 tar
归档上传。但是,也可以使用不同的格式。
步骤
运行
qemu-img
命令来转换您的镜像。转换的映像必须具有名称disk.raw
。# qemu-img convert -f qcow2 -O raw rhel-9.0-sample.qcow2 disk.raw
打包镜像。
# tar --format=oldgnu -Sczf disk.raw.tar.gz disk.raw
将镜像上传到之前创建的存储桶。上传可能需要几分钟时间。
# gsutil cp disk.raw.tar.gz gs://bucket_name
- 在 Google Cloud Platform 主屏幕中,单击折叠菜单图标,并选择 Storage,然后选择 Browser。
点存储桶的名称。
打包的镜像列在存储桶名称下。
注意您还可以使用 GCP 控制台 上传您的镜像。为此,可单击存储桶的名称,然后单击 Upload files。
3.4.6. 从 GCP 存储桶中创建镜像
在从上传到 GCP 存储桶的对象创建 GCE 镜像前,您必须将对象转换为 GCE 镜像。
流程
运行以下命令来为 GCE 创建镜像。指定您要创建的镜像的名称、存储桶名称和打包的镜像的名称。
# gcloud compute images create my-image-name --source-uri gs://my-bucket-name/disk.raw.tar.gz
注意另外,您可以使用 Google Cloud Console 创建镜像。如需更多信息,请参阅创建、删除和弃用自定义镜像。
另外,还可在 GCP Console 中找到该镜像。
- 单击 Google Cloud Console 标语左侧的 Navigation 菜单。
- 选择 Compute Engine,然后选择 Images。
3.4.7. 从镜像创建 Google Compute Engine 实例
要从镜像配置 GCE 虚拟机实例,请使用 GCP 控制台。
有关 GCE 虚拟机实例及其配置选项的更多信息,请参阅 创建和启动虚拟机实例。
流程
- 在 GCP Console Dashboard 页面 中,点击 Google Cloud Console banner 左侧的 Navigation 菜单,选择 Compute Engine,然后选择 Images。
- 选择您的镜像。
- 点 Create Instance。
- 在 Create an instance 页面中,为您的实例输入一个 Name。
- 选择一个 Region 和 Zone。
- 选择满足或超过工作负载要求的机器配置。
- 确保引导磁盘指定了您的镜像名称。
- (可选)在 Firewall 下,选择 Allow HTTP traffic 或 Allow HTTPS traffic。
点 Create。
注意这些是创建基本实例所需的最小配置选项。根据您的应用程序要求查看其他选项。
- 在虚拟机实例中查找您的镜像。
在 GCP Console Dashboard 中,点击 Google Cloud Console banner 左侧的 Navigation 菜单,选择 Compute Engine,然后选择 VM instances。
注意或者,您可以使用
gcloud compute instances create
CLI 命令来通过镜像创建 GCE 虚拟机实例。下面是一个简单的例子。gcloud compute instances create myinstance3 --zone=us-central1-a --image test-iso2-image
该示例根据现有的
test-iso2-image
映像,在区域us-central1-a
中创建名为myinstance3
的虚拟机实例。如需更多信息,请参阅 gcloud 计算实例创建。
3.4.8. 连接到您的实例
使用其公共 IP 地址连接到 GCE 实例。
流程
确保您的实例正在运行。以下命令列出有关 GCE 实例的信息,包括实例是否正在运行,如果正在运行,列出正在运行的实例的公共 IP 地址。
# gcloud compute instances list
使用标准的 SSH 连接到您的实例。该示例是使用之前创建的
google_compute_engine
密钥。# ssh -i ~/.ssh/google_compute_engine <user_name>@<instance_external_ip>
注意GCP 提供了多种 SSH 到您的实例的方法。如需更多信息,请参阅连接到实例。您还可以使用之前设置的 root 帐户和密码连接到您的实例。
其它资源
3.4.9. 附加红帽订阅
使用 subscription-manager
命令,您可以注册 RHEL 实例,并将红帽订阅附加到 RHEL 实例。
先决条件
- 您必须已启用您的订阅。
流程
注册您的系统。
# subscription-manager register --auto-attach
附加您的订阅。
- 您可以使用激活码来附加订阅。如需更多信息,请参阅创建红帽客户门户网站激活码。
- 或者,您可以使用订阅池(池 ID)的 ID 手动附加订阅。请参阅 将基于主机的订阅附加到 hypervisor。
可选: 要在 Red Hat Hybrid Cloud Console 中收集有关实例的各种系统指标,您可以使用 Red Hat Insights 注册实例。
# insights-client register --display-name <display-name-value>
有关 Red Hat Insights 的进一步配置的详情,请参考 Red Hat Insights 的客户端配置指南。