Menu Close
Settings Close

Language and Page Formatting Options

第 5 章 在 Google Cloud Platform 上将 Red Hat Enterprise Linux 镜像部署为 Google Compute Engine 实例

您有多个选项,可在 Google Cloud Platform(GCP)上将 Red Hat Enterprise Linux(RHEL)7 镜像部署为 Google Compute Engine(GCE)实例。本章讨论选择镜像的选项,以及列出或注明主机系统和虚拟机的系统要求。本章介绍了从 ISO 镜像创建自定义虚拟机、上传到 GCE 并启动实例的步骤。

本章在很多位置使用了 Google 文档。如需更多信息,请参阅引用的 Google 文档。

注意

有关 GCP 红帽产品认证列表,请参阅 Google Cloud Platform 上的红帽

先决条件

  • 您需要一个红帽客户门户网站帐户才能完成本章中的步骤。
  • 使用 GCP 创建帐户来访问 Google Cloud Platform 控制台。如需更多信息,请参阅 Google Cloud
  • 通过 Red Hat Cloud Access 程序启用您的红帽订阅。Red Hat Cloud Access 程序允许您在红帽的完全支持下将红帽订阅从物理或内部系统移到 GCP。

5.1. GCP 上的 Red Hat Enterprise Linux 镜像选项

下表列出了镜像选择和镜像选项的不同。

表 5.1. 镜像选项

镜像选项订阅示例情境注意事项

选择部署移至 GCP 的自定义镜像。

利用您现有的红帽订阅。

通过 Red Hat Cloud Access 程序 启用订阅,上传您的自定义镜像并附加您的订阅。

订阅只包括红帽产品的成本;您还需要支付其他成本。

移至 GCP 的自定义镜像名为 "Cloud Access" 镜像,因为您利用了您现有的红帽订阅。红帽直接为 Cloud Access 镜像提供支持。

选择部署包含 RHEL 的现有 GCP 镜像。

GCP 镜像包括一个红帽产品。

GCP Compute Engine 上启动实例时选择 RHEL 镜像,或者从 Google Cloud Platform Marketplace 中选择镜像。

根据 pay-as-you-go 模式每小时向 GCP 支付。这样的镜像称为 "on-demand" 镜像。GCP 通过支持协议支持 on-demand 镜像。

重要

您无法将 on-demand 实例转换为 Red Hat Cloud Access 实例。要从 on-demand 镜像改为 Red Hat Cloud Access bring-your-own subscription(BYOS)镜像,创建一个新的 Red Hat Cloud Access 实例,并从您的 on-demand 实例迁移数据。在迁移数据后取消您的 on-demand 实例以避免出现重复账单。

本章的剩余部分包含与自定义镜像相关的信息和流程。

5.2. 理解基础镜像

本节介绍使用预配置的基础镜像及其配置设置的信息。

5.2.1. 使用自定义基础镜像

要手动配置虚拟机,请以基础(启动程序)虚拟机镜像开始。创建基本虚拟机镜像后,您可以修改配置设置并添加虚拟机在云中操作的软件包。您可在上传镜像后为特定应用程序进行额外的配置更改。

5.2.2. 虚拟机配置设置

云虚拟机必须具有以下配置设置。

表 5.2. 虚拟机配置设置

设置建议

ssh

ssh 必须启用 SSH 来提供虚拟机的远程访问。

dhcp

应该为 dhcp 配置主虚拟适配器。

5.3. 从 ISO 镜像创建基本虚拟机

按照本节中的步骤从 ISO 镜像创建基础镜像。

先决条件

按照 Virtualization 部署和管理指南,为您的 Red Hat Enterprise Linux 7 主机机器启用虚拟化。

5.3.1. 下载 ISO 镜像

流程

  1. 红帽客户门户网站下载最新的 Red Hat Enterprise Linux ISO 镜像。
  2. 将镜像移动到 /var/lib/libvirt/images 目录中。

5.3.2. 从 ISO 镜像创建虚拟机

流程

  1. 确保已为虚拟化启用主机机器。有关安装可升级软件包的信息和步骤,请参阅在现有 Red Hat Enterprise Linux 系统上安装虚拟化软件包
  2. 创建并启动基本 Red Hat Enterprise Linux 虚拟机。有关创建虚拟机的说明,请参阅创建虚拟机

    1. 如果使用命令行创建虚拟机,请确保将默认内存和 CPU 设置为您所需的容量。将您的虚拟网络接口设置为 virtio

      下面是一个基本的命令行示例。

      virt-install --name _vmname_ --memory 2048 --vcpus 2 --disk size=8,bus=virtio --location rhel-7.0-x86_64-dvd.iso --os-variant=rhel7.0
    2. 如果您使用 virt-manager 应用程序创建虚拟机,请按照使用 virt-manager 创建虚拟机的步骤进行以下操作:

      • 不要选择 Immediately Start VM
      • MemoryStorage Size 设置为您需要的值。
      • 在开始安装前,请确保将 Virtual Network Interface Settings 中的 Model 更改为 virtio,并将您的 vCPU 更改为您想要的虚拟机容量设置。

5.3.3. 完成 RHEL 安装

执行以下步骤完成安装并在虚拟机启动后启用 root 访问。

流程

  1. 选择您要在安装过程中使用的语言。
  2. Installation Summary 视图中:

    1. Software Selection,选择 Minimal Install
    2. Done
    3. 点击 Installation Destination 并检查 Storage Configuration 中的 Custom

      • 确保 /boot 验证至少有 500 MB。您可以使用剩余空间作为 root /
      • 建议使用标准分区,但您也可以使用逻辑卷管理(LVM)。
      • 您可以将 xfs、ext4 或者 ext3 用于文件系统。
      • 完成更改后点 Done
  3. Begin Installation
  4. 设置 Root 密码
  5. 重启虚拟机,然后在安装完成后以 root 身份登录。
  6. 配置镜像。

    注意

    确定安装并启用 cloud-init 软件包。

  7. 关闭虚拟机。

5.4. 将 RHEL 镜像上传到 GCP

按照本节中的步骤,在主机机器中将您的镜像上传到 GCP

5.4.1. 在 GCP 上创建新项目

完成以下步骤,在 GCP 上创建新项目。

先决条件

您必须使用 GCP 创建了一个帐户。如果没有,请参阅 Google Cloud

流程

  1. 启动 GCP 控制台
  2. 点击 Google Cloud Platform 右侧的下拉菜单。
  3. 在弹出菜单中点击 NEW PROJECT
  4. New Project 窗口中输入新项目的名称。
  5. 选择 Organization。如果需要,点击下拉菜单更改机构。
  6. 确认您的父机构或文件夹的 位置。如果需要,点 Browse 搜索并更改这个值。
  7. 点击 CREATE 创建新 GCP 项目。

    注意

    安装 Google Cloud SDK 后,您可以使用 gcloud projects create CLI 命令创建项目。下面是一个简单的例子。

    gcloud projects create my-gcp-project3 --name project3

    这个示例创建项目 ID 为 my-gcp-project3,项目名称为 project3。如需更多信息,请参阅 gcloud 项目创建

其它资源

创建和管理资源

5.4.2. 安装 Google Cloud SDK

完成以下步骤以安装 Google Cloud SDK。

先决条件

  • 如果您还没有这样做,在 GCP 上创建一个项目。如需更多信息,请参阅在 Google Cloud Platform 上创建新项目
  • 确定您的主机系统包含 Python 2.7 或更高版本。如果没有安装,安装 Python 2.7。

流程

  1. 按照下载和提取 Google Cloud SDK 归档的 GCP 说明。详情请查看 GCP 文档中的 Linux Quickstart
  2. 按照初始化 Google Cloud SDK 的说明。

    注意

    初始化 Google Cloud SDK 后,您可以使用 gcloud CLI 命令执行任务并获取有关项目和实例的信息。例如,您可以使用 gcloud compute project-info describe --project <project-name> 命令显示项目信息。

5.4.3. 为 Google Compute Engine 创建 SSH 密钥

执行以下步骤使用 GCE 生成并注册 SSH 密钥,以便您可以使用它的公共 IP 地址直接将 SSH 连接到实例。

流程

  1. 使用 ssh-keygen 命令生成用于 GCE 的 SSH 密钥对。

    # ssh-keygen -t rsa -f ~/.ssh/google_compute_engine
  2. GCP Console Dashboard 页面 中,点击 Google Cloud Console 标题 左侧的 Navigation 菜单,然后选择 Compute Engine 并选择 Metadata
  3. SSH Keys,然后点 Edit
  4. 输入从 ~/.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

5.4.4. 在 GCP Storage 中创建存储桶

导入到 GCP 需要 GCP Storage Bucket。完成以下步骤以创建存储桶。

流程

  1. 如果您还没有登录到 GCP,请使用以下命令登录。

    # gcloud auth login
  2. 创建存储桶。

    # gsutil mb gs://bucket_name
    注意

    另外,您可以使用 Google Cloud Console 创建存储桶。如需更多信息,请参阅创建存储桶

其它资源

创建存储桶

5.4.5. 转换并上传您的镜像到您的 GCP 存储桶

完成以下步骤,将您的镜像转换并上传到您的 GCP 存储桶。示例是代表,它们将 qcow2 镜像转换为 raw 格式,然后将该镜像 tar 用于上传。

流程

  1. 运行 qemu-img 命令转换您的镜像。转换的镜像必须具有名称 disk.raw

    # qemu-img convert -f qcow2 -O raw rhel-sample.qcow2 disk.raw
  2. 打包镜像。

    # tar --format=oldgnu -Sczf disk.raw.tar.gz disk.raw
  3. 将镜像上传到之前创建的存储桶。上传可能需要几分钟时间。

    # gsutil cp disk.raw.tar.gz gs://bucket_name

验证步骤

  1. Google Cloud Platform 主屏幕中点击折叠菜单图标并选择 Storage,然后选择 Browser
  2. 点存储桶的名称。

    打包的镜像列在存储桶名称下。

    注意

    您还可以使用 GCP 控制台上传您的镜像。要做到这一点,请点击存储桶的名称,然后点击 Upload 文件

5.4.6. 从 GCP 存储桶中创建镜像

执行以下步骤从 GCP 存储桶中的对象创建镜像。

流程

  • 运行以下命令来为 GCE 创建镜像。指定您要创建的镜像的名称、存储桶名称和打包的镜像的名称。

    # gcloud compute images create my-image-name --source-uri gs://my-bucket-name/disk.raw.tar.gz
    注意

    另外,您可以使用 Google Cloud Console 创建镜像。如需更多信息,请参阅创建、删除和弃用自定义镜像

  • 另外,还可在 GCP Console 中找到该镜像。

    1. 点击 Google Cloud Console 标题左侧的 导航 菜单。
    2. 选择 Compute Engine ,然后选择 Images

5.4.7. 从镜像创建 Google Compute Engine 实例

完成以下步骤,使用 GCP 控制台配置 GCE 虚拟机实例。

注意

以下流程提供了使用 GCP 控制台创建基本虚拟机实例的说明。如需有关 GCE 虚拟机实例及其配置选项的更多信息,,参阅创建并启动虚拟机实例

流程

  1. GCP Console Dashboard 页面 中,点击 Google Cloud Console 标题 左侧的 Navigation 菜单,选择 Compute Engine,然后选择 Images
  2. 选择您的镜像。
  3. Create Instance
  4. Create an instance 页面中,为您的实例输入一个 Name
  5. 选择一个 RegionZone
  6. 选择满足或超过工作负载要求的机器配置
  7. 确保引导磁盘指定了您的镜像名称。
  8. (可选)在 Firewall 下,选择 Allow HTTP 流量Allow HTTPS 流量
  9. Create

    注意

    这些是创建基本实例所需的最小配置选项。根据您的应用程序要求查看其他选项。

  10. 虚拟机实例中查找您的镜像。
  11. 在 GCP Console Dashboard 中点击 Google Cloud Console 标题 左侧的 Navigation 菜单,选择 Compute Engine,然后选择 VM 实例

    注意

    另外,您可以使用 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 计算实例创建

5.4.8. 连接到您的实例

执行以下步骤使用其公共 IP 地址连接到 GCE 实例。

流程

  1. 运行以下命令以确保您的实例正在运行。该命令列出 GCE 实例的信息,包括实例是否在运行,以及正在运行的实例的公共 IP 地址。

    # gcloud compute instances list
  2. 使用标准 SSH 连接到您的实例。这个示例使用之前创建的 google_compute_engine 密钥。

    # ssh -i ~/.ssh/google_compute_engine <user_name>@<instance_external_ip>
    注意

    GCP 提供了多种 SSH 到您的实例的方法。如需更多信息,请参阅连接到实例

5.4.9. 附加红帽订阅

完成以下步骤以附加您之前通过 Red Hat Cloud Access 程序启用的订阅。

先决条件

您必须已启用您的订阅。

流程

  1. 注册您的系统。

    subscription-manager register --auto-attach
  2. 附加您的订阅。