19.14. 単一ノードの OpenShift デプロイメント用のイメージの事前キャッシュ
GitOps ゼロタッチプロビジョニング (ZTP) ソリューションを使用して多数のクラスターをデプロイする、帯域幅が制限された環境では、OpenShift Container Platform のブートストラップとインストールに必要なすべてのイメージをダウンロードすることを避ける必要があります。リモートの単一ノードの OpenShift サイトでは帯域幅が制限されているため、デプロイに時間がかかる場合があります。factory-precaching-cli ツールを使用すると、ZTP プロビジョニングのためにサーバーをリモートサイトに出荷する前にサーバーを事前にステージングできます。
factory-precaching-cli ツールは次のことを行います。
- 最小限の ISO の起動に必要な RHCOS rootfs イメージをダウンロードします。
-
dataというラベルの付いたインストールディスクからパーティションを作成します。 - ディスクを xfs でフォーマットします。
- ディスクの最後に GUID パーティションテーブル (GPT) データパーティションを作成します。パーティションのサイズはツールで設定できます。
- OpenShift Container Platform のインストールに必要なコンテナーイメージをコピーします。
- OpenShift Container Platform をインストールするために ZTP が必要とするコンテナーイメージをコピーします。
- オプション: Day-2 Operator をパーティションにコピーします。
factory-precaching-cli ツールは、テクノロジープレビュー機能専用です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
19.14.1. factory-precaching-cli ツールの入手 リンクのコピーリンクがクリップボードにコピーされました!
factory-precaching-cli ツールの Go バイナリーは、Telco RAN tools container image で公開されています。コンテナーイメージ内の factory-precaching-cli ツール Go バイナリーは、podman を使用して RHCOS ライブイメージを実行しているサーバー上で実行されます。非接続環境で作業している場合、またはプライベートレジストリーがある場合は、そこにイメージをコピーして、イメージをサーバーにダウンロードできるようにする必要があります。
手順
次のコマンドを実行して、factory-precaching-cli ツールイメージをプルします。
podman pull quay.io/openshift-kni/telco-ran-tools:latest
# podman pull quay.io/openshift-kni/telco-ran-tools:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ツールが利用可能であることを確認するには、factory-precaching-cli ツール Go バイナリーの現在のバージョンを照会します。
podman run quay.io/openshift-kni/telco-ran-tools:latest -- factory-precaching-cli -v
# podman run quay.io/openshift-kni/telco-ran-tools:latest -- factory-precaching-cli -vCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
factory-precaching-cli version 20221018.120852+main.feecf17
factory-precaching-cli version 20221018.120852+main.feecf17Copy to Clipboard Copied! Toggle word wrap Toggle overflow
19.14.2. ライブオペレーティングシステムイメージからの起動 リンクのコピーリンクがクリップボードにコピーされました!
factory-precaching-cli ツールを使用して、1 つのディスクしか使用できず、外部ディスクドライブをサーバーに接続できないサーバーを起動できます。
RHCOS では、ディスクが RHCOS イメージで書き込まれようとしているときに、ディスクが使用されていない必要があります。
サーバーハードウェアに応じて、次のいずれかの方法を使用して、空のサーバーに RHCOS ライブ ISO をマウントできます。
- Dell サーバーで Dell RACADM ツールを使用する。
- HP サーバーで HPONCFG ツールを使用する。
- Redfish BMC API を使用する。
マウント手順を自動化することを推奨します。手順を自動化するには、必要なイメージをプルして、ローカル HTTP サーバーでホストする必要があります。
前提条件
- ホストの電源を入れた。
- ホストへのネットワーク接続がある。
この例の手順では、Redfish BMC API を使用して RHCOS ライブ ISO をマウントします。
RHCOS ライブ ISO をマウントします。
仮想メディアのステータスを確認します。
curl --globoff -H "Content-Type: application/json" -H \ "Accept: application/json" -k -X GET --user ${username_password} \ https://$BMC_ADDRESS/redfish/v1/Managers/Self/VirtualMedia/1 | python -m json.tool$ curl --globoff -H "Content-Type: application/json" -H \ "Accept: application/json" -k -X GET --user ${username_password} \ https://$BMC_ADDRESS/redfish/v1/Managers/Self/VirtualMedia/1 | python -m json.toolCopy to Clipboard Copied! Toggle word wrap Toggle overflow ISO ファイルを仮想メディアとしてマウントします。
curl --globoff -L -w "%{http_code} %{url_effective}\\n" -ku ${username_password} -H "Content-Type: application/json" -H "Accept: application/json" -d '{"Image": "http://[$HTTPd_IP]/RHCOS-live.iso"}' -X POST https://$BMC_ADDRESS/redfish/v1/Managers/Self/VirtualMedia/1/Actions/VirtualMedia.InsertMedia$ curl --globoff -L -w "%{http_code} %{url_effective}\\n" -ku ${username_password} -H "Content-Type: application/json" -H "Accept: application/json" -d '{"Image": "http://[$HTTPd_IP]/RHCOS-live.iso"}' -X POST https://$BMC_ADDRESS/redfish/v1/Managers/Self/VirtualMedia/1/Actions/VirtualMedia.InsertMediaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 仮想メディアから 1 回起動するように起動順序を設定します。
curl --globoff -L -w "%{http_code} %{url_effective}\\n" -ku ${username_password} -H "Content-Type: application/json" -H "Accept: application/json" -d '{"Boot":{ "BootSourceOverrideEnabled": "Once", "BootSourceOverrideTarget": "Cd", "BootSourceOverrideMode": "UEFI"}}' -X PATCH https://$BMC_ADDRESS/redfish/v1/Systems/Self$ curl --globoff -L -w "%{http_code} %{url_effective}\\n" -ku ${username_password} -H "Content-Type: application/json" -H "Accept: application/json" -d '{"Boot":{ "BootSourceOverrideEnabled": "Once", "BootSourceOverrideTarget": "Cd", "BootSourceOverrideMode": "UEFI"}}' -X PATCH https://$BMC_ADDRESS/redfish/v1/Systems/SelfCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- 再起動し、サーバーが仮想メディアから起動していることを確認します。
19.14.3. ディスクのパーティション設定 リンクのコピーリンクがクリップボードにコピーされました!
完全な事前キャッシュプロセスを実行するには、ライブ ISO から起動し、コンテナーイメージから factory-precaching-cli ツールを使用して、必要なすべてのアーティファクトを分割および事前キャッシュする必要があります。
プロビジョニング中にオペレーティングシステム (RHCOS) がデバイスに書き込まれるときにディスクが使用されていてはならないため、ライブ ISO または RHCOS ライブ ISO が必要です。この手順で単一ディスクサーバーを有効にすることもできます。
前提条件
- パーティショニングされていないディスクがある。
-
quay.io/openshift-kni/telco-ran-tools:latestイメージにアクセスできます。 - OpenShift Container Platform をインストールし、必要なイメージを事前キャッシュするのに十分なストレージがある。
手順
ディスクがクリアされていることを確認します。
lsblk
# lsblkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 93.8G 0 loop /run/ephemeral loop1 7:1 0 897.3M 1 loop /sysroot sr0 11:0 1 999M 0 rom /run/media/iso nvme0n1 259:1 0 1.5T 0 disk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 93.8G 0 loop /run/ephemeral loop1 7:1 0 897.3M 1 loop /sysroot sr0 11:0 1 999M 0 rom /run/media/iso nvme0n1 259:1 0 1.5T 0 diskCopy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルシステム、RAID、またはパーティションテーブルの署名をデバイスから消去します。
wipefs -a /dev/nvme0n1
# wipefs -a /dev/nvme0n1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
/dev/nvme0n1: 8 bytes were erased at offset 0x00000200 (gpt): 45 46 49 20 50 41 52 54 /dev/nvme0n1: 8 bytes were erased at offset 0x1749a955e00 (gpt): 45 46 49 20 50 41 52 54 /dev/nvme0n1: 2 bytes were erased at offset 0x000001fe (PMBR): 55 aa
/dev/nvme0n1: 8 bytes were erased at offset 0x00000200 (gpt): 45 46 49 20 50 41 52 54 /dev/nvme0n1: 8 bytes were erased at offset 0x1749a955e00 (gpt): 45 46 49 20 50 41 52 54 /dev/nvme0n1: 2 bytes were erased at offset 0x000001fe (PMBR): 55 aaCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ディスクが空でない場合、ツールはデバイスのパーティション番号 1 を使用してアーティファクトを事前キャッシュするため、失敗します。
19.14.3.1. パーティションの作成 リンクのコピーリンクがクリップボードにコピーされました!
デバイスの準備ができたら、単一のパーティションと GPT パーティションテーブルを作成します。パーティションは自動的に data としてラベル付けされ、デバイスの最後に作成されます。そうしないと、パーティションは coreos-installer によって上書きされます。
coreos-installer では、パーティションをデバイスの最後に作成し、data としてラベル付けする必要があります。RHCOS イメージをディスクに書き込むときにパーティションを保存するには、両方の要件が必要です。
前提条件
-
ホストデバイスがフォーマットされているため、コンテナーは
privilegedとして実行する必要があります。 -
コンテナー内でプロセスを実行できるように、
/devフォルダーをマウントする必要があります。
手順
次の例では、Day 2 Operator の DU プロファイルを事前キャッシュできるようにするため、パーティションのサイズは 250 GiB です。
コンテナーを
privilegedとして実行し、ディスクをパーティショニングします。podman run -v /dev:/dev --privileged \ --rm quay.io/openshift-kni/telco-ran-tools:latest -- \ factory-precaching-cli partition \ -d /dev/nvme0n1 \ -s 250
# podman run -v /dev:/dev --privileged \ --rm quay.io/openshift-kni/telco-ran-tools:latest -- \ factory-precaching-cli partition \1 -d /dev/nvme0n1 \2 -s 2503 Copy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージ情報を確認します。
lsblk
# lsblkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次の要件が満たされていることを確認する必要があります。
- デバイスには GPT パーティションテーブルがあります。
- パーティションは、デバイスの最新のセクターを使用します。
-
パーティションは
dataとして正しくラベル付けされています。
ディスクのステータスを照会して、ディスクが期待どおりにパーティショニングされていることを確認します。
gdisk -l /dev/nvme0n1
# gdisk -l /dev/nvme0n1
出力例
19.14.3.2. パーティションのマウント リンクのコピーリンクがクリップボードにコピーされました!
ディスクが正しくパーティショニングされていることを確認したら、デバイスを /mnt にマウントできます。
ZTP の準備中にそのマウントポイントが使用されるため、デバイスを /mnt にマウントすることを推奨します。
パーティションが
xfsとしてフォーマットされていることを確認します。lsblk -f /dev/nvme0n1
# lsblk -f /dev/nvme0n1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME FSTYPE LABEL UUID MOUNTPOINT nvme0n1 └─nvme0n1p1 xfs 1bee8ea4-d6cf-4339-b690-a76594794071
NAME FSTYPE LABEL UUID MOUNTPOINT nvme0n1 └─nvme0n1p1 xfs 1bee8ea4-d6cf-4339-b690-a76594794071Copy to Clipboard Copied! Toggle word wrap Toggle overflow パーティションをマウントします。
mount /dev/nvme0n1p1 /mnt/
# mount /dev/nvme0n1p1 /mnt/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
パーティションがマウントされていることを確認します。
lsblk
# lsblkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- RHCOS の
/mntフォルダーは/var/mntへのリンクであるため、マウントポイントは/var/mntです。
19.14.4. イメージのダウンロード リンクのコピーリンクがクリップボードにコピーされました!
factory-precaching-cli ツールを使用すると、パーティショニングされたサーバーに次のイメージをダウンロードできます。
- OpenShift Container Platform イメージ
- 5G RAN サイトの分散ユニット (DU) プロファイルに含まれる Operator イメージ
- 切断されたレジストリーからの Operator イメージ
使用可能な Operator イメージのリストは、OpenShift Container Platform リリースごとに異なる場合があります。
19.14.4.1. 並列ワーカーを使用したダウンロード リンクのコピーリンクがクリップボードにコピーされました!
factory-precaching-cli ツールは、並列ワーカーを使用して複数のイメージを同時にダウンロードします。--parallel または -p オプションを使用して、ワーカーの数を設定できます。デフォルトの数値は、サーバーで使用可能な CPU の 80% に設定されています。
ログインシェルが CPU のサブセットに制限されている可能性があります。その場合、コンテナーで使用できる CPU が減少します。この制限を取り除くには、コマンドの前に taskset 0xffffffff を付けます。次に例を示します。
taskset 0xffffffff podman run --rm quay.io/openshift-kni/telco-ran-tools:latest factory-precaching-cli download --help
# taskset 0xffffffff podman run --rm quay.io/openshift-kni/telco-ran-tools:latest factory-precaching-cli download --help
19.14.4.2. OpenShift Container Platform イメージのダウンロードの準備 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform コンテナーイメージをダウンロードするには、マルチクラスターエンジンのバージョンを知る必要があります。--du-profile フラグを使用する場合は、シングルノード OpenShift をプロビジョニングするハブクラスターで実行されている Red Hat Advanced Cluster Management (RHACM) のバージョンも指定する必要があります。
前提条件
- RHACM とマルチクラスターエンジン Operator がインストールされている。
- ストレージデバイスをパーティショニングしている。
- パーティショニングされたデバイスにイメージ用の十分なスペースがある。
- ベアメタルサーバーをインターネットに接続している。
- 有効なプルシークレットがあります。
手順
ハブクラスターで次のコマンドを実行して、RHACM バージョンとマルチクラスターエンジンバージョンを確認します。
oc get csv -A | grep -i advanced-cluster-management
$ oc get csv -A | grep -i advanced-cluster-managementCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
open-cluster-management advanced-cluster-management.v2.6.3 Advanced Cluster Management for Kubernetes 2.6.3 advanced-cluster-management.v2.6.3 Succeeded
open-cluster-management advanced-cluster-management.v2.6.3 Advanced Cluster Management for Kubernetes 2.6.3 advanced-cluster-management.v2.6.3 SucceededCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc get csv -A | grep -i multicluster-engine
$ oc get csv -A | grep -i multicluster-engineCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
multicluster-engine cluster-group-upgrades-operator.v0.0.3 cluster-group-upgrades-operator 0.0.3 Pending multicluster-engine multicluster-engine.v2.1.4 multicluster engine for Kubernetes 2.1.4 multicluster-engine.v2.0.3 Succeeded multicluster-engine openshift-gitops-operator.v1.5.7 Red Hat OpenShift GitOps 1.5.7 openshift-gitops-operator.v1.5.6-0.1664915551.p Succeeded multicluster-engine openshift-pipelines-operator-rh.v1.6.4 Red Hat OpenShift Pipelines 1.6.4 openshift-pipelines-operator-rh.v1.6.3 Succeeded
multicluster-engine cluster-group-upgrades-operator.v0.0.3 cluster-group-upgrades-operator 0.0.3 Pending multicluster-engine multicluster-engine.v2.1.4 multicluster engine for Kubernetes 2.1.4 multicluster-engine.v2.0.3 Succeeded multicluster-engine openshift-gitops-operator.v1.5.7 Red Hat OpenShift GitOps 1.5.7 openshift-gitops-operator.v1.5.6-0.1664915551.p Succeeded multicluster-engine openshift-pipelines-operator-rh.v1.6.4 Red Hat OpenShift Pipelines 1.6.4 openshift-pipelines-operator-rh.v1.6.3 SucceededCopy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナーレジストリーにアクセスするには、インストールするサーバーに有効なプルシークレットをコピーします。
.dockerフォルダーを作成します。mkdir /root/.docker
$ mkdir /root/.dockerCopy to Clipboard Copied! Toggle word wrap Toggle overflow config.jsonファイルの有効なプルを、以前に作成した.docker/フォルダーにコピーします。cp config.json /root/.docker/config.json
$ cp config.json /root/.docker/config.json1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
/root/.docker/config.jsonは、podmanがレジストリーのログイン認証情報をチェックするデフォルトのパスです。
別のレジストリーを使用して必要なアーティファクトをプルする場合は、適切なプルシークレットをコピーする必要があります。ローカルレジストリーが TLS を使用している場合は、レジストリーからの証明書も含める必要があります。
19.14.4.3. OpenShift Container Platform イメージのダウンロード リンクのコピーリンクがクリップボードにコピーされました!
factory-precaching-cli ツールを使用すると、特定の OpenShift Container Platform リリースをプロビジョニングするために必要なすべてのコンテナーイメージを事前キャッシュできます。
手順
次のコマンドを実行して、リリースを事前キャッシュします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
すべてのイメージがサーバーのターゲットフォルダーに圧縮されていることを確認します。
ls -l /mnt
$ ls -l /mnt1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
/mntフォルダーにイメージを事前キャッシュしておくことを推奨します。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
19.14.4.4. Operator イメージのダウンロード リンクのコピーリンクがクリップボードにコピーされました!
また、5G 無線アクセスネットワーク (RAN) 分散ユニット (DU) クラスター設定で使用される Day-2 Operator を事前キャッシュすることもできます。Day-2 Operator は、インストールされている OpenShift Container Platform のバージョンに依存します。
factory-precaching-cli ツールが RHACM およびマルチクラスターエンジン Operator の適切なコンテナーイメージを事前キャッシュできるように、--acm-version および --mce-version フラグを使用して、RHACM ハブおよびマルチクラスターエンジン Operator のバージョンを含める必要があります。
手順
Operator イメージを事前キャッシュします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
19.14.4.5. 非接続環境でのカスタムイメージの事前キャッシュ リンクのコピーリンクがクリップボードにコピーされました!
--generate-imageset 引数は、ImageSetConfiguration カスタムリソース (CR) が生成された後に factory-precaching-cli ツールを停止します。これにより、イメージをダウンロードする前に ImageSetConfiguration CR をカスタマイズできます。CR をカスタマイズしたら、--skip-imageset 引数を使用して、ImageSetConfiguration CR で指定したイメージをダウンロードできます。
次の方法で ImageSetConfiguration CR をカスタマイズできます。
- Operator と追加のイメージを追加
- Operator と追加のイメージを削除
- Operator とカタログソースをローカルまたは切断されたレジストリーに変更
手順
イメージを事前キャッシュします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- factory-precaching-cli ツールのダウンロード機能を指定します。
- 2
- OpenShift Container Platform リリースバージョンを定義します。
- 3
- RHACM バージョンを定義します。
- 4
- マルチクラスターエンジンのバージョンを定義します。
- 5
- ディスク上のイメージをダウンロードするフォルダーを定義します。
- 6
- オプション: 追加のイメージを保存するリポジトリーを定義します。これらのイメージはダウンロードされ、ディスクに事前キャッシュされます。
- 7
- DU 設定に含まれる Operator の事前キャッシュを指定します。
- 8
--generate-imageset引数はImageSetConfigurationCR のみを生成します。これにより、CR をカスタマイズできます。
出力例
Generated /mnt/imageset.yaml
Generated /mnt/imageset.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ImageSetConfiguration CR の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CR でカタログリソースをカスタマイズします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ローカルレジストリーまたは接続されていないレジストリーを使用してイメージをダウンロードする場合は、最初に、コンテンツの取得元のレジストリーの証明書を追加する必要があります。
エラーを回避するには、レジストリー証明書をサーバーにコピーします。
cp /tmp/eko4-ca.crt /etc/pki/ca-trust/source/anchors/.
# cp /tmp/eko4-ca.crt /etc/pki/ca-trust/source/anchors/.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次に、証明書トラストストアを更新します。
update-ca-trust
# update-ca-trustCopy to Clipboard Copied! Toggle word wrap Toggle overflow ホストの
/etc/pkiフォルダーを factory-cli イメージにマウントします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- factory-precaching-cli ツールのダウンロード機能を指定します。
- 2
- OpenShift Container Platform リリースバージョンを定義します。
- 3
- RHACM バージョンを定義します。
- 4
- マルチクラスターエンジンのバージョンを定義します。
- 5
- ディスク上のイメージをダウンロードするフォルダーを定義します。
- 6
- オプション: 追加のイメージを保存するリポジトリーを定義します。これらのイメージはダウンロードされ、ディスクに事前キャッシュされます。
- 7
- DU 設定に含まれる Operator の事前キャッシュを指定します。
- 8
--skip-imageset引数を使用すると、カスタマイズしたImageSetConfigurationCR で指定したイメージをダウンロードできます。
新しい
imageSetConfigurationCR を生成せずにイメージをダウンロードします。podman run -v /mnt:/mnt -v /root/.docker:/root/.docker --privileged --rm quay.io/openshift-kni/telco-ran-tools:latest -- factory-precaching-cli download -r 4.12.0 \ --acm-version 2.6.3 --mce-version 2.1.4 -f /mnt \ --img quay.io/custom/repository \ --du-profile -s \ --skip-imageset
# podman run -v /mnt:/mnt -v /root/.docker:/root/.docker --privileged --rm quay.io/openshift-kni/telco-ran-tools:latest -- factory-precaching-cli download -r 4.12.0 \ --acm-version 2.6.3 --mce-version 2.1.4 -f /mnt \ --img quay.io/custom/repository \ --du-profile -s \ --skip-imagesetCopy to Clipboard Copied! Toggle word wrap Toggle overflow
19.14.5. ZTP でのイメージの事前キャッシュ リンクのコピーリンクがクリップボードにコピーされました!
SiteConfig マニフェストは、OpenShift クラスターをインストールおよび設定する方法を定義します。ZTP プロビジョニングワークフローでは、factory-precaching-cli ツールは、SiteConfig マニフェストに次の追加フィールドを必要とします。
-
clusters.ignitionConfigOverride -
nodes.installerArgs -
nodes.ignitionConfigOverride
追加フィールドを含む SiteConfig の例
19.14.5.1. clusters.ignitionConfigOverride フィールドについて リンクのコピーリンクがクリップボードにコピーされました!
clusters.ignitionConfigOverride フィールドは、ZTP 検出段階で Ignition 形式の設定を追加します。この設定には、仮想メディアにマウントされた ISO の systemd サービスが含まれます。これにより、スクリプトが検出 RHCOS ライブ ISO の一部となり、アシステッドインストーラー (AI) イメージのロードにスクリプトを使用できるようになります。
systemdサービス-
systemdサービスはvar-mnt.mountとprecache-images.servicesです。precache-images.serviceは、var-mnt.mountユニットによって/var/mntにマウントされるディスクパーティションに依存します。このサービスは、extract-ai.shというスクリプトを呼び出します。 extract-ai.sh-
extract-ai.shスクリプトは、必要なイメージをディスクパーティションからローカルコンテナーストレージに展開してロードします。スクリプトが正常に終了したら、イメージをローカルで使用できます。 agent-fix-bz1964591-
agent-fix-bz1964591スクリプトは、AI の問題の回避策です。AI がイメージを削除して、agent.serviceがレジストリーからイメージを再度プルするように強制するのを防ぐために、agent-fix-bz1964591スクリプトは、要求されたコンテナーイメージが存在するかどうかを確認します。
19.14.5.2. nodes.installerArgs フィールドについて リンクのコピーリンクがクリップボードにコピーされました!
nodes.installerArgs フィールドでは、coreos-installer ユーティリティーが RHCOS ライブ ISO をディスクに書き込む方法を設定できます。data とラベル付けされたディスクパーティションを保存するよう指定する必要があります。これは、data パーティションに保存されたアーティファクトが OpenShift Container Platform のインストール段階で必要になるためです。
追加のパラメーターは、ライブ RHCOS をディスクに書き込む coreos-installer ユーティリティーに直接渡されます。次回の再起動時に、オペレーティングシステムはディスクから起動します。
coreos-installer ユーティリティーには、いくつかのオプションを渡すことができます。
19.14.5.3. nodes.ignitionConfigOverride フィールドについて リンクのコピーリンクがクリップボードにコピーされました!
clusters.ignitionConfigOverride と同様に、nodes.ignitionConfigOverride フィールドを使用すると、Ignition 形式の設定を coreos-installer ユーティリティーに追加できます。ただし、これを追加できるのは、OpenShift Container Platform のインストール段階です。RHCOS がディスクに書き込まれると、ZTP 検出 ISO に含まれる追加の設定は使用できなくなります。検出段階で、追加の設定はライブ OS のメモリーに保存されます。
この段階では、展開およびロードされたコンテナーイメージの数は、検出段階よりも多くなります。OpenShift Container Platform のリリースと、Day-2 Operators をインストールするかどうかによって、インストール時間は異なります。
インストール段階では、var-mnt.mount および precache-ocp.services systemd サービスが使用されます。
precache-ocp.serviceprecache-ocp.serviceは、var-mnt.mountユニットによって/var/mntにマウントされるディスクパーティションに依存します。precache-ocp.serviceサービスは、extract-ocp.shというスクリプトを呼び出します。重要OpenShift Container Platform のインストール前にすべてのイメージを展開するには、
machine-config-daemon-pull.serviceおよびnodeip-configuration.serviceサービスを実行する前にprecache-ocp.serviceを実行する必要があります。extract-ocp.sh-
extract-ocp.shスクリプトは、必要なイメージをディスクパーティションからローカルコンテナーストレージに展開してロードします。スクリプトが正常に終了したら、イメージをローカルで使用できます。
Argo CD が監視している Git リポジトリーに SiteConfig とオプションの PolicyGenTemplates カスタムリソース (CR) をアップロードすると、CR をハブクラスターと同期することで ZTP ワークフローを開始できます。
19.14.6. トラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
19.14.6.1. Rendered catalog is invalid リンクのコピーリンクがクリップボードにコピーされました!
ローカルまたは非接続レジストリーを使用してイメージをダウンロードすると、The rendered catalog is invalid というエラーが表示される場合があります。これは、コンテンツの取得元である新しいレジストリーの証明書が不足していることを意味します。
factory-precaching-cli ツールイメージは、UBI RHEL イメージ上に構築されています。証明書のパスと場所は RHCOS でも同じです。
エラーの例
手順
レジストリー証明書をサーバーにコピーします。
cp /tmp/eko4-ca.crt /etc/pki/ca-trust/source/anchors/.
# cp /tmp/eko4-ca.crt /etc/pki/ca-trust/source/anchors/.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 証明書トラストストアを更新します。
update-ca-trust
# update-ca-trustCopy to Clipboard Copied! Toggle word wrap Toggle overflow ホストの
/etc/pkiフォルダーを factory-cli イメージにマウントします。podman run -v /mnt:/mnt -v /root/.docker:/root/.docker -v /etc/pki:/etc/pki --privileged -it --rm quay.io/openshift-kni/telco-ran-tools:latest -- \ factory-precaching-cli download -r 4.11.5 --acm-version 2.5.4 \ --mce-version 2.0.4 -f /mnt \--img quay.io/custom/repository
# podman run -v /mnt:/mnt -v /root/.docker:/root/.docker -v /etc/pki:/etc/pki --privileged -it --rm quay.io/openshift-kni/telco-ran-tools:latest -- \ factory-precaching-cli download -r 4.11.5 --acm-version 2.5.4 \ --mce-version 2.0.4 -f /mnt \--img quay.io/custom/repository --du-profile -s --skip-imagesetCopy to Clipboard Copied! Toggle word wrap Toggle overflow