4.2. Agent-based Installer を使用した OpenShift Container Platform のインストール
以下の手順では、切断された環境でシングルノードの OpenShift Container Platform をデプロイします。これらの手順を基本として使用し、必要に応じて変更できます。
4.2.1. エージェントベースのインストーラーのダウンロード
手順
この手順を使用して、インストールに必要なエージェントベースのインストーラーと 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
上のディレクトリーに配置します。
4.2.2. 優先設定入力の作成
この手順を使用して、エージェントイメージの作成に使用される優先設定入力を作成します。
手順
以下のコマンドを実行して
nmstate
の依存関係をインストールします。$ sudo dnf install /usr/bin/nmstatectl -y
-
PATH
にあるディレクトリーにopenshift-install
バイナリーを配置します。 次のコマンドを実行して、インストール設定を保存するディレクトリーを作成します。
$ mkdir ~/<directory_name>
注記これは、エージェントベースのインストールで推奨される方法です。GitOps ZTP マニフェストの使用はオプションです。
次のコマンドを実行して、
install-config.yaml
ファイルを作成します。$ cat << EOF > ./<directory_name>/install-config.yaml apiVersion: v1 baseDomain: test.example.com compute: - architecture: amd64 1 hyperthreading: Enabled name: worker replicas: 0 controlPlane: architecture: amd64 hyperthreading: Enabled name: master replicas: 1 metadata: name: sno-cluster 2 networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 machineNetwork: - cidr: 192.168.0.0/16 networkType: OVNKubernetes 3 serviceNetwork: - 172.30.0.0/16 platform: none: {} pullSecret: '<pull_secret>' 4 sshKey: '<ssh_pub_key>' 5 EOF
注記プラットフォームを
vSphere
またはbaremetal
に設定すると、クラスターノードの IP アドレスエンドポイントを次の 3 つの方法で設定できます。- IPv4
- IPv6
- IPv4 と IPv6 の並列 (デュアルスタック)
IPv6 は、ベアメタルプラットフォームでのみサポートされます。
デュアルスタックネットワーキングの例
networking: clusterNetwork: - cidr: 172.21.0.0/16 hostPrefix: 23 - cidr: fd02::/48 hostPrefix: 64 machineNetwork: - cidr: 192.168.11.0/16 - cidr: 2001:DB8::/32 serviceNetwork: - 172.22.0.0/16 - fd03::/112 networkType: OVNKubernetes platform: baremetal: apiVIPs: - 192.168.11.3 - 2001:DB8::4 ingressVIPs: - 192.168.11.4 - 2001:DB8::5
注記非接続ミラーレジストリーを使用する場合は、作成済みのミラーレジストリー用の証明書ファイルを
install-config.yaml
ファイルのadditionalTrustBundle
フィールドに追加する必要があります。次のコマンドを実行して、
agent-config.yaml
ファイルを作成します。$ cat > agent-config.yaml << EOF apiVersion: v1alpha1 kind: AgentConfig metadata: name: sno-cluster rendezvousIP: 192.168.111.80 1 hosts: 2 - hostname: master-0 3 interfaces: - name: eno1 macAddress: 00:ef:44:21:e6:a5 rootDeviceHints: 4 deviceName: /dev/sdb networkConfig: 5 interfaces: - name: eno1 type: ethernet state: up mac-address: 00:ef:44:21:e6:a5 ipv4: enabled: true address: - ip: 192.168.111.80 prefix-length: 23 dhcp: false dns-resolver: config: server: - 192.168.111.1 routes: config: - destination: 0.0.0.0/0 next-hop-address: 192.168.111.2 next-hop-interface: eno1 table-id: 254 EOF
- 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 形式で設定します。
4.2.3. 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>
重要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
-
cluster-manifests
ディレクトリー内のマニフェストファイルを設定します。サンプルファイルの詳細は、「サンプル GitOps ZTP カスタムリソース」セクションを参照してください。 非接続クラスター: ZTP マニフェストを生成する前に
install-config.yaml
ファイルでミラー設定を定義しなかった場合は、次の手順を実行します。次のコマンドを実行して、
mirror
ディレクトリーに移動します。$ cd ../mirror
-
mirror
ディレクトリーにマニフェストファイルを設定します。
関連情報
- GitOps ZTP カスタムリソースのサンプル。
- GitOps ZTP の詳細は、ネットワークファーエッジの課題 を参照してください。
4.2.4. エージェントイメージの作成と起動
この手順を使用して、マシンでエージェントイメージを起動します。
手順
以下のコマンドを実行して agent イメージを作成します。
$ openshift-install --dir <install_directory> agent create image
注記Red Hat Enterprise Linux CoreOS (RHCOS) はプライマリーディスクでのマルチパスをサポートするようになり、ハードウェア障害に対する対障害性が強化され、ホストの可用性を強化できるようになりました。マルチパス化は、デフォルトの
/etc/multipath.conf
設定を使用して、agent.iSO イメージでデフォルトで有効になっています。-
ベアメタルマシンで
agent.x86_64.iso
またはagent.aarch64.iso
イメージを起動します。
4.2.5. 現在のインストールホストがリリースイメージをプルできることを確認する
エージェントイメージを起動し、ネットワークサービスがホストで利用可能になると、エージェントコンソールアプリケーションは、プルチェックを実行して、現在のホストがリリースイメージを取得できることを確認します。
一次プルチェックに合格した場合は、アプリケーションを終了して、インストールを続行できます。プルチェックが失敗した場合、アプリケーションは、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 を選択して、エージェントコンソールアプリケーションを終了し、インストールを続行します。
4.2.6. インストールの進行状況の追跡と確認
次の手順を使用して、インストールの進行状況を追跡し、インストールが成功したことを確認します。
前提条件
- Kubernetes API サーバーの DNS レコードを設定している。
手順
オプション: ブートストラップホスト (ランデブーホスト) がいつ再起動するかを知るには、次のコマンドを実行します。
$ ./openshift-install --dir <install_directory> agent wait-for bootstrap-complete \ 1 --log-level=info 2
出力例
................................................................... ................................................................... INFO Bootstrap configMap status is complete INFO cluster bootstrap is complete
Kubernetes API サーバーでこれがコントロールプレーンマシンにブートストラップされていることを示すシグナルが出されるとコマンドは成功します。
進行状況を追跡し、インストールが成功したことを確認するには、次のコマンドを実行します。
$ openshift-install --dir <install_directory> agent wait-for install-complete 1
- 1
<install_directory>
directory には、エージェント ISO が生成されたディレクトリーへのパスを指定します。
出力例
................................................................... ................................................................... INFO Cluster is installed INFO Install complete! INFO To access the cluster as the system:admin user when using 'oc', run INFO export KUBECONFIG=/home/core/installer/auth/kubeconfig INFO Access the OpenShift web-console here: https://console-openshift-console.apps.sno-cluster.test.example.com
GitOps ZTP マニフェストのオプションの方法を使用している場合、次の 3 つの方法で AgentClusterInstall.yaml
ファイルを介してクラスターノードの IP アドレスエンドポイントを設定できます。
- IPv4
- IPv6
- IPv4 と IPv6 の並列 (デュアルスタック)
IPv6 は、ベアメタルプラットフォームでのみサポートされます。
デュアルスタックネットワーキングの例
apiVIP: 192.168.11.3 ingressVIP: 192.168.11.4 clusterDeploymentRef: name: mycluster imageSetRef: name: openshift-4.13 networking: clusterNetwork: - cidr: 172.21.0.0/16 hostPrefix: 23 - cidr: fd02::/48 hostPrefix: 64 machineNetwork: - cidr: 192.168.11.0/16 - cidr: 2001:DB8::/32 serviceNetwork: - 172.22.0.0/16 - fd03::/112 networkType: OVNKubernetes
関連情報
- デュアルスタックネットワークを使用したデプロイメント を参照してください。
- install-config yaml ファイルの設定 を参照してください。
- ベアメタル環境に 3 ノードクラスターをデプロイするには、3 ノードクラスターの設定 を参照してください。
- ルートデバイスヒントについて を参照してください。
- NMState 状態の例 を参照してください。