第5章 Google Cloud Platform (GCP) への RHEL AI のインストール (テクノロジープレビュー)
Google Cloud Platform に Red Hat Enterprise Linux AI をインストールしてデプロイするには、まず RHEL AI イメージを GCP イメージに変換する必要があります。その後、GCP イメージを使用してインスタンスを起動し、Google Cloud Platform マシンに RHEL AI をデプロイできます。
GCP への Red Hat Enterprise Linux AI のインストールは、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
5.1. RHEL AI イメージの Google Cloud Platform イメージへの変換 リンクのコピーリンクがクリップボードにコピーされました!
Google Cloud Platform で起動可能なイメージを作成するには、Google Cloud Platform アカウントを設定し、Google Cloud Storage バケットを作成して、RHEL AI raw イメージを使用して Google Cloud Platform イメージを作成する必要があります。
前提条件
- 特定のマシンに Google Cloud Platform CLI をインストールしている。GCP CLI のインストールの詳細は、Linux に Google Cloud Platform CLI をインストールする を参照してください。
- Red Hat Enterprise Linux バージョン 9.2 - 9.4 システムを使用している。
- マシンには追加の 100 GB のディスク容量が必要です。
手順
次のコマンドで Google Cloud Platform にログインします。
$ gcloud auth loginログインの出力例
$ gcloud auth login Your browser has been opened to visit: https://accounts.google.com/o/oauth2/auth?XXXXXXXXXXXXXXXXXXXX You are now logged in as [user@example.com]. Your current project is [your-project]. You can change this setting by running: $ gcloud config set project PROJECT_IDGCP イメージを作成する前に、いくつかの Google Cloud Platform 設定をセットアップし、GCP Storage Container を作成する必要があります。
プロジェクトを使用するように Google Cloud Platform CLI を設定します。
$ gcloud_project=your-gcloud-project $ gcloud config set project $gcloud_project操作するリージョンを定義する環境変数を作成します。
$ gcloud_region=us-central1Google Cloud Platform Storage Container を作成します。
$ gcloud_bucket=name-for-your-bucket $ gsutil mb -l $gcloud_region gs://$gcloud_bucket
Red Hat は現在、RHEL AI Google Cloud Platform イメージを提供していません。RHEL AI bootc イメージをベースとして使用して GCP ディスクイメージを作成する必要があります。
FROM 行で適切なバージョンの RHEL AI を使用して、この
Containerfileファイルを作成します。FROM registry.redhat.io/rhelai1/bootc-nvidia-rhel9:1.2 RUN eval $(grep VERSION_ID /etc/os-release) \ && echo -e "[google-compute-engine]\nname=Google Compute Engine\nbaseurl=https://packages.cloud.google.com/yum/repos/google-compute-engine-el${VERSION_ID/.*}-x86_64-stable\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=0\ngpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg\n https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg" > /etc/yum.repos.d/google-cloud.repo \ && dnf install -y --nobest \ acpid \ cloud-init \ google-compute-engine \ google-osconfig-agent \ langpacks-en \ rng-tools \ timedatex \ tuned \ vim \ && curl -sSo /tmp/add-google-cloud-ops-agent-repo.sh https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.sh \ && bash /tmp/add-google-cloud-ops-agent-repo.sh --also-install --remove-repo \ && rm /tmp/add-google-cloud-ops-agent-repo.sh \ && mkdir -p /var/lib/rpm-state \ && dnf remove -y irqbalance microcode_ctl \ && rmdir /var/lib/rpm-state \ && rm -f /etc/yum.repos.d/google-cloud.repo \ && sed -i -e '/^pool /c\server metadata.google.internal iburst' /etc/chrony.conf \ && echo -e 'PermitRootLogin no\nPasswordAuthentication no\nClientAliveInterval 420' >> /etc/ssh/sshd_config \ && echo -e '[InstanceSetup]\nset_boto_config = false' > /etc/default/instance_configs.cfg \ && echo 'blacklist floppy' > /etc/modprobe.d/blacklist_floppy.conf \ && echo -e '[install]\nkargs = ["net.ifnames=0", "biosdevname=0", "scsi_mod.use_blk_mq=Y", "console=ttyS0,38400n8d", "cloud-init=disabled"]' > /usr/lib/bootc/install/05-cloud-kargs.toml次のコマンドを実行して、
Containerfileが格納されているのと同じディレクトリーに bootc イメージをビルドします。$ GCP_BOOTC_IMAGE=quay.io/yourquayusername/bootc-nvidia-rhel9-gcp $ podman build --file Containerfile --tag ${GCP_BOOTC_IMAGE} .
RHEL 対応システムから podman build コマンドを実行していることを確認します。RHEL システムを使用していない場合、Containerfile ファイルのビルドは失敗します。
ディスクイメージの生成に使用する
config.tomlファイルを作成します。[customizations.kernel] name = "gcp" append = "net.ifnames=0 biosdevname=0 scsi_mod.use_blk_mq=Y console=ttyS0,38400n8d cloud-init=disabled"次のコマンドを実行して、bootc-image-builder を使用してディスクイメージをビルドします。
$ mkdir -p build/store build/output $ podman run --rm -ti --privileged --pull newer \ -v /var/lib/containers/storage:/var/lib/containers/storage \ -v ./build/store:/store -v ./build/output:/output \ -v ./config.toml:/config.toml \ quay.io/centos-bootc/bootc-image-builder \ --config /config.toml \ --chown 0:0 \ --local \ --type raw \ --target-arch x86_64 \ ${GCP_BOOTC_IMAGE}RHEL AI Google Cloud Platform イメージとして使用する名前を設定します。
$ image_name=rhel-ai-1-2作成した RAW ファイルを含む
tar.gzファイルを作成します。$ raw_file=<path-to-raw-file> $ tar cf rhelai_gcp.tar.gz --transform "s|$raw_file|disk.raw|" --use-compress-program=pigz "$raw_file"注記pigzの代わりにgzipを使うこともできます。次のコマンドを実行して、tar.gz ファイルを Google Cloud Platform Storage Container にアップロードします。
$ gsutil cp rhelai_gcp.tar.gz "gs://${gcloud_bucket}/$image_name.tar.gz"次のコマンドを使用して、アップロードしたばかりの
tar.gzファイルから Google Cloud Platform イメージを作成します。$ gcloud compute images create \ "$image_name" \ --source-uri="gs://${gcloud_bucket}/$image_name.tar.gz" \ --family "rhel-ai" \ --guest-os-features=GVNIC