第 15 章 在 Google Compute Engine 上置备云实例
红帽卫星可以与 Google Compute Engine (GCE)交互,包括创建新虚拟机和控制其电源管理状态。您只能将 Red Hat 支持的金级镜像用于 Satellite 创建 GCE 主机。
前提条件
- 为 Red Hat Enterprise Linux 同步内容仓库。有关更多信息,请参阅 内容管理指南中的 同步存储库。
- 主机注册的激活码。有关更多信息,请参阅 内容 管理指南中的 创建激活码。
- 在 GCE 项目中,使用所需的 IAM Compute 角色配置服务帐户。如需更多信息,请参阅 GCE 文档中的 Compute Engine IAM 角色。
-
在 GCE 项目范围元数据中,将
enable-oslogin
设置为FALSE
。如需更多信息,请参阅 GCE 文档中的启用或禁用 OS Login 部分。 -
可选: 如果要将 Puppet 与 GCE 主机搭配使用,请导航到 Administer > Settings > Puppet 并启用
Use UUID for
certificate 设置来配置 Puppet 来使用一致的 Puppet 证书 ID。 -
根据您的需要,将
finish
或user_data
调配模板与您要使用的操作系统关联。如需有关调配模板的更多信息,请参阅 调配模板。
流程概述
15.1. 在 Satellite 服务器中添加 Google Compute Engine 连接
使用这个步骤将 Google Compute Engine (GCE)添加为 Satellite 中的计算资源。要使用 CLI 而不是 Web UI,请参阅 CLI 过程。
流程
-
在 GCE 中,以 JSON 格式生成服务帐户密钥,并将此文件上传到卫星服务器上的
/usr/share/foreman/
目录中。 在 Satellite 服务器中,将服务帐户密钥的所有者改为
foreman
用户:# chown foreman /usr/share/foreman/gce_key.json
为服务帐户密钥配置权限,以确保该文件可读:
# chmod 0600 /usr/share/foreman/gce_key.json
为服务帐户密钥恢复 SELinux 上下文:
# restorecon -vv /usr/share/foreman/gce_key.json
- 在 Satellite Web UI 中,导航到 Infrastructure > Compute Resources,点 Create Compute Resource。
- 在 Name 字段中输入计算资源的名称。
- 从 Provider 列表中,选择 Google。
- 可选:在 Description 字段中输入资源描述。
- 在 Google Project ID 字段中,输入项目 ID。
- 在 Client Email 字段中,输入客户端电子邮件。
-
在 Certificate Path 字段中,输入服务帐户密钥的路径。例如:
/usr/share/foreman/gce_key.json
。 - 点 Load Zones 从 GCE 环境中填充区列表。
- 从 Zone 列表中,选择要使用的 GCE 区域。
- 点 Submit。
CLI 过程
-
在 GCE 中,以 JSON 格式生成服务帐户密钥,并将此文件上传到卫星服务器上的
/usr/share/foreman/
目录中。 在 Satellite 服务器中,将服务帐户密钥的所有者改为
foreman
用户:# chown foreman /usr/share/foreman/gce_key.json
为服务帐户密钥配置权限,以确保该文件可读:
# chmod 0600 /usr/share/foreman/gce_key.json
为服务帐户密钥恢复 SELinux 上下文:
# restorecon -vv /usr/share/foreman/gce_key.json
使用
hammer compute-resource create
命令将 GCE 计算资源添加到 Satellite 中:# hammer compute-resource create --name 'gce_cr' \ --provider 'gce' \ --project 'gce_project_id' \ --key-path 'gce_key.json' \ --zone 'us-west1-b' \ --email 'gce_email'