3.2. Agent-based Installer を使用した OpenShift Container Platform のインストール
以下の手順では、切断された環境でシングルノードの OpenShift Container Platform をデプロイします。これらの手順を基本として使用し、必要に応じて変更できます。
3.2.1. Agent-based Installer のダウンロード リンクのコピーリンクがクリップボードにコピーされました!
この手順を使用して、インストールに必要な Agent-based Installer と CLI をダウンロードします。
手順
- ログイン認証情報を使用して OpenShift Container Platform Web コンソールにログインします。
- データセンター に移動します。
- Run Agent-based Installer locally をクリックします。
- OpenShift インストーラー と コマンドラインインターフェイス のオペレーティングシステムとアーキテクチャーを選択します。
- Download Installer をクリックして、インストールプログラムをダウンロードして展開します。
- Download pull secret または Copy pull secret をクリックして、プルシークレットをダウンロードまたはコピーします。
-
Download command-line tools をクリックし、
openshift-installバイナリーをPATH上のディレクトリーに配置します。
3.2.2. Agent-based インストールでサポートされるアーキテクチャーの確認 リンクのコピーリンクがクリップボードにコピーされました!
Agent-based Installer を使用して OpenShift Container Platform クラスターをインストールする前に、クラスターをインストールできるサポート対象アーキテクチャーを確認できます。この手順はオプションです。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 - インストールプログラムをダウンロードした。
手順
-
OpenShift CLI (
oc) にログインします。 次のコマンドを実行して、リリースペイロードを確認します。
./openshift-install version
$ ./openshift-install versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
./openshift-install 4.17.0 built from commit abc123def456 release image quay.io/openshift-release-dev/ocp-release@sha256:123abc456def789ghi012jkl345mno678pqr901stu234vwx567yz0 release architecture amd64
./openshift-install 4.17.0 built from commit abc123def456 release image quay.io/openshift-release-dev/ocp-release@sha256:123abc456def789ghi012jkl345mno678pqr901stu234vwx567yz0 release architecture amd64Copy to Clipboard Copied! Toggle word wrap Toggle overflow multiペイロードが含まれるリリースイメージを使用している場合、このコマンドの出力に表示されるrelease architectureはデフォルトのアーキテクチャーです。ペイロードのアーキテクチャーを確認するには、次のコマンドを実行します。
oc adm release info <release_image> -o jsonpath="{ .metadata.metadata}"$ oc adm release info <release_image> -o jsonpath="{ .metadata.metadata}"1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<release_image>をリリースイメージに置き換えます。例:quay.io/openshift-release-dev/ocp-release@sha256:123abc456def789ghi012jkl345mno678pqr901stu234vwx567yz0。
リリースイメージが
multiペイロードを使用する場合の出力例{"release.openshift.io architecture":"multi"}{"release.openshift.io architecture":"multi"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow multiペイロードが含まれるリリースイメージを使用している場合は、arm64、amd64、s390x、ppc64leなどのさまざまなアーキテクチャーにクラスターをインストールできます。それ以外の場合、クラスターはopenshift-install versionコマンドの出力に表示されるrelease architectureにのみインストールできます。
3.2.3. 優先設定入力の作成 リンクのコピーリンクがクリップボードにコピーされました!
この手順を使用して、エージェントイメージの作成に使用される優先設定入力を作成します。
手順
以下のコマンドを実行して
nmstateの依存関係をインストールします。sudo dnf install /usr/bin/nmstatectl -y
$ sudo dnf install /usr/bin/nmstatectl -yCopy 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 注記これは、エージェントベースのインストールで推奨される方法です。GitOps ZTP マニフェストの使用はオプションです。
次のコマンドを実行して、
install-config.yamlファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- システムアーキテクチャーを指定します。有効な値は、
amd64、arm64、ppc64le、およびs390xです。multiペイロードが含まれるリリースイメージを使用している場合は、arm64、amd64、s390x、ppc64leなどのさまざまなアーキテクチャーにクラスターをインストールできます。それ以外の場合、クラスターはopenshift-install versionコマンドの出力に表示されるrelease architectureにのみインストールできます。詳細は、「Agent-based Installer クラスターをインストールするためのサポート対象アーキテクチャーを確認する」を参照してください。 - 2
- 必須。クラスター名を指定します。
- 3
- インストールするクラスターネットワークプラグイン。サポートされる値はデフォルト値の
OVNKubernetesのみです。 - 4
- プラットフォームを指定します。注記
ベアメタルプラットフォームの場合、
agent-config.yamlファイル上での設定でオーバーライドされない限り、install-config.yamlファイルのプラットフォームセクションでのホスト設定がデフォルトで使用されます。 - 5
- プルシークレットを指定します。
- 6
- SSH 公開鍵を指定します。
注記プラットフォームを
vSphereまたはbaremetalに設定すると、クラスターノードの IP アドレスエンドポイントを次の 3 つの方法で設定できます。- IPv4
- IPv6
- IPv4 と IPv6 の並列 (デュアルスタック)
IPv6 は、ベアメタルプラットフォームでのみサポートされます。
デュアルスタックネットワーキングの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記非接続ミラーレジストリーを使用する場合は、作成済みのミラーレジストリー用の証明書ファイルを
install-config.yamlファイルのadditionalTrustBundleフィールドに追加する必要があります。次のコマンドを実行して、
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
- オプション: 動的ホスト設定プロトコル (DHCP) または逆引き DNS ルックアップから取得したホスト名をオーバーライドします。各ホストには、これらの方法のいずれかによって提供される一意のホスト名が必要です。
- 4
- 特定デバイスへの Red Hat Enterprise Linux CoreOS (RHCOS) イメージのプロビジョニングを有効にします。インストールプログラムは、検出順にデバイスを検査し、検出された値をヒントの値と比較します。ヒントの値と一致する最初に検出されたデバイスが使用されます。
- 5
- オプション: ホストのネットワークインターフェイスを NMState 形式で設定します。
3.2.4. 追加のマニフェストファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
オプションのタスクとして、追加のマニフェストを作成し、install-config.yaml ファイルと agent-config.yaml ファイルで使用可能な設定を超えてクラスターをさらに設定できます。
3.2.4.1. 追加のマニフェストを格納するディレクトリーの作成 リンクのコピーリンクがクリップボードにコピーされました!
追加のマニフェストを作成して、install-config.yaml ファイルおよび agent-config.yaml ファイルを超えてエージェントベースのインストールを設定する場合は、インストールディレクトリー内に openshift サブディレクトリーを作成する必要があります。追加のマシン設定は、すべてこのサブディレクトリーに配置する必要があります。
最も一般的な追加マニフェストのタイプは MachineConfig オブジェクトです。エージェントベースのインストール中に追加できる MachineConfig オブジェクトの例は、「関連情報」セクションの「MachineConfig オブジェクトを使用してノードを設定する」を参照してください。
手順
インストールホスト上で次のコマンドを実行して、インストールディレクトリー内に
openshiftサブディレクトリーを作成します。mkdir <installation_directory>/openshift
$ mkdir <installation_directory>/openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.4.2. ディスクパーティション設定 リンクのコピーリンクがクリップボードにコピーされました!
通常は、RHCOS のインストール時に作成されるデフォルトのディスクパーティションを使用する必要があります。ただし、拡張するディレクトリーの個別のパーティションの作成が必要となる場合もあります。
OpenShift Container Platform は、ストレージを /var ディレクトリーまたは /var のサブディレクトリーのいずれかに割り当てる単一のパーティションの追加をサポートします。以下に例を示します。
-
/var/lib/containers: イメージやコンテナーがシステムにさらに追加されると拡張するコンテナー関連のコンテンツを保持します。 -
/var/lib/etcd: etcd ストレージのパフォーマンスの最適化などの目的で分離する必要のあるデータを保持します。 /var: 監査などの目的に合わせて分離させる必要のあるデータを保持します。重要ディスクサイズが 100 GB を超える場合、特に 1 TB を超える場合は、別の
/varパーティションを作成します。
/var ディレクトリーのコンテンツを個別に保存すると、必要に応じてこれらの領域のストレージの拡大を容易にし、後で OpenShift Container Platform を再インストールして、そのデータをそのまま保持することができます。この方法では、すべてのコンテナーを再度プルする必要はありません。また、システムの更新時に大きなログファイルをコピーする必要もありません。
/var ディレクトリーまたは /var のサブディレクトリーの個別のパーティションを使用すると、パーティション設定されたディレクトリーでのデータの増加によりルートファイルシステムが一杯になることを避けることもできます。
以下の手順では、インストールの準備フェーズでノードタイプの Ignition 設定ファイルにラップされるマシン設定マニフェストを追加して、別の /var パーティションを設定します。
前提条件
-
インストールディレクトリー内に
openshiftサブディレクトリーを作成している。
手順
追加のパーティションを設定する Butane 設定を作成します。たとえば、
$HOME/clusterconfig/98-var-partition.buファイルに名前を付け、ディスクのデバイス名をworkerシステムのストレージデバイスの名前に変更し、必要に応じてストレージサイズを設定します。以下の例では、/varディレクトリーを別のパーティションにマウントします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- パーティションを設定する必要のあるディスクのストレージデバイス名。
- 2
- データパーティションをブートディスクに追加する場合は、25000 のメビバイトの最小のオフセット値が推奨されます。ルートファイルシステムは、指定したオフセットまでの利用可能な領域をすべて埋めるためにサイズを自動的に変更します。オフセット値の指定がない場合や、指定した値が推奨される最小値よりも小さい場合、生成されるルートファイルシステムのサイズは小さ過ぎるため、RHCOS の再インストールでデータパーティションの最初の部分が上書きされる可能性があります。
- 3
- データパーティションのサイズ (メビバイト単位)。
- 4
- コンテナーストレージに使用されるファイルシステムでは、
prjquotaマウントオプションを有効にする必要があります。
注記個別の
/varパーティションを作成する場合、異なるインスタンスタイプに同じデバイス名がない場合は、コンピュートノードに異なるインスタンスタイプを使用することはできません。Butane config からマニフェストを作成し、
clusterconfig/openshiftディレクトリーに保存します。たとえば、以下のコマンドを実行します。butane $HOME/clusterconfig/98-var-partition.bu -o $HOME/clusterconfig/openshift/98-var-partition.yaml
$ butane $HOME/clusterconfig/98-var-partition.bu -o $HOME/clusterconfig/openshift/98-var-partition.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.5. ZTP マニフェストの使用 リンクのコピーリンクがクリップボードにコピーされました!
オプションのタスクとして、GitOps Zero Touch Provisioning (ZTP) マニフェストを使用して、install-config.yaml および agent-config.yaml ファイルで使用できるオプションを超えてインストールを設定できます。
GitOps ZTP マニフェストは、事前に install-config.yaml ファイルと agent-config.yamlファイルを設定したかどうかにかかわらず生成できます。install-config.yaml ファイルと agent-config.yaml ファイルを設定することを選択した場合、設定は生成時に ZTP クラスターマニフェストにインポートされます。
前提条件
-
使用する
PATH上のディレクトリーにopenshift-installバイナリーを配置している。 -
オプション:
install-config.yamlファイルとagent-config.yamlファイルを作成し、設定している。
手順
次のコマンドを実行して、ZTP クラスターマニフェストを生成します。
openshift-install agent create cluster-manifests --dir <installation_directory>
$ openshift-install agent create cluster-manifests --dir <installation_directory>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要install-config.yamlファイルとagent-config.yamlファイルを作成した場合、それらのファイルは削除され、このコマンドで生成されたクラスターマニフェストに置き換えられます。install-config.yamlファイルとagent-config.yamlファイルに対して行われた設定は、openshift-install agent create cluster-manifestsコマンドを実行すると ZTP クラスターマニフェストにインポートされます。次のコマンドを実行して、
cluster-manifestsディレクトリーに移動します。cd <installation_directory>/cluster-manifests
$ cd <installation_directory>/cluster-manifestsCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
cluster-manifestsディレクトリー内のマニフェストファイルを設定します。サンプルファイルの詳細は、「サンプル GitOps ZTP カスタムリソース」セクションを参照してください。 非接続クラスター: ZTP マニフェストを生成する前に
install-config.yamlファイルでミラー設定を定義しなかった場合は、次の手順を実行します。次のコマンドを実行して、
mirrorディレクトリーに移動します。cd ../mirror
$ cd ../mirrorCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
mirrorディレクトリーにマニフェストファイルを設定します。
3.2.6. ディスクの暗号化 リンクのコピーリンクがクリップボードにコピーされました!
オプションのタスクとして、Agent-based Installer を使用して OpenShift Container Platform をインストールするときに、この手順を使用してディスクまたはパーティションを暗号化できます。
前提条件
-
ZTP マニフェストを使用している場合を除き、
install-config.yamlファイルとagent-config.yamlファイルが作成および設定されていること。 -
使用する
PATH上のディレクトリーにopenshift-installバイナリーを配置している。
手順
次のコマンドを実行して、ZTP クラスターマニフェストを生成します。
openshift-install agent create cluster-manifests --dir <installation_directory>
$ openshift-install agent create cluster-manifests --dir <installation_directory>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要install-config.yamlファイルとagent-config.yamlファイルを作成した場合、それらのファイルは削除され、このコマンドで生成されたクラスターマニフェストに置き換えられます。install-config.yamlファイルとagent-config.yamlファイルに対して行われた設定は、openshift-install agent create cluster-manifestsコマンドを実行すると ZTP クラスターマニフェストにインポートされます。注記すでに ZTP マニフェストを生成している場合は、この手順をスキップしてください。
次のコマンドを実行して、
cluster-manifestsディレクトリーに移動します。cd <installation_directory>/cluster-manifests
$ cd <installation_directory>/cluster-manifestsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のセクションを
agent-cluster-install.yamlファイルに追加します。diskEncryption: enableOn: all mode: tang tangServers: "server1": "http://tang-server-1.example.com:7500"diskEncryption: enableOn: all1 mode: tang2 tangServers: "server1": "http://tang-server-1.example.com:7500"3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.7. エージェントイメージの作成と起動 リンクのコピーリンクがクリップボードにコピーされました!
この手順を使用して、マシンでエージェントイメージを起動します。
手順
以下のコマンドを実行して agent イメージを作成します。
openshift-install --dir <install_directory> agent create image
$ openshift-install --dir <install_directory> agent create imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Red Hat Enterprise Linux CoreOS (RHCOS) はプライマリーディスクでのマルチパスをサポートするようになり、ハードウェア障害に対する対障害性が強化され、ホストの可用性を強化できるようになりました。マルチパス化は、デフォルトの
/etc/multipath.conf設定を使用して、agent ISO イメージでデフォルトで有効になっています。-
ベアメタルマシンで、
agent.x86_64.iso、agent.aarch64.iso、またはagent.s390x.isoイメージを起動します。
3.2.8. RHEL KVM を使用した IBM Z エージェントの追加 リンクのコピーリンクがクリップボードにコピーされました!
RHEL KVM を使用して IBM Z® エージェントを手動で追加するには、次の手順を使用します。この手順は、RHEL KVM を使用する IBM Z® クラスターにのみ使用してください。
KVM ブートには nmstateconfig パラメーターを設定する必要があります。
手順
- RHEL KVM マシンを起動します。
仮想サーバーをデプロイするために、次のパラメーターを指定して
virt-installコマンドを実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
--cdromパラメーターには、HTTP または HTTPS サーバー上の ISO イメージの場所を指定します。
3.2.9. 現在のインストールホストがリリースイメージをプルできることを確認する リンクのコピーリンクがクリップボードにコピーされました!
エージェントイメージを起動し、ネットワークサービスがホストで利用可能になると、エージェントコンソールアプリケーションは、プルチェックを実行して、現在のホストがリリースイメージを取得できることを確認します。
一次プルチェックに合格した場合は、アプリケーションを終了して、インストールを続行できます。プルチェックが失敗した場合、アプリケーションは、TUI の Additional checks セクションに表示されるように、問題のトラブルシューティングに役立つ追加のチェックを実行します。追加のチェックの失敗は、プライマリープルチェックが成功するかぎり、必ずしも重大ではありません。
インストールが失敗する可能性があるホストネットワーク設定の問題がある場合は、コンソールアプリケーションを使用して、ネットワーク設定を調整できます。
エージェントコンソールアプリケーションがホストネットワーク設定の問題を検出した場合は、ユーザーが手動でコンソールアプリケーションを停止し、続行する意思を示すまで、インストールワークフローは停止されます。
手順
- エージェントコンソールアプリケーションが、設定されたリリースイメージをレジストリーからプルできるかどうかを確認するまで待ちます。
エージェントコンソールアプリケーションが、インストーラーの接続チェックに合格したことを示している場合は、プロンプトがタイムアウトになるまで待って、インストールを続行します。
注記接続チェックに合格した場合も、ネットワーク設定の表示または変更を選択できます。
ただし、タイムアウトせずに、エージェントコンソールアプリケーションとやりとりすることを選択した場合は、TUI を手動で終了して、インストールを続行する必要があります。
エージェントコンソールアプリケーションのチェックが失敗した場合は、
Release image URLプルチェックの横に赤いアイコンが表示されます。ホストのネットワーク設定を再設定するには、次の手順を使用します。TUI の
Check Errorsセクションを読みます。このセクションには、失敗したチェックに固有のエラーメッセージが表示されます。- Configure network を選択して、NetworkManager TUI を起動します。
- Edit a connection を選択し、再設定する接続を選択します。
- 設定を編集し、OK を選択して、変更を保存します。
- Back を選択して、NetworkManager TUI のメイン画面に戻ります。
- Activate a Connection を選択します。
- 再設定されたネットワークを選択して、非アクティブ化します。
- 再設定されたネットワークを再度選択して、再アクティブ化します。
- Back を選択し、Quit を選択して、エージェントコンソールアプリケーションに戻ります。
- 新しいネットワーク設定を使用して、継続的なネットワークチェックが再開されるまで、5 秒間以上、待ちます。
-
Release image URLプルチェックが成功し、URL の横に緑色のアイコンが表示された場合は、Quit を選択して、エージェントコンソールアプリケーションを終了し、インストールを続行します。
3.2.10. インストールの進行状況の追跡と確認 リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、インストールの進行状況を追跡し、インストールが成功したことを確認します。
前提条件
- Kubernetes API サーバーの DNS レコードを設定している。
手順
オプション: ブートストラップホスト (ランデブーホスト) がいつ再起動するかを知るには、次のコマンドを実行します。
./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=info2 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 completeCopy 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-complete1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<install_directory>directory には、エージェント ISO が生成されたディレクトリーへのパスを指定します。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
GitOps ZTP マニフェストのオプションの方法を使用している場合、次の 3 つの方法で AgentClusterInstall.yaml ファイルを介してクラスターノードの IP アドレスエンドポイントを設定できます。
- IPv4
- IPv6
- IPv4 と IPv6 の並列 (デュアルスタック)
IPv6 は、ベアメタルプラットフォームでのみサポートされます。
デュアルスタックネットワーキングの例