第 2 章 使用 RHEL 镜像构建器将镜像上传到 GCP
使用 RHEL 镜像构建器,您可以构建 gce
镜像,为用户或 GCP 服务帐户提供凭证,然后将 gce
镜像直接上传到 GCP 环境。
2.1. 使用 CLI 将 gce 镜像上传到 GCP
使用凭证设置配置文件,来将 gce
镜像上传到 GCP。
您无法手动将 gce
镜像导入到 GCP,因为镜像不能引导。您必须使用 gcloud
或 RHEL 镜像构建器上传它。
先决条件
您有一个有效的 Google 帐户和凭证,来将镜像上传到 GCP。凭据可以来自用户帐户或服务帐户。与凭证关联的帐户必须至少分配以下 IAM 角色:
-
roles/storage.admin
- 用于创建和删除存储对象 -
roles/compute.storageAdmin
- 将虚拟机镜像导入到 Compute Engine。
-
- 您有一个现有的 GCP 存储桶。
流程
使用文本编辑器创建一个包含以下内容的
gcp-config.toml
配置文件:provider = "gcp" [settings] bucket = "GCP_BUCKET" region = "GCP_STORAGE_REGION" object = "OBJECT_KEY" credentials = "GCP_CREDENTIALS"
-
GCP_BUCKET
指向现有的存储桶。它用于存储正在上传的镜像的中间存储对象。 -
GCP_STORAGE_REGION
是常规的 Google 存储区域,是一个双区域或多区域。 -
OBJECT_KEY
是中间存储对象的名称。它在上传过程前不能存在,并在上传过程完成后被删除。如果对象名称不以.tar.gz
结尾,则扩展会自动添加到对象名称中。 GCP_CREDENTIALS
是从 GCP 下载的凭证 JSON 文件的Base64
编码的方案。凭证决定了 GCP 将镜像上传到的项目。注意如果您使用不同的机制来使用 GCP 进行身份验证,在
gcp-config.toml
文件中指定GCP_CREDENTIALS
是可选的。有关其他验证方法,请参阅 使用 GCP 进行验证 。
-
从 GCP 下载的 JSON 文件中检索
GCP_CREDENTIALS
。$ sudo base64 -w 0 cee-gcp-nasa-476a1fa485b7.json
使用附加镜像名称和云供应商配置集创建 compose:
$ sudo composer-cli compose start BLUEPRINT-NAME gce IMAGE_KEY gcp-config.toml
镜像构建、上传和云注册过程最多可能需要十分钟才能完成。
验证
验证镜像状态为 FINISHED:
$ sudo composer-cli compose status