16.3. イメージベースのインストールを使用したシングルノード OpenShift のプリインストール
openshift-install
プログラムを使用して、ベアメタルホストにシングルノード OpenShift をプリインストールするためのライブインストール ISO を作成します。インストールプログラムのダウンロードの詳細は、「関連情報」セクションの「インストールプロセス」を参照してください。
インストールプログラムは、シードイメージの URL と、シードイメージのリリースバージョンやインストールプロセスに使用するディスクなどのその他の入力情報を受け取り、ライブインストール ISO を作成します。その後、ライブインストール ISO を使用してホストを起動し、プリインストールを開始できます。プリインストールが完了したら、最終的なサイト固有の設定とデプロイを行うために、ホストをリモートサイトに出荷できます。
以下は、イメージベースのインストールを使用してシングルノード OpenShift クラスターをプリインストールするための大まかな手順です。
- シードイメージを生成します。
-
openshift-install
インストールプログラムを使用してライブインストール ISO を作成します。 - ライブインストール ISO を使用してホストを起動し、ホストをプリインストールします。
関連情報
16.3.1. シングルノード OpenShift のイメージベースインストール用のライブインストール ISO を作成する
openshift-install
プログラムを使用して、シングルノード OpenShift のシードイメージの URL やその他のインストールアーティファクトをライブインストール ISO に埋め込むことができます。
image-based-installation-config.yaml
マニフェストの仕様の詳細は、「image-based-installation-config.yaml
マニフェストのリファレンス仕様」セクションを参照してください。
前提条件
- シングルノード OpenShift のシードクラスターからシードイメージを生成した。
-
openshift-install
プログラムをダウンロードした。openshift-install
プログラムのバージョンが、シードイメージ内の OpenShift Container Platform のバージョンと一致している。 - ターゲットホストが、シードイメージの URL と他のすべてのインストールアーティファクトにネットワークでアクセスできる。
-
静的ネットワークが必要な場合は、ライブインストール ISO を作成するホストに
nmstatectl
ライブラリーをインストールする必要があります。
手順
ライブインストール ISO を作成し、シングルノード OpenShift のシードイメージの URL とその他のインストールアーティファクトを埋め込みます。
次のコマンドを実行して作業ディレクトリーを作成します。
$ mkdir ibi-iso-workdir 1
- 1
ibi-iso-workdir
は、作業ディレクトリーの名前に置き換えます。
オプション:
ImageBasedInstallationConfig
リソースを設定するときにリファレンスとして使用するインストール設定テンプレートを作成します。$ openshift-install image-based create image-config-template --dir ibi-iso-workdir 1
- 1
- 作業ディレクトリーを指定しなかった場合、カレントディレクトリーが使用されます。
出力例
INFO Image-Config-Template created in: ibi-iso-workdir
このコマンドにより、ターゲットディレクトリーに
image-based-installation-config.yaml
インストール設定テンプレートが作成されます。# # Note: This is a sample ImageBasedInstallationConfig file showing # which fields are available to aid you in creating your # own image-based-installation-config.yaml file. # apiVersion: v1beta1 kind: ImageBasedInstallationConfig metadata: name: example-image-based-installation-config # The following fields are required seedImage: quay.io/openshift-kni/seed-image:4.17.0 seedVersion: 4.17.0 installationDisk: /dev/vda pullSecret: '<your_pull_secret>' # networkConfig is optional and contains the network configuration for the host in NMState format. # See https://nmstate.io/examples.html for examples. # networkConfig: # interfaces: # - name: eth0 # type: ethernet # state: up # mac-address: 00:00:00:00:00:00 # ipv4: # enabled: true # address: # - ip: 192.168.122.2 # prefix-length: 23 # dhcp: false
インストール設定ファイルを編集します。
image-based-installation-config.yaml
ファイルの例apiVersion: v1beta1 kind: ImageBasedInstallationConfig metadata: name: example-image-based-installation-config seedImage: quay.io/repo-id/seed:latest seedVersion: "4.17.0" extraPartitionStart: "-240G" installationDisk: /dev/disk/by-id/wwn-0x62c... sshKey: 'ssh-ed25519 AAAA...' pullSecret: '{"auths": ...}' networkConfig: interfaces: - name: ens1f0 type: ethernet state: up ipv4: enabled: true dhcp: false auto-dns: false address: - ip: 192.168.200.25 prefix-length: 24 ipv6: enabled: false dns-resolver: config: server: - 192.168.15.47 - 192.168.15.48 routes: config: - destination: 0.0.0.0/0 metric: 150 next-hop-address: 192.168.200.254 next-hop-interface: ens1f0
次のコマンドを実行してライブインストール ISO を作成します。
$ openshift-install image-based create image --dir ibi-iso-workdir
出力例
INFO Consuming Image-based Installation ISO Config from target directory INFO Creating Image-based Installation ISO with embedded ignition
検証
作業ディレクトリーで出力を確認します。
ibi-iso-workdir/ └── rhcos-ibi.iso
16.3.1.1. ターゲットホスト上の追加パーティションの設定
インストール ISO は、イメージベースのインストールプロセス中に、/var/lib/containers
ディレクトリーのパーティションを作成します。
coreosInstallerArgs
仕様を使用すると、追加のパーティションを作成できます。たとえば、十分なストレージ容量を備えたハードディスクに、論理ボリュームマネージャー (LVM) ストレージなどのストレージオプション用の追加パーティションが必要になる場合があります。
/var/lib/containers
パーティションには、事前キャッシュされたイメージに十分なディスク領域を確保するために、少なくとも 500 GB が必要です。追加のパーティションを作成する際には、/var/lib/containers
のパーティションよりも大きい開始位置を指定する必要があります。
手順
image-based-installation-config.yaml
ファイルを編集して、追加のパーティションを設定します。image-based-installation-config.yaml
ファイルの例apiVersion: v1beta1 kind: ImageBasedInstallationConfig metadata: name: example-extra-partition seedImage: quay.io/repo-id/seed:latest seedVersion: "4.17.0" installationDisk: /dev/sda pullSecret: '{"auths": ...}' # ... skipDiskCleanup: true 1 coreosInstallerArgs: - "--save-partindex" 2 - "6" 3 ignitionConfigOverride: | { "ignition": { "version": "3.2.0" }, "storage": { "disks": [ { "device": "/dev/sda", 4 "partitions": [ { "label": "storage", 5 "number": 6, 6 "sizeMiB": 380000, 7 "startMiB": 500000 8 } ] } ] } }
- 1
- インストールプロセス中にディスクのフォーマットをスキップするには、
true
を指定します。 - 2
- パーティションを保持するには、この引数を指定します。
- 3
- ライブインストール ISO には 5 つのパーティションが必要です。追加パーティションを保持するよう指定するには、5 より大きい数値を指定します。
- 4
- ターゲットホスト上のインストールディスクを指定します。
- 5
- パーティションのラベルを指定します。
- 6
- パーティションの番号を指定します。
- 7
- パーティションのサイズを MiB 単位で指定します。
- 8
- 追加パーティションのディスク上の開始位置を MiB 単位で指定します。
var/lib/containers
のパーティションよりも大きい開始位置を指定する必要があります。
検証
ライブインストール ISO を使用したホストのプリインストールが完了したら、ターゲットホストにログインし、次のコマンドを実行してパーティションを表示します。
$ lsblk
出力例
sda 8:0 0 140G 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 127M 0 part ├─sda3 8:3 0 384M 0 part /var/mnt/boot ├─sda4 8:4 0 120G 0 part /var/mnt ├─sda5 8:5 0 500G 0 part /var/lib/containers └─sda6 8:6 0 380G 0 part
16.3.2. ライブインストール ISO をホストにプロビジョニングする
任意の方法を使用して、rhcos-ibi.iso
ライブインストール ISO からターゲットのベアメタルホストを起動し、シングルノード OpenShift をプリインストールします。
検証
- ターゲットホストにログインします。
次のコマンドを実行してシステムログを表示します。
$ journalctl -b
出力例
Aug 13 17:01:44 10.46.26.129 install-rhcos-and-restore-seed.sh[2876]: time="2024-08-13T17:01:44Z" level=info msg="All the precaching threads have finished." Aug 13 17:01:44 10.46.26.129 install-rhcos-and-restore-seed.sh[2876]: time="2024-08-13T17:01:44Z" level=info msg="Total Images: 125" Aug 13 17:01:44 10.46.26.129 install-rhcos-and-restore-seed.sh[2876]: time="2024-08-13T17:01:44Z" level=info msg="Images Pulled Successfully: 125" Aug 13 17:01:44 10.46.26.129 install-rhcos-and-restore-seed.sh[2876]: time="2024-08-13T17:01:44Z" level=info msg="Images Failed to Pull: 0" Aug 13 17:01:44 10.46.26.129 install-rhcos-and-restore-seed.sh[2876]: time="2024-08-13T17:01:44Z" level=info msg="Completed executing pre-caching" Aug 13 17:01:44 10.46.26.129 install-rhcos-and-restore-seed.sh[2876]: time="2024-08-13T17:01:44Z" level=info msg="Pre-cached images successfully." Aug 13 17:01:44 10.46.26.129 install-rhcos-and-restore-seed.sh[2876]: time="2024-08-13 17:01:44" level=info msg="Skipping shutdown" Aug 13 17:01:44 10.46.26.129 install-rhcos-and-restore-seed.sh[2876]: time="2024-08-13 17:01:44" level=info msg="IBI preparation process finished successfully!" Aug 13 17:01:44 10.46.26.129 systemd[1]: var-lib-containers-storage-overlay.mount: Deactivated successfully. Aug 13 17:01:44 10.46.26.129 systemd[1]: Finished SNO Image-based Installation. Aug 13 17:01:44 10.46.26.129 systemd[1]: Reached target Multi-User System. Aug 13 17:01:44 10.46.26.129 systemd[1]: Reached target Graphical Interface.
16.3.3. image-based-installation-config.yaml マニフェストのリファレンス仕様
以下では、image-based-installation-config.yaml
マニフェストの仕様を説明します。
openshift-install
プログラムは、image-based-installation-config.yaml
マニフェストを使用して、シングルノード OpenShift のイメージベースインストール用のライブインストール ISO を作成します。
仕様 | 型 | 説明 |
---|---|---|
|
| ISO 生成プロセスで使用するシードイメージを指定します。 |
|
|
シードイメージの OpenShift Container Platform リリースバージョンを指定します。シードイメージ内のリリースバージョンが、この |
|
| インストールプロセスに使用するディスクを指定します。
ディスクの検出順序は保証されていないため、複数のディスクを持つマシンでは、起動オプションによってディスクのカーネル名が変わる可能性があります。たとえば、 |
|
| 事前キャッシュプロセス中に使用するプルシークレットを指定します。プルシークレットには、コンテナーレジストリーからリリースペイロードイメージをプルするための認証情報を含めます。 シードイメージに個別のプライベートレジストリー認証が必要な場合は、プルシークレットに認証の詳細を追加してください。 |
仕様 | 型 | 説明 |
---|---|---|
|
|
インストールプロセスの完了後にホストをシャットダウンするかどうかを指定します。デフォルト値は |
|
|
|
|
|
注記 インストール ISO のパーティションラベルが、シードイメージのマシン設定で設定されているパーティションラベルと一致していることを確認する必要があります。パーティションラベルが異なる場合、ホストへのインストール中にパーティションのマウントが失敗します。詳細は、「ostree stateroot 間の共有コンテナーパーティションの設定」を参照してください。 |
|
|
|
|
|
インストールプロセスでは、ホスト上のディスクがフォーマットされます。このステップをスキップするには、この仕様を 'true' に設定します。デフォルトは |
|
| ホストのネットワーク設定を指定します。次に例を示します。 networkConfig: interfaces: - name: ens1f0 type: ethernet state: up ...
静的ネットワークが必要な場合は、ライブインストール ISO を作成するホストに 重要 インターフェイスの名前は、オペレーティングシステムに表示される実際の NIC 名と同じである必要があります。 |
|
| インストール ISO 生成中に使用するプロキシー設定を指定します。次に例を示します。 proxy: httpProxy: "http://proxy.example.com:8080" httpsProxy: "http://proxy.example.com:8080" noProxy: "no_proxy.example.com" |
|
| リリースイメージコンテンツのソースまたはリポジトリーを指定します。次に例を示します。 imageDigestSources: - mirrors: - "registry.example.com:5000/ocp4/openshift4" source: "quay.io/openshift-release-dev/ocp-release" |
|
|
PEM でエンコードされた X.509 証明書バンドルを指定します。インストールプログラムは、これをインストール ISO の additionalTrustBundle: | -----BEGIN CERTIFICATE----- MTICLDCCAdKgAwfBAgIBAGAKBggqhkjOPQRDAjB9MQswCQYRVEQGE ... l2wOuDwKQa+upc4GftXE7C//4mKBNBC6Ty01gUaTIpo= -----END CERTIFICATE----- |
|
| ホストへのアクセスを認証するための SSH 鍵を指定します。 |
|
| Ignition 設定のユーザーオーバーライドを含む JSON 文字列を指定します。この設定は、インストールプログラムによって生成される Ignition 設定ファイルとマージされます。この機能には、Ignition バージョン 3.2 以降が必要です。 |
|
|
カーネル引数とディスクパーティションオプションを設定するために使用できる |