Agent-based Installer を使用したオンプレミスクラスターのインストール
Agent-based Installer を使用してオンプレミスの OpenShift Container Platform クラスターをインストールする
概要
第1章 Agent-based Installer を使用したインストールの準備 リンクのコピーリンクがクリップボードにコピーされました!
1.1. Agent-based Installer について リンクのコピーリンクがクリップボードにコピーされました!
エージェントベースのインストール方法では、選択した任意の方法でオンプレミスサーバーを柔軟に起動できます。Assisted Installation サービスの使いやすさと、エアギャップ環境を含むオフラインでの実行機能を兼ね備えています。エージェントベースのインストールは、OpenShift Container Platform インストーラーのサブコマンドです。OpenShift Container Platform クラスターをデプロイするために必要なすべての情報を含む起動可能な ISO イメージを、利用可能なリリースイメージと共に生成します。
設定は、installer-provisioned infrastructure および user-provisioned infrastructure のインストール方法と同じ形式です。Agent-based Installer は、必要に応じてゼロタッチプロビジョニング (ZTP) カスタムリソースを生成または受け入れることもできます。ZTP を使用すると、ベアメタル機器の宣言型設定で新しいエッジサイトをプロビジョニングできます。
1.2. エージェントベースのインストーラーについて リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform ユーザーは、切断された環境で Assisted Installer のホストサービスの利点を活用できます。
エージェントベースのインストールは、Assisted Discovery Agent と Assisted Service を含む起動可能な ISO で構成されます。クラスターのインストールを実行するには両方が必要ですが、後者はいずれかのホストでのみ実行されます。
openshift-install agent create image
サブコマンドは、指定した入力をもとに一時 ISO を生成します。以下のマニフェストで入力を指定できます。
推奨:
-
install-config.yaml
-
agent-config.yaml
または
オプション: ZTP マニフェスト
-
cluster-manifests/cluster-deployment.yaml
-
cluster-manifests/agent-cluster-install.yaml
-
cluster-manifests/pull-secret.yaml
-
cluster-manifests/infraenv.yaml
-
cluster-manifests/cluster-image-set.yaml
-
cluster-manifests/nmstateconfig.yaml
-
mirror/registries.conf
-
mirror/ca-bundle.crt
1.2.1. Agent-based Installer のワークフロー リンクのコピーリンクがクリップボードにコピーされました!
コントロールプレーンホストの 1 つは、ブートプロセスの開始時に Assisted Service を実行し、最終的にブートストラップホストになります。このノードを ランデブーホスト (ノード 0) と呼びます。Assisted Service は、すべてのホストが要件を満たしていることを確認し、OpenShift Container Platform クラスターのデプロイをトリガーします。すべてのノードで Red Hat Enterprise Linux CoreOS (RHCOS) イメージがディスクに書き込まれます。ブートストラップ以外のノードは再起動し、クラスターデプロイメントを開始します。ノードが再起動されると、ランデブーホストが再起動し、クラスターに参加します。ブートストラップが完了し、クラスターがデプロイされます。
図1.1 ノードのインストールワークフロー
以下のトポロジーでは、openshift-install agent create image
サブコマンドを使用して、ネットワークに接続されていない OpenShift Container Platform クラスターをインストールできます。
- 単一ノードの OpenShift Container Platform クラスター (SNO): マスターとワーカーの両方であるノード。
- 3 ノードの OpenShift Container Platform クラスター: ワーカーノードでもある 3 つのマスターノードを持つコンパクトなクラスター。
- 高可用性 OpenShift Container Platform クラスター (HA): 任意の数のワーカーノードを持つ 3 つのマスターノード。
1.2.2. 各トポロジーに推奨されるリソース リンクのコピーリンクがクリップボードにコピーされました!
以下の各トポロジーに推奨されるクラスターリソースを示します。
トポロジー | マスターノードの数 | ワーカーノードの数 | vCPU | メモリー | ストレージ |
---|---|---|---|---|---|
シングルノードクラスター | 1 | 0 | 仮想 CPU 8 個 | 16GB の RAM | 120GB |
コンパクトなクラスター | 3 | 0 または 1 | 仮想 CPU 8 個 | 16GB の RAM | 120GB |
HA クラスター | 3 | 2 以降 | 仮想 CPU 8 個 | 16GB の RAM | 120GB |
以下のプラットフォームがサポートされます。
-
baremetal
-
vsphere
none
注記none
オプションは、OVNKubernetes
ネットワークタイプを持つ単一ノードの OpenShift クラスターでのみサポートされます。
1.3. FIPS 準拠について リンクのコピーリンクがクリップボードにコピーされました!
多くの OpenShift Container Platform のお客様においては、システムが実稼働環境で使用される前に、一定レベルでの規制への対応またはコンプライアンスが必要になります。この規制対応は、国家標準、業界標準または組織の企業ガバナンスフレームワークによって課せられます。FIPS (Federal Information Processing Standards) コンプライアンスは、安全な環境で必要とされる最も重要なコンポーネントの 1 つであり、サポートされている暗号化技術のみがノード上で許可されるようにします。
クラスターで FIPS モードを有効にするには、FIPS モードで動作するように設定された Red Hat Enterprise Linux (RHEL) コンピューターからインストールプログラムを実行する必要があります。RHEL での FIPS モードの設定の詳細は、FIPS モードでのシステムのインストール を参照してください。FIPS 検証済み/Modules in Process 暗号ライブラリーの使用は、x86_64
、ppc64le
、および s390x
アーキテクチャー上の OpenShift Container Platform デプロイメントでサポートされます。
1.4. エージェントベースのインストーラーによる FIPS の設定 リンクのコピーリンクがクリップボードにコピーされました!
クラスターのデプロイ中に、Red Hat Enterprise Linux CoreOS (RHCOS) マシンがクラスターにデプロイされると、連邦情報処理標準 (FIPS) の変更が適用されます。Red Hat Enterprise Linux (RHEL) マシンでは、ワーカーマシンとして使用する予定のマシンにオペレーティングシステムをインストールする場合に FIPS モードを有効にする必要があります。
install-config.yaml
および agent-config.yaml
の推奨される方法で FIPS モードを有効にできます。
install-config.yaml
ファイルでfips
フィールドの値をTrue
に設定する必要があります。サンプル install-config.yaml.file
apiVersion: v1 baseDomain: test.example.com metadata: name: sno-cluster fips: True
apiVersion: v1 baseDomain: test.example.com metadata: name: sno-cluster fips: True
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: ZTP マニフェストを使用している場合、
agent-cluster-install.yaml
ファイルのAgent-install.openshift.io/install-config-overrides
フィールドでfips
の値をTrue
に設定する必要があります。サンプルの agent-cluster-install.yaml ファイル
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.5. ネットワーキングについて リンクのコピーリンクがクリップボードにコピーされました!
最初の起動時にすべてのホストが支援サービスにチェックインできるように、ランデブー IP はエージェント ISO の生成時に認識されている必要があります。IP アドレスが動的ホスト設定プロトコル (DHCP) サーバーを使用して割り当てられている場合、rendezvousIP
フィールドは、デプロイメントされたコントロールプレーンの一部になるホストの 1 つの IP アドレスに設定する必要があります。DHCP サーバーがない環境では、IP アドレスを静的に定義できます。
静的 IP アドレスに加えて、NMState 形式の任意のネットワーク設定を適用できます。これには、VLAN と NIC ボンディングが含まれます。
1.5.1. DHCP リンクのコピーリンクがクリップボードにコピーされました!
推奨される方法: install-config.yaml
および agent-config.yaml
rendezvousIP
フィールドの値を指定する必要があります。networkConfig
フィールドは空白のままにすることができます。
agent-config.yaml.file のサンプル
apiVersion: v1alpha1 kind: AgentConfig metadata: name: sno-cluster rendezvousIP: 192.168.111.80
apiVersion: v1alpha1
kind: AgentConfig
metadata:
name: sno-cluster
rendezvousIP: 192.168.111.80
- 1
- ランデブーホストの IP アドレス。
1.5.2. 静的ネットワーキング リンクのコピーリンクがクリップボードにコピーされました!
推奨される方法:
install-config.yaml
およびagent-config.yaml
agent-config.yaml.file のサンプル
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
rendezvousIP
フィールドに値が指定されていない場合、networkConfig
フィールドで指定された静的 IP アドレスから 1 つのアドレスが選択されます。- 2
- 設定を適用するホストを決定するために使用される、ホスト上のインターフェイスの MAC アドレス。
- 3
- ターゲットのベアメタルホストの静的 IP アドレス。
- 4
- ターゲットのベアメタルホストの静的 IP アドレスのサブネット接頭辞。
- 5
- ターゲットのベアメタルホストの DNS サーバー。
- 6
- ノードトラフィックのネクストホップアドレス。これは、指定されたインターフェイスに設定される IP アドレスと同じサブネットにある必要があります。
オプションの方法: ZTP マニフェスト
ZTP カスタムリソースのオプションの方法は、6 つのカスタムリソースで構成されます。静的 IP は
nmstateconfig.yaml
で設定できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ランデブー IP は、config
フィールドで指定された静的 IP アドレスから選択されます。
1.6. 例: ボンディングと VLAN インターフェイスノードのネットワーク設定 リンクのコピーリンクがクリップボードにコピーされました!
次の agent-config.yaml
ファイルは、ボンディングおよび VLAN インターフェイスのマニフェストの例です。
- 1 3
- インターフェイスの名前。
- 2
- インターフェイスのタイプ。以下の例では VLAN を作成します。
- 4
- インターフェイスのタイプ。この例では、ボンドを作成します。
- 5
- インターフェイスの MAC アドレス。
- 6
mode
属性は、ボンドモードを指定します。- 7
- MII リンクの監視頻度をミリ秒単位で指定します。この例では、ボンディングリンクを 150 ミリ秒ごとに検査します。
- 8
- オプション:DNS サーバーの検索およびサーバー設定を指定します。
- 9
- ノードトラフィックのネクストホップアドレス。これは、指定されたインターフェイスに設定される IP アドレスと同じサブネットにある必要があります。
- 10
- ノードトラフィックのネクストホップインターフェイス。
1.7. ベアメタルのサンプル install-config.yaml ファイル リンクのコピーリンクがクリップボードにコピーされました!
install-config.yaml
ファイルをカスタマイズして、OpenShift Container Platform クラスターのプラットフォームに関する詳細を指定するか、必要なパラメーターの値を変更することができます。
- 1
- クラスターのベースドメイン。すべての DNS レコードはこのベースのサブドメインである必要があり、クラスター名が含まれる必要があります。
- 2 4
controlPlane
セクションは単一マッピングですが、compute
セクションはマッピングのシーケンスになります。複数の異なるデータ構造の要件を満たすには、compute
セクションの最初の行はハイフン-
で始め、controlPlane
セクションの最初の行はハイフンで始めることができません。1 つのコントロールプレーンプールのみが使用されます。- 3
- このパラメーターは、インストールプロセスをトリガーする前に、エージェントベースのインストールが検出を待機するコンピュートマシンの数を制御します。これは、生成された ISO で起動する必要があるコンピューティングマシンの数です。注記
3 ノードクラスターをインストールする場合は、Red Hat Enterprise Linux CoreOS (RHCOS) マシンをインストールする際にコンピュートマシンをデプロイしないでください。
- 5
- クラスターに追加するコントロールプレーンマシンの数。クラスターをこれらの値をクラスターの etcd エンドポイント数として使用するため、値はデプロイするコントロールプレーンマシンの数に一致する必要があります。
- 6
- DNS レコードに指定したクラスター名。
- 7
- Pod IP アドレスの割り当てに使用する IP アドレスのブロック。このブロックは既存の物理ネットワークと重複できません。これらの IP アドレスは Pod ネットワークに使用されます。外部ネットワークから Pod にアクセスする必要がある場合、ロードバランサーおよびルーターを、トラフィックを管理するように設定する必要があります。注記
クラス E の CIDR 範囲は、将来の使用のために予約されています。クラス E CIDR 範囲を使用するには、ネットワーク環境がクラス E CIDR 範囲内の IP アドレスを受け入れるようにする必要があります。
- 8
- それぞれの個別ノードに割り当てるサブネット接頭辞長。たとえば、
hostPrefix
が23
に設定されている場合、各ノードに指定のcidr
から/23
サブネットが割り当てられます。これにより、510 (2^(32 - 23) - 2) Pod IP アドレスが許可されます。外部ネットワークからのノードへのアクセスを提供する必要がある場合には、ロードバランサーおよびルーターを、トラフィックを管理するように設定します。 - 9
- インストールするクラスターネットワークプラグイン。サポートされている値は
OVNKubernetes
(デフォルト値) とOpenShiftSDN
です。 - 10
- サービス IP アドレスに使用する IP アドレスプール。1 つの IP アドレスプールのみを入力できます。このブロックは既存の物理ネットワークと重複できません。外部ネットワークからサービスにアクセスする必要がある場合、ロードバランサーおよびルーターを、トラフィックを管理するように設定します。
- 11
- 単一ノードクラスターの場合は、プラットフォームを
none
に設定しなくてはなりません。プラットフォームvsphere
とbaremetal
は、マルチノードクラスターの場合に設定可能です。注記プラットフォームを
vsphere
またはbaremetal
に設定すると、次の 3 つの方法でクラスターノードの IP アドレスエンドポイントを設定できます。- IPv4
- IPv6
- IPv4 と IPv6 の並列 (デュアルスタック)
デュアルスタックネットワーキングの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 12
- FIPS モードを有効または無効にするかどうか。デフォルトでは、FIPS モードは有効にされません。FIPS モードが有効にされている場合、OpenShift Container Platform が実行される Red Hat Enterprise Linux CoreOS (RHCOS) マシンがデフォルトの Kubernetes 暗号スイートをバイパスし、代わりに RHCOS で提供される暗号モジュールを使用します。重要
FIPS 検証済み/Modules In Process 暗号ライブラリーの使用は、
x86_64
、ppc64le
、およびs390x
アーキテクチャー上の OpenShift Container Platform デプロイメントでのみサポートされます。 - 13
- このプルシークレットを使用し、OpenShift Container Platform コンポーネントのコンテナーイメージを提供する Quay.io など、組み込まれた各種の認証局によって提供されるサービスで認証できます。
- 14
- Red Hat Enterprise Linux CoreOS (RHCOS) の
core
ユーザーの SSH 公開鍵。注記インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、
ssh-agent
プロセスが使用する SSH キーを指定します。
1.8. agent.ISO の作成前の検証チェック リンクのコピーリンクがクリップボードにコピーされました!
Agent-based Installer は、ISO が作成される前に、ユーザー定義の YAML ファイルに対して検証チェックを実行します。検証に成功すると、agent.ISO が作成されます。
install-config.yaml
-
baremetal
、vsphere
、およびnone
プラットフォームがサポートされています。 -
プラットフォームに
none
が使用されている場合には、コントロールプレーンレプリカの数は1
で、ワーカーレプリカの合計数は0
である必要があります。 -
none
プラットフォームの場合、networkType
パラメーターはOVNKubernetes
である必要があります。 -
apiVIPs
およびingressVIPs
パラメーターは、ベアメタルおよび vSphere プラットフォームに設定する必要があります。 -
agent-config.yaml
ファイルに相当するベアメタルプラットフォーム設定の一部のホスト固有フィールドは無視されます。これらのフィールドが設定されている場合、警告メッセージがログに記録されます。
agent-config.yaml
- 各インターフェイスには、定義された MAC アドレスが必要です。また、すべてのインターフェイスに異なる MAC アドレスが必要です。
- ホストごとに少なくとも 1 つのインターフェイスを定義する必要があります。
- World Wide Name (WWN) ベンダーエクステンションは、ルートデバイスのヒントではサポートされません。
-
host
オブジェクトのrole
パラメーターの値はmaster
またはworker
のいずれかである必要があります。
1.8.1. ZTP マニフェスト リンクのコピーリンクがクリップボードにコピーされました!
agent-cluster-install.yaml
-
IPv6 の場合、
networkType
パラメーターでサポートされる唯一の値はOVNKubernetes
です。OpenShiftSDN
値は、IPv4 にのみ使用できます。
cluster-image-set.yaml
-
ReleaseImage
パラメーターは、インストーラーで定義されるリリースと一致する必要があります。
1.9. ルートデバイスヒントについて リンクのコピーリンクがクリップボードにコピーされました!
rootDeviceHints
パラメーターは、インストーラーが Red Hat Enterprise Linux CoreOS (RHCOS) イメージを特定のデバイスにプロビジョニングできるようにします。インストーラーは、検出順にデバイスを検査し、検出された値をヒントの値と比較します。インストーラーは、ヒント値に一致する最初に検出されたデバイスを使用します。この設定は複数のヒントを組み合わせることができますが、デバイスは、インストーラーがこれを選択できるようにすべてのヒントに一致する必要があります。
サブフィールド | 説明 |
---|---|
|
|
|
|
| ベンダー固有のデバイス識別子を含む文字列。ヒントは、実際の値のサブ文字列になります。 |
| デバイスのベンダーまたは製造元の名前が含まれる文字列。ヒントは、実際の値のサブ文字列になります。 |
| デバイスのシリアル番号を含む文字列。ヒントは、実際の値と完全に一致する必要があります。 |
| デバイスの最小サイズ (ギガバイト単位) を表す整数。 |
|
一意のストレージ ID を含む文字列。ヒントは、実際の値と完全に一致する必要があります。 |
| デバイスがローテーションするディスクである (true) か、そうでないか (false) を示すブール値。 |
使用例
- name: master-0 role: master rootDeviceHints: deviceName: "/dev/sda"
- name: master-0
role: master
rootDeviceHints:
deviceName: "/dev/sda"
1.10. 次のステップ リンクのコピーリンクがクリップボードにコピーされました!
第2章 切断されたインストールのミラーリングについて リンクのコピーリンクがクリップボードにコピーされました!
切断されたインストールにミラーレジストリーを使用して、クラスターが外部コンテンツに対する組織の制御を満たすコンテナーイメージのみを使用するようにすることができます。ネットワークが切断された環境でプロビジョニングするインフラストラクチャーにクラスターをインストールする前に、必要なコンテナーイメージをその環境にミラーリングする必要があります。コンテナーイメージをミラーリングするには、ミラーリング用のレジストリーが必要です。
2.1. Agent-based Installer による非接続インストールのイメージのミラーリング リンクのコピーリンクがクリップボードにコピーされました!
以下の手順のいずれかを使用して、OpenShift Container Platform イメージリポジトリーをミラーレジストリーにミラーリングできます。
2.2. 切断されたレジストリーの OpenShift Container Platform イメージリポジトリーのミラーリング リンクのコピーリンクがクリップボードにコピーされました!
Agent-based Installer による非接続インストールにミラーイメージを使用するには、install-config.yaml
ファイルを変更する必要があります。
oc adm release mirror
または oc mirror
コマンドの出力を使用して、リリースイメージをミラーリングできます。これは、ミラーレジストリーの設定に使用したコマンドによって異なります。
次の例は、oc adm release mirror
コマンドの出力を示しています。
oc adm release mirror
$ oc adm release mirror
出力例
次の例は、oc-mirror プラグインによって生成された imageContentSourcePolicy.yaml
ファイルの一部を示しています。このファイルは結果ディレクトリーにあります (例: oc-mirror-workspace/results-1682697932/
)。
imageContentSourcePolicy.yaml
ファイルの例
2.2.1. ミラーリングされたイメージを使用するように Agent-based Installer を設定する リンクのコピーリンクがクリップボードにコピーされました!
ミラーリングされたイメージを使用するように Agent-based Installer を設定するには、oc adm release mirror
コマンドまたは oc-mirror プラグインの出力を使用する必要があります。
手順
oc-mirror プラグインを使用してリリースイメージをミラーリングした場合:
-
結果ディレクトリーにある
imageContentSourcePolicy.yaml
を開きます (例:oc-mirror-workspace/results-1682697932/
)。 -
yaml ファイルの
repositoryDigestMirrors
セクションのテキストをコピーします。
-
結果ディレクトリーにある
oc adm release mirror
コマンドを使用してリリースイメージをミラーリングした場合:-
コマンド出力の
imageContentSources
セクションのテキストをコピーします。
-
コマンド出力の
-
コピーしたテキストを
install-config.yaml
ファイルのimageContentSources
フィールドに貼り付けます。 ミラーレジストリーに使用される証明書ファイルを yaml ファイルの
additionalTrustBundle
フィールドに追加します。重要この値は、ミラーレジストリーに使用した証明書ファイルの内容である必要があります。証明書ファイルは、既存の信頼できる認証局、またはミラーレジストリー用に生成した自己署名証明書のいずれかです。
install-config.yaml
ファイルの例additionalTrustBundle: | -----BEGIN CERTIFICATE----- ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ -----END CERTIFICATE-----
additionalTrustBundle: | -----BEGIN CERTIFICATE----- ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ -----END CERTIFICATE-----
Copy to Clipboard Copied! Toggle word wrap Toggle overflow {ztp} マニフェストを使用している場合:
registries.conf
およびca-bundle.crt
ファイルをmirror
パスに追加して、エージェント ISO イメージにミラー設定を追加します。注記oc adm release Mirror
コマンドまたはoc Mirror
プラグインの出力からregistries.conf
ファイルを作成できます。/etc/containers/registries.conf
ファイルの形式が変更されました。現在のバージョンはバージョン 2 で、TOML 形式です。registries.conf
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第3章 Agent-based Installer を使用した OpenShift Container Platform クラスターのインストール リンクのコピーリンクがクリップボードにコピーされました!
3.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- OpenShift Container Platform のインストールおよび更新 プロセスの詳細を確認している。
- クラスターインストール方法の選択およびそのユーザー向けの準備 を確認している。
- ファイアウォールまたはプロキシーを使用する場合は、クラスター がアクセスを必要とする サイトを許可するように設定 している。
3.2. Agent-based Installer を使用した OpenShift Container Platform のインストール リンクのコピーリンクがクリップボードにコピーされました!
以下の手順では、切断された環境で単一ノードの OpenShift Container Platform をデプロイします。この手順はベースとして使用し、要件に応じて変更できます。
手順
- ログイン認証情報を使用して OpenShift Container Platform Web コンソールにログインします。
データセンター に移動します。
- Run Agent-based Installer locally をクリックします。Install OpenShift Container Platform on Bare Metal locally with Agent ページに移動します。
オプション: または、Select an OpenShift Container Platform cluster type to create ページで Bare Metal (x86_64) をクリックすることもできます。Create an OpenShift Container Platform Cluster: Bare Metal ページに移動します。次に、Local Agent-based を選択して Install OpenShift Container Platform on Bare Metal Local with Agent ページに移動します。
- オペレーティングシステムとアーキテクチャーを選択します。
- Download Installer をクリックして、インストールプログラムをダウンロードして展開します。
- Download pull secret または Copy pull secret をクリックして、プルシークレットをダウンロードまたはコピーできます。
-
Download command-line tools をクリックし、
openshift-install
バイナリーをPATH
上のディレクトリーに配置します。 以下のコマンドを実行して
nmstate
の依存関係をインストールします。sudo dnf install /usr/bin/nmstatectl -y
$ sudo dnf install /usr/bin/nmstatectl -y
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
PATH にあるディレクトリーに
openshift-install
バイナリーを配置します。 次のコマンドを実行して、インストール設定を保存するディレクトリーを作成します。
mkdir ~/<directory_name>
$ mkdir ~/<directory_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記これは、エージェントベースのインストールで推奨される方法です。ZTP マニフェストの使用はオプションです。
install-config.yaml
ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記プラットフォームを
vSphere
またはbaremetal
に設定すると、クラスターノードの IP アドレスエンドポイントを次の 3 つの方法で設定できます。- IPv4
- IPv6
- IPv4 と IPv6 の並列 (デュアルスタック)
デュアルスタックネットワーキングの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow IPv6 は、ベアメタルプラットフォームでのみサポートされます。
agent-config.yaml
ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- この IP アドレスは、ブートストラッププロセスを実行するノードや、
assisted-service
コンポーネントを実行するノードを判別するために使用されます。networkConfig
パラメーターで少なくとも 1 つのホストの IP アドレスを指定しない場合は、ランデブー IP アドレスを指定する必要があります。このアドレスが指定されていない場合、指定されたホストのnetworkConfig
から 1 つの IP アドレスが選択されます。 - 2
- ホスト設定はオプションです。定義されたホストの数は、
install-config.yaml
ファイルで定義されたホストの総数 (compute.replicas
およびcontrolPlane.replicas
パラメーターの値の合計) を超えてはなりません。 - 3
- オプションの
hostname
パラメーターは、動的ホスト設定プロトコル (DHCP) または逆引き DNS ルックアップから取得したホスト名をオーバーライドします。各ホストには、これらの方法のいずれかによって提供される一意のホスト名が必要です。 - 4
rootDeviceHints
パラメーターは、Red Hat Enterprise Linux CoreOS (RHCOS) イメージを特定のデバイスにプロビジョニングできるようにします。これは、検出順にデバイスを検査し、検出された値をヒントの値と比較します。ヒントの値と一致する最初に検出されたデバイスが使用されます。- 5
- ホストのネットワークインターフェイスを NMState 形式で設定するには、このオプションパラメーターを設定します。
以下のコマンドを実行して agent イメージを作成します。
openshift-install --dir <install_directory> agent create image
$ openshift-install --dir <install_directory> agent create image
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Red Hat Enterprise Linux CoreOS (RHCOS) はプライマリーディスクでのマルチパスをサポートするようになり、ハードウェア障害に対する対障害性が強化され、ホストの可用性を強化できるようになりました。マルチパス化は、デフォルトの
/etc/multipath.conf
設定を使用して、agent.iSO イメージでデフォルトで有効になっています。-
ベアメタルマシンで
agent.x86_64.iso
イメージを起動します。 オプション: ブートストラップホスト (ランデブーホスト) がいつ再起動するかを知るには、次のコマンドを実行します。
./openshift-install --dir <install_directory> agent wait-for bootstrap-complete \ --log-level=info
$ ./openshift-install --dir <install_directory> agent wait-for bootstrap-complete \
1 --log-level=info
2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
................................................................... ................................................................... INFO Bootstrap configMap status is complete INFO cluster bootstrap is complete
................................................................... ................................................................... INFO Bootstrap configMap status is complete INFO cluster bootstrap is complete
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes API サーバーでこれがコントロールプレーンマシンにブートストラップされていることを示すシグナルが出されるとコマンドは成功します。
進捗状況を追跡し、正常なインストールを確認するには、以下のコマンドを実行します。
openshift-install --dir <install_directory> agent wait-for install-complete
$ openshift-install --dir <install_directory> agent wait-for install-complete
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<install_directory>
directory には、エージェント ISO が生成されたディレクトリーへのパスを指定します。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ZTP マニフェストのオプションの方法を使用している場合、次の 3 つの方法で AgentClusterInstall.yaml
ファイルを介してクラスターノードの IP アドレスエンドポイントを設定できます。
- IPv4
- IPv6
- IPv4 と IPv6 の並列 (デュアルスタック)
デュアルスタックネットワーキングの例
IPv6 は、ベアメタルプラットフォームでのみサポートされます。
3.3. 失敗したエージェントベースのインストールからログデータを収集する リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、失敗したエージェントベースのインストールに関するログデータを収集し、サポートケースで提供できるよう備えます。
手順
次のコマンドを実行し、出力を収集します。
./openshift-install --dir <install_directory> agent wait-for bootstrap-complete --log-level=debug
$ ./openshift-install --dir <install_directory> agent wait-for bootstrap-complete --log-level=debug
Copy to Clipboard Copied! Toggle word wrap Toggle overflow エラーメッセージの例
... ERROR Bootstrap failed to complete: : bootstrap process timed out: context deadline exceeded
... ERROR Bootstrap failed to complete: : bootstrap process timed out: context deadline exceeded
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前のコマンドの出力が失敗を示している場合、またはブートストラップが進まない場合は、ノード 0 で次のコマンドを実行し、出力を収集します。
ssh core@<node-ip> sudo /usr/local/bin/agent-gather -O > <local_tmp_path>/agent-gather.tar.xz
$ ssh core@<node-ip> sudo /usr/local/bin/agent-gather -O > <local_tmp_path>/agent-gather.tar.xz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記データを収集する必要があるのはノード 0 だけですが、すべてのノードからこのデータを収集すると役立ちます。
ブートストラップが完了し、クラスターノードが再起動したら、次のコマンドを実行して出力を収集します。
./openshift-install --dir <install_directory> agent wait-for install-complete --log-level=debug
$ ./openshift-install --dir <install_directory> agent wait-for install-complete --log-level=debug
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前のコマンドの出力が失敗を示している場合は、次の手順を実行します。
次のコマンドを実行して、
kubeconfig
ファイルを環境にエクスポートします。export KUBECONFIG=<install_directory>/auth/kubeconfig
$ export KUBECONFIG=<install_directory>/auth/kubeconfig
Copy to Clipboard Copied! Toggle word wrap Toggle overflow デバッグ用の情報を収集するには、次のコマンドを実行します。
oc adm must-gather
$ oc adm must-gather
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、作業ディレクトリーに作成した
must-gather
ディレクトリーから圧縮ファイルを作成します。tar cvaf must-gather.tar.gz <must_gather_directory>
$ tar cvaf must-gather.tar.gz <must_gather_directory>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
/auth
サブディレクトリーを除き、デプロイメント中に使用したインストールディレクトリーを Red Hat カスタマーポータル のサポートケースに添付します。 - この手順で収集した他のすべてのデータをサポートケースに添付してください。
3.4. ZTP カスタムリソースの例 リンクのコピーリンクがクリップボードにコピーされました!
オプション: ゼロタッチプロビジョニング (ZTP) カスタムリソース (CR) オブジェクトを使用して、エージェントベースのインストーラーで OpenShift Container Platform クラスターをインストールできます。
以下の ZTP カスタムリソースをカスタマイズして、OpenShift Container Platform クラスターの詳細を指定できます。以下は、単一ノードクラスターの ZTP カスタムリソースの例です。
agent-cluster-install.yaml
cluster-deployment.yaml
cluster-image-set.yaml
infra-env.yaml
nmstateconfig.yaml
pull-secret.yaml
第4章 Kubernetes Operator のマルチクラスターエンジン用の Agent ベースのインストール済みクラスターの準備 リンクのコピーリンクがクリップボードにコピーされました!
マルチクラスターエンジン Operator をインストールし、エージェントベースの OpenShift Container Platform インストーラーを使用してハブクラスターをデプロイできます。次の手順は部分的に自動化されており、最初のクラスターがデプロイメントされた後に手動の手順が必要です。
4.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
次のドキュメントを読んでいる。
- 必要なコンテナーイメージを取得するためのインターネットへのアクセスがある。
-
OpenShift CLI (
oc
) がインストールされている。 - 切断された環境にインストールする場合は、切断されたインストールのミラーリング用に設定されたローカルミラーレジストリーが必要です。
4.2. 切断中の Kubernetes Operator のマルチクラスターエンジン用のエージェントベースのクラスターデプロイの準備 リンクのコピーリンクがクリップボードにコピーされました!
切断された環境で、必要な OpenShift Container Platform コンテナーイメージ、マルチクラスターエンジン Operator、および Local Storage Operator (LSO) をローカルミラーレジストリーにミラーリングできます。ミラーレジストリーのローカル DNS ホスト名とポートを必ず書き留めておいてください。
OpenShift Container Platform イメージリポジトリーをミラーレジストリーにミラーリングするには、oc adm release image
または oc mirror
コマンドを使用できます。この手順では、oc mirror
コマンドを例として使用します。
手順
-
<assets_directory>
フォルダーを作成して、有効なinstall-config.yaml
およびagent-config.yaml
ファイルを含めます。このディレクトリーは、すべてのアセットを格納するために使用されます。 OpenShift Container Platform イメージリポジトリー、マルチクラスターエンジン、および LSO をミラーリングするには、以下の設定で
ImageSetConfiguration.yaml
ファイルを作成します。ImageSetConfiguration.yaml
の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- イメージセット内の各ファイルの最大サイズを GiB 単位で指定します。
- 2
- イメージセットのメタデータを受け取るバックエンドの場所を設定します。この場所は、レジストリーまたはローカルディレクトリーにすることができます。Technology Preview OCI 機能を使用していない場合は、
storageConfig
値を指定する必要があります。 - 3
- ストレージバックエンドのレジストリー URL を設定します。
- 4
- インストールするバージョンの OpenShift Container Platform イメージを含むチャネルを設定します。
- 5
- インストールする OpenShift Container Platform イメージを含む Operator カタログを設定します。
- 6
- イメージセットに含める特定の Operator パッケージとチャネルのみを指定します。カタログ内のすべてのパッケージを取得するには、このフィールドを削除してください。
- 7
- マルチクラスターエンジンのパッケージとチャネル。
- 8
- LSO パッケージとチャネル。
注記このファイルは、コンテンツをミラーリングするときに
oc mirror
コマンドで必要になります。特定の OpenShift Container Platform イメージリポジトリー、マルチクラスターエンジン、および LSO をミラーリングするには、以下のコマンドを実行します。
oc mirror --dest-skip-tls --config ocp-mce-imageset.yaml docker://<your-local-registry-dns-name>:<your-local-registry-port>
$ oc mirror --dest-skip-tls --config ocp-mce-imageset.yaml docker://<your-local-registry-dns-name>:<your-local-registry-port>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow install-config.yaml
ファイルのレジストリーと証明書を更新します。Example
imageContentSources.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow さらに、証明書が
install-config.yaml
のadditionalTrustBundle
フィールドに存在することを確認してください。install-config.yaml
の例additionalTrustBundle: | -----BEGIN CERTIFICATE----- zzzzzzzzzzz -----END CERTIFICATE-------
additionalTrustBundle: | -----BEGIN CERTIFICATE----- zzzzzzzzzzz -----END CERTIFICATE-------
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要oc mirror
コマンドは、いくつかの出力を含むoc-mirror-workspace
というフォルダーを作成します。これには、OpenShift Container Platform および選択した Operator に必要なすべてのミラーを識別するimageContentSourcePolicy.yaml
ファイルが含まれます。次のコマンドを実行して、クラスターマニフェストを生成します。
openshift-install agent create cluster-manifests
$ openshift-install agent create cluster-manifests
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、クラスターマニフェストフォルダーを更新して、ミラー設定を含む
mirror
フォルダーを含めます。
4.3. 接続中の Kubernetes Operator のマルチクラスターエンジン用のエージェントベースのクラスターデプロイメントの準備 リンクのコピーリンクがクリップボードにコピーされました!
マルチクラスターエンジン Operator である Local Storage Operator (LSO) に必要なマニフェストを作成し、エージェントベースの OpenShift Container Platform クラスターをハブクラスターとしてデプロイします。
手順
<assets_directory>
フォルダーにopenshift
という名前のサブフォルダーを作成します。このサブフォルダーは、デプロイされたクラスターをさらにカスタマイズするためにインストール中に適用される追加のマニフェストを格納するために使用されます。<assets_directory>
フォルダーには、install-config.yaml
およびagent-config.yaml
ファイルを含むすべてのアセットが含まれています。注記インストーラーは、追加のマニフェストを検証しません。
マルチクラスターエンジンの場合、以下のマニフェストを作成し、それらを
<assets_directory>/openshift
フォルダーに保存します。例
mce_namespace.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
mce_operatorgroup.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
mce_subscription.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Assisted Installer (AI) を使用して、Red Hat Advanced Cluster Management (RHACM) で分散ユニット (DU) を大規模にインストールできます。これらの分散ユニットは、ハブクラスターで有効にする必要があります。AI サービスには、手動で作成される永続ボリューム (PV) が必要です。
AI サービスの場合、以下のマニフェストを作成し、それらを
<assets_directory>/openshift
フォルダーに保存します。Example
lso_namespace.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
lso_operatorgroup.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
lso_subscription.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記すべてのマニフェストを作成した後、ファイルシステムは次のように表示される必要があります。
例: ファイルシステム
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、エージェント ISO イメージを作成します。
openshift-install agent create image --dir <assets_directory>
$ openshift-install agent create image --dir <assets_directory>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - イメージの準備ができたら、ターゲットマシンを起動し、インストールが完了するまで待ちます。
インストールを監視するには、次のコマンドを実行します。
openshift-install agent wait-for install-complete --dir <assets_directory>
$ openshift-install agent wait-for install-complete --dir <assets_directory>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記完全に機能するハブクラスターを設定するには、次のマニフェストを作成し、コマンド
$ oc apply -f <manifest-name>
を実行して手動で適用する必要があります。マニフェストの作成順序は重要であり、必要に応じて待機状態が表示されます。AI サービスに必要な PV については、次のマニフェストを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 後続のマニフェストを適用する前に、次のコマンドを使用して PV が使用可能になるまで待機します。
oc wait localvolume -n openshift-local-storage assisted-service --for condition=Available --timeout 10m
$ oc wait localvolume -n openshift-local-storage assisted-service --for condition=Available --timeout 10m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記The `devicePath` is an example and may vary depending on the actual hardware configuration used.
The `devicePath` is an example and may vary depending on the actual hardware configuration used.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow マルチクラスターエンジンインスタンスのマニフェストを作成します。
Example
MultiClusterEngine.yaml
apiVersion: multicluster.openshift.io/v1 kind: MultiClusterEngine metadata: name: multiclusterengine spec: {}
apiVersion: multicluster.openshift.io/v1 kind: MultiClusterEngine metadata: name: multiclusterengine spec: {}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow マニフェストを作成して AI サービスを有効にします。
例
agentserviceconfig.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 後続のスポーククラスターをデプロイするためのマニフェストを作成します。
例
clusterimageset.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow マニフェストを作成して、エージェントがインストールされたクラスター (マルチクラスターエンジンと Assisted Service をホストするクラスター) をハブクラスターとしてインポートします。
例
autoimport.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow マネージドクラスターが作成されるまで待ちます。
oc wait -n multicluster-engine managedclusters local-cluster --for condition=ManagedClusterJoined=True --timeout 10m
$ oc wait -n multicluster-engine managedclusters local-cluster --for condition=ManagedClusterJoined=True --timeout 10m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
マネージドクラスターのインストールが成功したことを確認するには、次のコマンドを実行します。
oc get managedcluster
$ oc get managedcluster NAME HUB ACCEPTED MANAGED CLUSTER URLS JOINED AVAILABLE AGE local-cluster true https://<your cluster url>:6443 True True 77m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Legal Notice
リンクのコピーリンクがクリップボードにコピーされました!
Copyright © 2025 Red Hat
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.