3.8. オプション: RHCOS イメージキャッシュの作成
イメージキャッシングを使用するには、ブートストラップ VM がクラスターノードをプロビジョニングするために使用する Red Hat Enterprise Linux CoreOS(RHCOS) イメージをダウンロードする必要があります。イメージのキャッシュはオプションですが、帯域幅が制限されているネットワークでインストールプログラムを実行する場合に特に便利です。
正しいイメージがリリースペイロードにあるため、インストールプログラムは、clusterOSImage RHCOS イメージを必要としなくなりました。
帯域幅が制限されたネットワークでインストールプログラムを実行していて、RHCOS イメージのダウンロードに 15〜20 分以上かかる場合、インストールプログラムはタイムアウトになります。このような場合、Web サーバーでイメージをキャッシュすることができます。
HTTPD サーバーに対して TLS を有効にする場合、ルート証明書がクライアントによって信頼された機関によって署名されていることを確認し、OpenShift Container Platform ハブおよびスポーククラスターと HTTPD サーバー間の信頼された証明書チェーンを検証する必要があります。信頼されていない証明書で設定されたサーバーを使用すると、イメージがイメージ作成サービスにダウンロードされなくなります。信頼されていない HTTPS サーバーの使用はサポートされていません。
イメージを含むコンテナーをインストールします。
手順
podmanをインストールします。$ sudo dnf install -y podmanRHCOS イメージのキャッシュに使用されるファイアウォールのポート
8080を開きます。$ sudo firewall-cmd --add-port=8080/tcp --zone=public --permanent$ sudo firewall-cmd --reloadbootstraposimageを保存するディレクトリーを作成します。$ mkdir /home/kni/rhcos_image_cache新規に作成されたディレクトリーに適切な SELinux コンテキストを設定します。
$ sudo semanage fcontext -a -t httpd_sys_content_t "/home/kni/rhcos_image_cache(/.*)?"$ sudo restorecon -Rv /home/kni/rhcos_image_cache/インストールプログラムがブートストラップ VM にデプロイする RHCOS イメージの URI を取得します。
$ export RHCOS_QEMU_URI=$(/usr/local/bin/openshift-baremetal-install coreos print-stream-json | jq -r --arg ARCH "$(arch)" '.architectures[$ARCH].artifacts.qemu.formats["qcow2.gz"].disk.location')インストールプログラムがブートストラップ VM にデプロイするイメージの名前を取得します。
$ export RHCOS_QEMU_NAME=${RHCOS_QEMU_URI##*/}ブートストラップ仮想マシンにデプロイされる RHCOS イメージの SHA ハッシュを取得します。
$ export RHCOS_QEMU_UNCOMPRESSED_SHA256=$(/usr/local/bin/openshift-baremetal-install coreos print-stream-json | jq -r --arg ARCH "$(arch)" '.architectures[$ARCH].artifacts.qemu.formats["qcow2.gz"].disk["uncompressed-sha256"]')イメージをダウンロードして、
/home/kni/rhcos_image_cacheディレクトリーに配置します。$ curl -L ${RHCOS_QEMU_URI} -o /home/kni/rhcos_image_cache/${RHCOS_QEMU_NAME}新しいファイルの SELinux タイプが
httpd_sys_content_tであることを確認します。$ ls -Z /home/kni/rhcos_image_cachePod を作成します。
$ podman run -d --name rhcos_image_cache \1 -v /home/kni/rhcos_image_cache:/var/www/html \ -p 8080:8080/tcp \ registry.access.redhat.com/ubi9/httpd-24- 1
rhcos_image_cacheという名前のキャッシング Web サーバーを作成します。この Pod は、デプロイメント用にinstall-config.yamlファイルのbootstrapOSImageイメージを提供します。
bootstrapOSImage設定を生成します。$ export BAREMETAL_IP=$(ip addr show dev baremetal | awk '/inet /{print $2}' | cut -d"/" -f1)$ export BOOTSTRAP_OS_IMAGE="http://${BAREMETAL_IP}:8080/${RHCOS_QEMU_NAME}?sha256=${RHCOS_QEMU_UNCOMPRESSED_SHA256}"$ echo " bootstrapOSImage=${BOOTSTRAP_OS_IMAGE}"platform.baremetal下のinstall-config.yamlファイルに必要な設定を追加します。platform: baremetal: bootstrapOSImage: <bootstrap_os_image>1 - 1
<bootstrap_os_image>を$BOOTSTRAP_OS_IMAGEの値に置き換えます。
詳細は、Configuring the install-config.yaml file セクションを参照してください。