3.3. 在 GCP 上上传并运行 RHEL 实例
要在 Google Cloud Platform (GCP)上运行 RHEL 实例,您需要配置 RHEL 镜像并将其上传到 GCP。
3.3.1. 安装 Google Cloud SDK
您可以使用 Google Cloud SDK 通过命令行使用 Google Cloud Platform (GCP)资源和服务管理 Google Cloud Platform (GCP)资源和服务。
先决条件
- 您已下载、提取并初始化 Google Cloud SDK。
流程
-
使用
gcloud
CLI 实用程序管理项目和实例。 创建一个项目:
gcloud projects create <example-gcp-project-id> --name <example-gcp-project>
# gcloud projects create <example-gcp-project-id> --name <example-gcp-project>
Copy to Clipboard Copied! 这个示例创建项目 ID,项目 ID
<example-gcp-project-id>
为,项目名称<example-gcp-project>
为。显示项目信息:
gcloud compute <example-project-info> describe --project <example-project-name>
# gcloud compute <example-project-info> describe --project <example-project-name>
Copy to Clipboard Copied!
3.3.2. 在 GCP 上创建新项目
要将 RHEL 镜像上传到 Google Cloud Platform (GCP),您需要在 GCP 上创建新项目。项目管理您分配的 Google Cloud 资源。
先决条件
- 在 Google Cloud Platform 上有一个帐户。
流程
- 启动 GCP 控制台。
- 点击 Google Cloud Platform 右侧的下拉菜单。
- 在弹出菜单中点击 NEW PROJECT。
- 在 New Project 窗口中输入新项目的名称。
- 检查 Organization。如果需要,点击下拉菜单更改机构。
- 确认您的父机构或文件夹的 位置。如果需要,点 Browse 搜索并更改这个值。
- 点击 CREATE 创建新 GCP 项目。
3.3.3. 在 Google Cloud Storage 上创建并上传 RHEL 镜像
创建 GCP 存储桶来导入和存储对象,如虚拟机镜像。
流程
登录到 Google Cloud 控制台:
gcloud auth login
# gcloud auth login
Copy to Clipboard Copied! 创建存储桶:
gsutil mb gs://<example-bucket-name>
# gsutil mb gs://<example-bucket-name>
Copy to Clipboard Copied! 注意另外,您可以使用 Google Cloud Console 创建存储桶。详情请参阅 创建存储桶。
指定您要创建的镜像名称、现有存储桶名称和镜像的名称:
**gcloud compute images create my-image-name --source-uri gs://__<example-bucket-name>__/disk.raw.tar.gz**
# **gcloud compute images create my-image-name --source-uri gs://__<example-bucket-name>__/disk.raw.tar.gz**
Copy to Clipboard Copied! 注意另外,您可以使用 Google Cloud Console 创建镜像。如需更多信息,请参阅创建、删除和弃用自定义镜像。
可选:在 GCP 控制台中查找镜像。
- 单击 Google Cloud Console 标语左侧的 Navigation 菜单。
- 选择 Compute Engine,然后选择 Images。
运行
qemu-img
命令,将您的qcow2
镜像转换为raw
格式:qemu-img convert -f qcow2 -O raw rhel-10.0-sample.qcow2 disk.raw
# qemu-img convert -f qcow2 -O raw rhel-10.0-sample.qcow2 disk.raw
Copy to Clipboard Copied! 压缩镜像:
tar --format=oldgnu -Sczf disk.raw.tar.gz disk.raw
# tar --format=oldgnu -Sczf disk.raw.tar.gz disk.raw
Copy to Clipboard Copied! 将镜像上传到现有存储桶:
gsutil cp disk.raw.tar.gz gs://<example-bucket-name>
# gsutil cp disk.raw.tar.gz gs://<example-bucket-name>
Copy to Clipboard Copied! 注意上传可能需要几分钟时间。
- 在 Google Cloud Platform 主屏幕中,单击折叠菜单图标,并选择 Storage,然后选择 Browser。
点列出
disk.raw.tar.gz
的存储桶的名称。注意您还可以使用 GCP 控制台 上传您的镜像。为此,可单击存储桶名称,然后单击 Upload files。
3.3.4. 启动并连接到 RHEL Google Compute Engine 实例
要从镜像配置 GCE 虚拟机实例,请使用 GCP 控制台。
流程
- 在 GCP Console Dashboard 页面 中,点击 Google Cloud Console banner 左侧的 Navigation 菜单,选择 Compute Engine,然后选择 Images。
- 选择您的镜像。
- 点 Create Instance。
- 在 Create an instance 页面中,为您的实例输入一个 Name。
- 选择一个 Region 和 Zone。
- 选择满足或超过工作负载要求的机器配置。
- 确保引导磁盘指定了您的镜像名称。
- 可选:在 防火墙 下,选择 Allow HTTP traffic 或 Allow HTTPS traffic。
- 点 Create。
- 在虚拟机实例中查找您的镜像。
单击 Google Cloud Console banner 左侧的 Navigation 菜单,再选择 Compute Engine,然后选择 VM instances。
注意或者,您可以使用
gcloud compute instance create
命令从镜像创建 GCE 虚拟机实例。gcloud compute instances create myinstance3 --zone=us-central1-a --image test-iso2-image
# gcloud compute instances create myinstance3 --zone=us-central1-a --image test-iso2-image
Copy to Clipboard Copied! 该示例根据现有的
test-iso2-image
映像,在区域us-central1-a
中创建名为myinstance3
的虚拟机实例。详情请参阅 gcloud 计算实例创建。使用
ssh-keygen
工具生成用于 GCE 的 SSH 密钥对,使用公共 IP 地址:ssh-keygen -t rsa -f ~/.ssh/google_compute_engine.pub
# ssh-keygen -t rsa -f ~/.ssh/google_compute_engine.pub
Copy to Clipboard Copied! - 在 GCP Console Dashboard 页面 中,点击 Google Cloud Console banner 左侧的 Navigation 菜单,并选择 Compute Engine,然后选择 Metadata。
- 点 SSH Keys,然后点 Edit。
-
输入
~/.ssh/google_compute_engine.pub
文件中生成的结果,然后单击 Save。 连接到实例:
ssh -i ~/.ssh/google_compute_engine <username>@<instance_external_ip>
# ssh -i ~/.ssh/google_compute_engine <username>@<instance_external_ip>
Copy to Clipboard Copied! 注意或者,您可以运行
gcloud compute config-ssh
命令,以使用实例的别名填充配置文件。别名允许按实例名称简单的 SSH 连接。详情请参阅 gcloud compute config-ssh。