第2章 RHEL Image Builder を使用した GCP へのイメージのアップロード
RHEL Image Builder を使用すると、gce
イメージをビルドし、ユーザーまたは GCP サービスアカウントの認証情報を指定して、gce
イメージを GCP 環境に直接アップロードできます。
2.1. CLI を使用して gce イメージを設定して GCP にアップロードする
RHEL Image Builder CLI を使用して、gce
イメージを GCP にアップロードするための認証情報を含む設定ファイルを設定します。
イメージが起動しなくなるため、gce
イメージを GCP に手動でインポートすることはできません。アップロードするには、gcloud
または RHEL Image Builder を使用する必要があります。
前提条件
イメージを GCP にアップロードするための有効な Google アカウントと認証情報がある。認証情報は、ユーザーアカウントまたはサービスアカウントから取得できます。認証情報に関連付けられたアカウントには、少なくとも次の IAM ロールが割り当てられている必要があります。
-
roles/storage.admin
- ストレージオブジェクトの作成と削除 -
roles/compute.storageAdmin
- 仮想マシンイメージの Compute Engine へのインポート
-
- 既存の GCP バケットがあります。
手順
テキストエディターを使用して、次の内容の
gcp-config.toml
設定ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow provider = "gcp" [settings] bucket = "GCP_BUCKET" region = "GCP_STORAGE_REGION" object = "OBJECT_KEY" credentials = "GCP_CREDENTIALS"
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
の指定は任意です。他の認証方法は、Authenticating with GCP を参照してください。
-
GCP からダウンロードした JSON ファイルから
GCP_CREDENTIALS
を取得します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo base64 -w 0 cee-gcp-nasa-476a1fa485b7.json
$ sudo base64 -w 0 cee-gcp-nasa-476a1fa485b7.json
追加のイメージ名とクラウドプロバイダープロファイルを使用して Compose を作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo composer-cli compose start BLUEPRINT-NAME gce IMAGE_KEY gcp-config.toml
$ sudo composer-cli compose start BLUEPRINT-NAME gce IMAGE_KEY gcp-config.toml
イメージビルド、アップロード、およびクラウド登録プロセスは、完了に最大 10 分かかる場合があります。
検証
イメージのステータスが FINISHED であることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo composer-cli compose status
$ sudo composer-cli compose status