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 を使用すると、ベアメタル機器の宣言型設定で新しいエッジサイトをプロビジョニングできます。
CPU アーキテクチャー | 接続インストール | 非接続インストール |
---|---|---|
| ✓ | ✓ |
| ✓ | ✓ |
| ✓ | ✓ |
| ✓ | ✓ |
1.2. Agent-based Installer について
OpenShift Container Platform ユーザーは、切断された環境で Assisted Installer のホストサービスの利点を活用できます。
エージェントベースのインストールは、Assisted Discovery Agent と Assisted Service を含む起動可能な ISO で構成されます。クラスターのインストールを実行するには両方が必要ですが、後者はいずれかのホストでのみ実行されます。
現在、IBM Z® (s390x
) 上の ISO ブートサポートは Red Hat Enterprise Linux (RHEL) KVM でのみ利用できます。RHEL KVM では、PXE ベースのインストールか ISO ベースのインストールのどちらかを柔軟に選択できます。z/VM および論理パーティション (LPAR) を使用したインストールでは、PXE ブートのみがサポートされます。
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 個 | 16 GB のメモリー | 120 GB |
コンパクトなクラスター | 3 | 0 または 1 | 仮想 CPU 8 個 | 16 GB のメモリー | 120 GB |
HA クラスター | 3 | 2 以降 | 仮想 CPU 8 個 | 16 GB のメモリー | 120 GB |
install-config.yaml
で、インストールを実行するプラットフォームを指定します。以下のプラットフォームがサポートされます。
-
baremetal
-
vsphere
none
重要プラットフォームが
none
の場合:-
none
オプションでは、クラスター内に DNS 名前解決と負荷分散インフラストラクチャーをプロビジョニングする必要があります。詳細は、「関連情報」セクションの プラットフォーム "none" オプションを使用するクラスターの要件 参照してください。 - 仮想化またはクラウド環境で OpenShift Container Platform クラスターのインストールを試行する前に、guidelines for deploying OpenShift Container Platform on non-tested platforms にある情報を確認してください。
-
1.3. FIPS 準拠について
多くの OpenShift Container Platform のお客様においては、システムが実稼働環境で使用される前に、一定レベルでの規制への対応またはコンプライアンスが必要になります。この規制対応は、国家標準、業界標準または組織の企業ガバナンスフレームワークによって課せられます。FIPS (Federal Information Processing Standards) コンプライアンスは、安全な環境で必要とされる最も重要なコンポーネントの 1 つであり、サポートされている暗号化技術のみがノード上で許可されるようにします。
クラスターで FIPS モードを有効にするには、FIPS モードで動作するように設定された Red Hat Enterprise Linux (RHEL) コンピューターからインストールプログラムを実行する必要があります。RHEL で FIPS モードを設定する方法の詳細は、RHEL から FIPS モードへの切り替え を参照してください。
FIPS モードでブートされた Red Hat Enterprise Linux (RHEL) または Red Hat Enterprise Linux CoreOS (RHCOS) を実行する場合、OpenShift Container Platform コアコンポーネントは、x86_64、ppc64le、および s390x アーキテクチャーのみで、FIPS 140-2/140-3 検証のために NIST に提出された RHEL 暗号化ライブラリーを使用します。
1.4. Agent-based Installer による 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
オプション: GitOps ZTP マニフェストを使用している場合、
agent-cluster-install.yaml
ファイルのAgent-install.openshift.io/install-config-overrides
フィールドでfips
の値をTrue
に設定する必要があります。サンプルの agent-cluster-install.yaml ファイル
apiVersion: extensions.hive.openshift.io/v1beta1 kind: AgentClusterInstall metadata: annotations: agent-install.openshift.io/install-config-overrides: '{"fips": True}' name: sno-cluster namespace: sno-cluster-test
1.5. ホストの設定
クラスター上の各ホストの agent-config.yaml
ファイルで、ネットワーク設定やルートデバイスのヒントなど追加設定を行うことができます。
設定するホストごとに、ホスト上のインターフェイスの MAC アドレスで、設定するホストを指定する必要があります。
1.5.1. ホストのロール
クラスター内の各ホストには、master
または worker
のいずれかのロールが割り当てられます。role
パラメーターを使用して、agent-config.yaml
ファイルで各ホストのロールを定義できます。ホストにロールを割り当てない場合、インストール時にロールがランダムに割り当てられます。
そのため、ホストのロールは明示的に定義することが推奨されます。
rendezvousIP
は、master
ロールを持つホストに割り当てる必要があります。これは、手動で、または Agent-based Installer によるロールの割り当てを許可することで行えます。
ランデブーホストの master
ロールを明示的に定義する必要はありませんが、この割り当てと競合する設定は作成できません。
たとえば、ホストが 4 台あり、そのうち 3 台が master
ロールを持つように明示的に定義されている場合、最後の 1 台にはインストール時に worker
ロールが自動的に割り当てられ、ランデブーホストには設定できません。
agent-config.yaml のサンプルファイル
apiVersion: v1beta1 kind: AgentConfig metadata: name: example-cluster rendezvousIP: 192.168.111.80 hosts: - hostname: master-1 role: master interfaces: - name: eno1 macAddress: 00:ef:44:21:e6:a5 - hostname: master-2 role: master interfaces: - name: eno1 macAddress: 00:ef:44:21:e6:a6 - hostname: master-3 role: master interfaces: - name: eno1 macAddress: 00:ef:44:21:e6:a7 - hostname: worker-1 role: worker interfaces: - name: eno1 macAddress: 00:ef:44:21:e6:a8
1.5.2. ルートデバイスヒントについて
rootDeviceHints
パラメーターは、インストーラーが Red Hat Enterprise Linux CoreOS (RHCOS) イメージを特定のデバイスにプロビジョニングできるようにします。インストーラーは、検出順にデバイスを検査し、検出された値をヒントの値と比較します。インストーラーは、ヒント値に一致する最初に検出されたデバイスを使用します。この設定は複数のヒントを組み合わせることができますが、デバイスは、インストーラーがこれを選択できるようにすべてのヒントに一致する必要があります。
サブフィールド | 説明 |
---|---|
|
|
|
|
| ベンダー固有のデバイス識別子を含む文字列。ヒントは、実際の値のサブ文字列になります。 |
| デバイスのベンダーまたは製造元の名前が含まれる文字列。ヒントは、実際の値のサブ文字列になります。 |
| デバイスのシリアル番号を含む文字列。ヒントは、実際の値と完全に一致する必要があります。 |
| デバイスの最小サイズ (ギガバイト単位) を表す整数。 |
|
一意のストレージ ID を含む文字列。ヒントは、実際の値と完全に一致する必要があります。 |
| デバイスがローテーションするディスクである (true) か、そうでないか (false) を示すブール値。 |
使用例
- name: master-0 role: master rootDeviceHints: deviceName: "/dev/sda"
1.6. ネットワークの概要
最初の起動時にすべてのホストが支援サービスにチェックインできるように、ランデブー IP はエージェント ISO の生成時に認識されている必要があります。IP アドレスが動的ホスト設定プロトコル (DHCP) サーバーを使用して割り当てられている場合、rendezvousIP
フィールドは、デプロイメントされたコントロールプレーンの一部になるホストの 1 つの IP アドレスに設定する必要があります。DHCP サーバーがない環境では、IP アドレスを静的に定義できます。
静的 IP アドレスに加えて、NMState 形式の任意のネットワーク設定を適用できます。これには、VLAN と NIC ボンディングが含まれます。
1.6.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 1
- 1
- ランデブーホストの IP アドレス。
1.6.2. 静的ネットワーキング
推奨される方法:
install-config.yaml
およびagent-config.yaml
agent-config.yaml.file のサンプル
cat > agent-config.yaml << EOF apiVersion: v1alpha1 kind: AgentConfig metadata: name: sno-cluster rendezvousIP: 192.168.111.80 1 hosts: - hostname: master-0 interfaces: - name: eno1 macAddress: 00:ef:44:21:e6:a5 2 networkConfig: interfaces: - name: eno1 type: ethernet state: up mac-address: 00:ef:44:21:e6:a5 ipv4: enabled: true address: - ip: 192.168.111.80 3 prefix-length: 23 4 dhcp: false dns-resolver: config: server: - 192.168.111.1 5 routes: config: - destination: 0.0.0.0/0 next-hop-address: 192.168.111.1 6 next-hop-interface: eno1 table-id: 254 EOF
- 1
rendezvousIP
フィールドに値が指定されていない場合、networkConfig
フィールドで指定された静的 IP アドレスから 1 つのアドレスが選択されます。- 2
- 設定を適用するホストを決定するために使用される、ホスト上のインターフェイスの MAC アドレス。
- 3
- ターゲットのベアメタルホストの静的 IP アドレス。
- 4
- ターゲットのベアメタルホストの静的 IP アドレスのサブネット接頭辞。
- 5
- ターゲットのベアメタルホストの DNS サーバー。
- 6
- ノードトラフィックのネクストホップアドレス。これは、指定されたインターフェイスに設定される IP アドレスと同じサブネットにある必要があります。
オプションの方法: GitOps ZTP マニフェスト
GitOps ZTP カスタムリソースのオプションの方法は、6 つのカスタムリソースで構成されます。静的 IP は
nmstateconfig.yaml
で設定できます。apiVersion: agent-install.openshift.io/v1beta1 kind: NMStateConfig metadata: name: master-0 namespace: openshift-machine-api labels: cluster0-nmstate-label-name: cluster0-nmstate-label-value spec: config: interfaces: - name: eth0 type: ethernet state: up mac-address: 52:54:01:aa:aa:a1 ipv4: enabled: true address: - ip: 192.168.122.2 1 prefix-length: 23 2 dhcp: false dns-resolver: config: server: - 192.168.122.1 3 routes: config: - destination: 0.0.0.0/0 next-hop-address: 192.168.122.1 4 next-hop-interface: eth0 table-id: 254 interfaces: - name: eth0 macAddress: 52:54:01:aa:aa:a1 5
ランデブー IP は、config
フィールドで指定された静的 IP アドレスから選択されます。
1.7. プラットフォーム "none" オプションを使用するクラスターの要件
このセクションでは、プラットフォーム none
オプションを使用するように設定されたエージェントベースの OpenShift Container Platform インストールの要件を説明します。
仮想化またはクラウド環境で OpenShift Container Platform クラスターのインストールを試行する前に、guidelines for deploying OpenShift Container Platform on non-tested platforms にある情報を確認してください。
1.7.1. プラットフォーム "none" の DNS 要件
OpenShift Container Platform のデプロイメントでは、以下のコンポーネントに DNS 名前解決が必要です。
- The Kubernetes API
- OpenShift Container Platform のアプリケーションワイルドカード
- コントロールプレーンおよびコンピュートマシン
逆引き DNS 解決は、Kubernetes API、コントロールプレーンマシン、およびコンピュートマシンにも必要です。
DNS A/AAAA または CNAME レコードは名前解決に使用され、PTR レコードは逆引き名前解決に使用されます。ホスト名が DHCP によって提供されていない場合は、Red Hat Enterprise Linux CoreOS (RHCOS) は逆引きレコードを使用してすべてのノードのホスト名を設定するため、逆引きレコードは重要です。さらに、逆引きレコードは、OpenShift Container Platform が動作するために必要な証明書署名要求 (CSR) を生成するために使用されます。
各クラスターノードにホスト名を提供するために DHCP サーバーを使用することが推奨されます。
以下の DNS レコードは、プラットフォーム none
オプションを使用する OpenShift Container Platform クラスターに必要であり、インストール前に設定されている必要があります。各レコードで、<cluster_name>
はクラスター名で、<base_domain>
は、install-config.yaml
ファイルに指定するベースドメインです。完全な DNS レコードは <component>.<cluster_name>.<base_domain>.
の形式を取ります。
コンポーネント | レコード | 説明 |
---|---|---|
Kubernetes API |
| API ロードバランサーを特定するための DNS A/AAAA または CNAME レコード、および DNS PTR レコード。これらのレコードは、クラスター外のクライアントおよびクラスター内のすべてのノードで解決できる必要があります。 |
| API ロードバランサーを内部的に識別するための DNS A/AAAA または CNAME レコード、および DNS PTR レコード。これらのレコードは、クラスター内のすべてのノードで解決できる必要があります。 重要 API サーバーは、Kubernetes に記録されるホスト名でワーカーノードを解決できる必要があります。API サーバーがノード名を解決できない場合、プロキシーされる API 呼び出しが失敗し、Pod からログを取得できなくなる可能性があります。 | |
ルート |
| アプリケーション Ingress ロードバランサーを参照するワイルドカード DNS A/AAAA または CNAME レコード。アプリケーション Ingress ロードバランサーは、Ingress コントローラー Pod を実行するマシンをターゲットにします。Ingress コントローラー Pod はデフォルトでコンピュートマシンで実行されます。これらのレコードは、クラスター外のクライアントおよびクラスター内のすべてのノードで解決できる必要があります。
たとえば、 |
コントロールプレーンマシン |
| ワーカーノードの各マシンを特定するための DNS A/AAAA または CNAME レコードおよび DNS PTR レコードこれらのレコードは、クラスター内のノードで解決できる必要があります。 |
コンピュートマシン |
| ワーカーノードの各マシンを特定するための DNS A/AAAA または CNAME レコード、および DNS PTR レコード。これらのレコードは、クラスター内のノードで解決できる必要があります。 |
OpenShift Container Platform 4.4 以降では、DNS 設定で etcd ホストおよび SRV レコードを指定する必要はありません。
dig
コマンドを使用して、名前および逆引き名前解決を確認することができます。
1.7.1.1. プラットフォーム "none" クラスターの DNS 設定例
このセクションでは、プラットフォーム none
オプションを使用して OpenShift Container Platform をデプロイするための DNS 要件を満たす A および PTR レコード設定サンプルを提供します。サンプルは、特定の DNS ソリューションを選択するためのアドバイスを提供することを目的としていません。
この例では、クラスター名は ocp4
で、ベースドメインは example.com
です。
プラットフォーム "none" クラスターの DNS A レコード設定の例
次の例は、プラットフォーム none
オプションを使用したクラスター内の名前解決のサンプル A レコードを示す BIND ゾーンファイルです。
例1.1 DNS ゾーンデータベースのサンプル
$TTL 1W @ IN SOA ns1.example.com. root ( 2019070700 ; serial 3H ; refresh (3 hours) 30M ; retry (30 minutes) 2W ; expiry (2 weeks) 1W ) ; minimum (1 week) IN NS ns1.example.com. IN MX 10 smtp.example.com. ; ; ns1.example.com. IN A 192.168.1.5 smtp.example.com. IN A 192.168.1.5 ; helper.example.com. IN A 192.168.1.5 helper.ocp4.example.com. IN A 192.168.1.5 ; api.ocp4.example.com. IN A 192.168.1.5 1 api-int.ocp4.example.com. IN A 192.168.1.5 2 ; *.apps.ocp4.example.com. IN A 192.168.1.5 3 ; master0.ocp4.example.com. IN A 192.168.1.97 4 master1.ocp4.example.com. IN A 192.168.1.98 5 master2.ocp4.example.com. IN A 192.168.1.99 6 ; worker0.ocp4.example.com. IN A 192.168.1.11 7 worker1.ocp4.example.com. IN A 192.168.1.7 8 ; ;EOF
- 1
- Kubernetes API の名前解決を提供します。レコードは API ロードバランサーの IP アドレスを参照します。
- 2
- Kubernetes API の名前解決を提供します。レコードは API ロードバランサーの IP アドレスを参照し、内部クラスター通信に使用されます。
- 3
- ワイルドカードルートの名前解決を提供します。レコードは、アプリケーション Ingress ロードバランサーの IP アドレスを参照します。アプリケーション Ingress ロードバランサーは、Ingress コントローラー Pod を実行するマシンをターゲットにします。Ingress コントローラー Pod はデフォルトでコンピュートマシンで実行されます。注記
この例では、同じロードバランサーが Kubernetes API およびアプリケーションの Ingress トラフィックに使用されます。実稼働のシナリオでは、API およびアプリケーション Ingress ロードバランサーを個別にデプロイし、それぞれのロードバランサーインフラストラクチャーを分離してスケーリングすることができます。
- 4 5 6
- コントロールプレーンマシンの名前解決を提供します。
- 7 8
- コンピュートマシンの名前解決を提供します。
プラットフォーム "none" クラスターの DNS PTR レコード設定の例
次の BIND ゾーンファイルの例は、プラットフォーム none
オプションを使用したクラスターでの逆名前解決のサンプル PTR レコードを示しています。
例1.2 逆引きレコードの DNS ゾーンデータベースの例
$TTL 1W @ IN SOA ns1.example.com. root ( 2019070700 ; serial 3H ; refresh (3 hours) 30M ; retry (30 minutes) 2W ; expiry (2 weeks) 1W ) ; minimum (1 week) IN NS ns1.example.com. ; 5.1.168.192.in-addr.arpa. IN PTR api.ocp4.example.com. 1 5.1.168.192.in-addr.arpa. IN PTR api-int.ocp4.example.com. 2 ; 97.1.168.192.in-addr.arpa. IN PTR master0.ocp4.example.com. 3 98.1.168.192.in-addr.arpa. IN PTR master1.ocp4.example.com. 4 99.1.168.192.in-addr.arpa. IN PTR master2.ocp4.example.com. 5 ; 11.1.168.192.in-addr.arpa. IN PTR worker0.ocp4.example.com. 6 7.1.168.192.in-addr.arpa. IN PTR worker1.ocp4.example.com. 7 ; ;EOF
PTR レコードは、OpenShift Container Platform アプリケーションのワイルドカードには必要ありません。
1.7.2. プラットフォーム "none" 負荷分散要件
OpenShift Container Platform をインストールする前に、API およびアプリケーションの Ingress 負荷分散インフラストラクチャーをプロビジョニングする必要があります。実稼働のシナリオでは、API およびアプリケーション Ingress ロードバランサーを個別にデプロイし、それぞれのロードバランサーインフラストラクチャーを分離してスケーリングすることができます。
これらの要件は、プラットフォーム none
オプションを使用する単一ノード OpenShift クラスターには適用されません。
Red Hat Enterprise Linux (RHEL) インスタンスを使用して API およびアプリケーションイングレスロードバランサーをデプロイする場合は、RHEL サブスクリプションを別途購入する必要があります。
負荷分散インフラストラクチャーは以下の要件を満たす必要があります。
API ロードバランサー: プラットフォームと対話およびプラットフォームを設定するためのユーザー向けの共通のエンドポイントを提供します。以下の条件を設定します。
- Layer 4 の負荷分散のみ。これは、Raw TCP、SSL パススルー、または SSL ブリッジモードと呼ばれます。SSL ブリッジモードを使用する場合は、API ルートの Server Name Indication (SNI) を有効にする必要があります。
- ステートレス負荷分散アルゴリズム。オプションは、ロードバランサーの実装によって異なります。
重要API ロードバランサーのセッションの永続性は設定しないでください。
ロードバランサーのフロントとバックの両方で以下のポートを設定します。
表1.5 API ロードバランサー ポート バックエンドマシン (プールメンバー) 内部 外部 説明 6443
コントロールプレーンAPI サーバーのヘルスチェックプローブの
/readyz
エンドポイントを設定する必要があります。X
X
Kubernetes API サーバー
22623
コントロールプレーン
X
マシン設定サーバー
注記ロードバランサーは、API サーバーが
/readyz
エンドポイントをオフにしてからプールから API サーバーインスタンスを削除するまで最大 30 秒かかるように設定する必要があります。/readyz
の後の時間枠内でエラーが返されたり、正常になったりする場合は、エンドポイントが削除または追加されているはずです。5 秒または 10 秒ごとにプローブし、2 つの正常な要求が正常な状態になり、3 つの要求が正常な状態になりません。これらは十分にテストされた値です。Application Ingress ロードバランサー: クラスター外から送られるアプリケーショントラフィックの Ingress ポイントを提供します。Ingress ルーターの作業用の設定が OpenShift Container Platform クラスターに必要です。
以下の条件を設定します。
- Layer 4 の負荷分散のみ。これは、Raw TCP、SSL パススルー、または SSL ブリッジモードと呼ばれます。SSL ブリッジモードを使用する場合は、Ingress ルートの Server Name Indication (SNI) を有効にする必要があります。
- 選択可能なオプションやプラットフォーム上でホストされるアプリケーションの種類に基づいて、接続ベースの永続化またはセッションベースの永続化が推奨されます。
ヒントクライアントの実際の IP アドレスがアプリケーション Ingress ロードバランサーによって確認できる場合、ソースの IP ベースのセッション永続化を有効にすると、エンドツーエンドの TLS 暗号化を使用するアプリケーションのパフォーマンスを強化できます。
ロードバランサーのフロントとバックの両方で以下のポートを設定します。
表1.6 アプリケーション Ingress ロードバランサー ポート バックエンドマシン (プールメンバー) 内部 外部 説明 443
デフォルトで Ingress コントローラー Pod、コンピュート、またはワーカーを実行するマシン。
X
X
HTTPS トラフィック
80
デフォルトで Ingress コントローラー Pod、コンピュート、またはワーカーを実行するマシン。
X
X
HTTP トラフィック
注記ゼロ (0) コンピュートノードで 3 ノードクラスターをデプロイする場合、Ingress コントローラー Pod はコントロールプレーンノードで実行されます。3 ノードクラスターデプロイメントでは、HTTP および HTTPS トラフィックをコントロールプレーンノードにルーティングするようにアプリケーション Ingress ロードバランサーを設定する必要があります。
1.7.2.1. プラットフォーム "none" クラスターのロードバランサー設定の例
このセクションでは、プラットフォーム none
オプションを使用してクラスターのロードバランシング要件を満たす API とアプリケーションの Ingress ロードバランサー設定の例を示します。この例は、HAProxy ロードバランサーの /etc/haproxy/haproxy.cfg
設定です。この例では、特定の負荷分散ソリューションを選択するためのアドバイスを提供することを目的としていません。
この例では、同じロードバランサーが Kubernetes API およびアプリケーションの Ingress トラフィックに使用されます。実稼働のシナリオでは、API およびアプリケーション Ingress ロードバランサーを個別にデプロイし、それぞれのロードバランサーインフラストラクチャーを分離してスケーリングすることができます。
HAProxy をロードバランサーとして使用し、SELinux が enforcing
に設定されている場合は、setsebool -P haproxy_connect_any=1
を実行して、HAProxy サービスが設定済みの TCP ポートにバインドできることを確認する必要があります。
例1.3 API およびアプリケーション Ingress ロードバランサーの設定例
global log 127.0.0.1 local2 pidfile /var/run/haproxy.pid maxconn 4000 daemon defaults mode http log global option dontlognull option http-server-close option redispatch retries 3 timeout http-request 10s timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m timeout http-keep-alive 10s timeout check 10s maxconn 3000 listen api-server-6443 1 bind *:6443 mode tcp server master0 master0.ocp4.example.com:6443 check inter 1s server master1 master1.ocp4.example.com:6443 check inter 1s server master2 master2.ocp4.example.com:6443 check inter 1s listen machine-config-server-22623 2 bind *:22623 mode tcp server master0 master0.ocp4.example.com:22623 check inter 1s server master1 master1.ocp4.example.com:22623 check inter 1s server master2 master2.ocp4.example.com:22623 check inter 1s listen ingress-router-443 3 bind *:443 mode tcp balance source server worker0 worker0.ocp4.example.com:443 check inter 1s server worker1 worker1.ocp4.example.com:443 check inter 1s listen ingress-router-80 4 bind *:80 mode tcp balance source server worker0 worker0.ocp4.example.com:80 check inter 1s server worker1 worker1.ocp4.example.com:80 check inter 1s
- 1
- ポート
6443
は Kubernetes API トラフィックを処理し、コントロールプレーンマシンを参照します。 - 2
- ポート
22623
はマシン設定サーバートラフィックを処理し、コントロールプレーンマシンを参照します。 - 3
- ポート
443
は HTTPS トラフィックを処理し、Ingress コントローラー Pod を実行するマシンを参照します。Ingress コントローラー Pod はデフォルトでコンピュートマシンで実行されます。 - 4
- ポート
80
は HTTP トラフィックを処理し、Ingress コントローラー Pod を実行するマシンを参照します。Ingress コントローラー Pod はデフォルトでコンピュートマシンで実行されます。注記ゼロ (0) コンピュートノードで 3 ノードクラスターをデプロイする場合、Ingress コントローラー Pod はコントロールプレーンノードで実行されます。3 ノードクラスターデプロイメントでは、HTTP および HTTPS トラフィックをコントロールプレーンノードにルーティングするようにアプリケーション Ingress ロードバランサーを設定する必要があります。
HAProxy をロードバランサーとして使用する場合は、HAProxy ノードで netstat -nltupe
を実行して、ポート 6443
、22623
、443
、および 80
で haproxy
プロセスがリッスンしていることを確認することができます。
1.8. 例: ボンディングと VLAN インターフェイスノードのネットワーク設定
次の agent-config.yaml
ファイルは、ボンディングおよび VLAN インターフェイスのマニフェストの例です。
apiVersion: v1alpha1 kind: AgentConfig rendezvousIP: 10.10.10.14 hosts: - hostname: master0 role: master interfaces: - name: enp0s4 macAddress: 00:21:50:90:c0:10 - name: enp0s5 macAddress: 00:21:50:90:c0:20 networkConfig: interfaces: - name: bond0.300 1 type: vlan 2 state: up vlan: base-iface: bond0 id: 300 ipv4: enabled: true address: - ip: 10.10.10.14 prefix-length: 24 dhcp: false - name: bond0 3 type: bond 4 state: up mac-address: 00:21:50:90:c0:10 5 ipv4: enabled: false ipv6: enabled: false link-aggregation: mode: active-backup 6 options: miimon: "150" 7 port: - enp0s4 - enp0s5 dns-resolver: 8 config: server: - 10.10.10.11 - 10.10.10.12 routes: config: - destination: 0.0.0.0/0 next-hop-address: 10.10.10.10 9 next-hop-interface: bond0.300 10 table-id: 254
- 1 3
- インターフェイスの名前。
- 2
- インターフェイスのタイプ。以下の例では VLAN を作成します。
- 4
- インターフェイスのタイプ。この例では、ボンドを作成します。
- 5
- インターフェイスの MAC アドレス。
- 6
mode
属性は、ボンドモードを指定します。- 7
- MII リンクの監視頻度をミリ秒単位で指定します。この例では、ボンディングリンクを 150 ミリ秒ごとに検査します。
- 8
- オプション:DNS サーバーの検索およびサーバー設定を指定します。
- 9
- ノードトラフィックのネクストホップアドレス。これは、指定されたインターフェイスに設定される IP アドレスと同じサブネットにある必要があります。
- 10
- ノードトラフィックのネクストホップインターフェイス。
1.9. 例: ボンディングと SR-IOV デュアル NIC ノードのネットワーク設定
次の agent-config.yaml
ファイルは、ボンドと SR-IOV インターフェイスを備えたデュアルポート NIC のマニフェストの例です。
apiVersion: v1alpha1 kind: AgentConfig rendezvousIP: 10.10.10.14 hosts: - hostname: worker-1 interfaces: - name: eno1 macAddress: 0c:42:a1:55:f3:06 - name: eno2 macAddress: 0c:42:a1:55:f3:07 networkConfig: 1 interfaces: 2 - name: eno1 3 type: ethernet 4 state: up mac-address: 0c:42:a1:55:f3:06 ipv4: enabled: true dhcp: false 5 ethernet: sr-iov: total-vfs: 2 6 ipv6: enabled: false - name: sriov:eno1:0 type: ethernet state: up 7 ipv4: enabled: false 8 ipv6: enabled: false dhcp: false - name: sriov:eno1:1 type: ethernet state: down - name: eno2 type: ethernet state: up mac-address: 0c:42:a1:55:f3:07 ipv4: enabled: true ethernet: sr-iov: total-vfs: 2 ipv6: enabled: false - name: sriov:eno2:0 type: ethernet state: up ipv4: enabled: false ipv6: enabled: false - name: sriov:eno2:1 type: ethernet state: down - name: bond0 type: bond state: up min-tx-rate: 100 9 max-tx-rate: 200 10 link-aggregation: mode: active-backup 11 options: primary: sriov:eno1:0 12 port: - sriov:eno1:0 - sriov:eno2:0 ipv4: address: - ip: 10.19.16.57 13 prefix-length: 23 dhcp: false enabled: true ipv6: enabled: false dns-resolver: config: server: - 10.11.5.160 - 10.2.70.215 routes: config: - destination: 0.0.0.0/0 next-hop-address: 10.19.17.254 next-hop-interface: bond0 14 table-id: 254
- 1
networkConfig
フィールドには、ホストのネットワーク設定に関する情報が含まれ、サブフィールドには、interfaces
、dns-resolver
、およびroutes
が含まれます。- 2
interfaces
フィールドは、ホスト用に定義されたネットワークインターフェイスの配列です。- 3
- インターフェイスの名前。
- 4
- インターフェイスのタイプ。この例では、イーサネットインターフェイスを作成します。
- 5
- 厳密に必要ではない場合、物理機能 (PF) の DHCP を無効にするには、これを
false
に設定します。 - 6
- これを、インスタンス化する SR-IOV 仮想機能 (VF) の数に設定します。
- 7
- これを
up
に設定します。 - 8
- ボンドに接続された VF の IPv4 アドレス指定を無効にするには、これを
false
に設定します。 - 9
- VF の最小伝送速度 (Mbps) を設定します。このサンプル値は、100 Mbps のレートを設定します。
- この値は、最大伝送レート以下である必要があります。
-
Intel NIC は
min-tx-rate
パラメーターをサポートしていません。詳細は、BZ#1772847 を参照してください。
- 10
- VF の最大伝送速度 (Mbps) を設定します。このサンプル値は、200 Mbps のレートを設定します。
- 11
- 目的のボンディングモードを設定します。
- 12
- ボンディングインターフェイスの優先ポートを設定します。プライマリーデバイスは、最初に使用されるボンディングインターフェイスであり、障害が発生しないかぎり、破棄されません。この設定が特に役立つのは、ボンディングインターフェイスの NIC の 1 つが高速なため、大規模な負荷に対応できる場合です。この設定は、ボンディングインターフェイスが
active-backup
モード (モード 1) およびbalance-tlb
(モード 5) の場合のみに有効です。 - 13
- ボンドインターフェイスの静的 IP アドレスを設定します。これはノードの IP アドレスです。
- 14
- デフォルトルートのゲートウェイとして
bond0
を設定します。
関連情報
1.10. ベアメタルのサンプル install-config.yaml ファイル
install-config.yaml
ファイルをカスタマイズして、OpenShift Container Platform クラスターのプラットフォームに関する詳細を指定するか、必要なパラメーターの値を変更することができます。
apiVersion: v1 baseDomain: example.com 1 compute: 2 - name: worker replicas: 0 3 controlPlane: 4 name: master replicas: 1 5 metadata: name: sno-cluster 6 networking: clusterNetwork: - cidr: 10.128.0.0/14 7 hostPrefix: 23 8 networkType: OVNKubernetes 9 serviceNetwork: 10 - 172.30.0.0/16 platform: none: {} 11 fips: false 12 pullSecret: '{"auths": ...}' 13 sshKey: 'ssh-ed25519 AAAA...' 14
- 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
のみです。 - 10
- サービス IP アドレスに使用する IP アドレスプール。1 つの IP アドレスプールのみを入力できます。このブロックは既存の物理ネットワークと重複できません。外部ネットワークからサービスにアクセスする必要がある場合、ロードバランサーおよびルーターを、トラフィックを管理するように設定します。
- 11
- 単一ノードクラスターの場合は、プラットフォームを
none
に設定しなくてはなりません。マルチノードクラスターの場合は、プラットフォームをvsphere
、baremetal
、またはnone
に設定できます。注記プラットフォームを
vsphere
またはbaremetal
に設定すると、次の 3 つの方法でクラスターノードの IP アドレスエンドポイントを設定できます。- IPv4
- IPv6
- IPv4 と 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
- 12
- FIPS モードを有効または無効にするかどうか。デフォルトでは、FIPS モードは有効にされません。FIPS モードが有効にされている場合、OpenShift Container Platform が実行される Red Hat Enterprise Linux CoreOS (RHCOS) マシンがデフォルトの Kubernetes 暗号スイートをバイパスし、代わりに RHCOS で提供される暗号モジュールを使用します。重要
FIPS モードでブートされた Red Hat Enterprise Linux (RHEL) または Red Hat Enterprise Linux CoreOS (RHCOS) を実行する場合、OpenShift Container Platform コアコンポーネントは、x86_64、ppc64le、および s390x アーキテクチャーのみで、FIPS 140-2/140-3 検証のために NIST に提出された RHEL 暗号化ライブラリーを使用します。
- 13
- このプルシークレットを使用し、OpenShift Container Platform コンポーネントのコンテナーイメージを提供する Quay.io など、組み込まれた各種の認証局によって提供されるサービスで認証できます。
- 14
- Red Hat Enterprise Linux CoreOS (RHCOS) の
core
ユーザーの SSH 公開鍵。注記インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、
ssh-agent
プロセスが使用する SSH キーを指定します。
1.11. agent.ISO の作成前の検証チェック
Agent-based Installer は、ISO が作成される前に、ユーザー定義の YAML ファイルに対して検証チェックを実行します。検証に成功すると、agent.ISO が作成されます。
install-config.yaml
-
baremetal
、vsphere
、およびnone
プラットフォームがサポートされています。 -
none
プラットフォームの場合、networkType
パラメーターはOVNKubernetes
である必要があります。 -
apiVIPs
およびingressVIPs
パラメーターは、ベアメタルおよび vSphere プラットフォームに設定する必要があります。 -
agent-config.yaml
ファイルに相当するベアメタルプラットフォーム設定の一部のホスト固有フィールドは無視されます。これらのフィールドが設定されている場合、警告メッセージがログに記録されます。
agent-config.yaml
- 各インターフェイスには、定義された MAC アドレスが必要です。また、すべてのインターフェイスに異なる MAC アドレスが必要です。
- ホストごとに少なくとも 1 つのインターフェイスを定義する必要があります。
- World Wide Name (WWN) ベンダーエクステンションは、ルートデバイスのヒントではサポートされません。
-
host
オブジェクトのrole
パラメーターの値はmaster
またはworker
のいずれかである必要があります。
1.11.1. ZTP マニフェスト
agent-cluster-install.yaml
-
IPv6 の場合、
networkType
パラメーターでサポートされる唯一の値はOVNKubernetes
です。OpenShiftSDN
値は、IPv4 にのみ使用できます。
cluster-image-set.yaml
-
ReleaseImage
パラメーターは、インストーラーで定義されるリリースと一致する必要があります。
1.12. 次のステップ
第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
出力例
To use the new mirrored repository to install, add the following section to the install-config.yaml: imageContentSources: mirrors: virthost.ostest.test.metalkube.org:5000/localimages/local-release-image source: quay.io/openshift-release-dev/ocp-v4.0-art-dev mirrors: virthost.ostest.test.metalkube.org:5000/localimages/local-release-image source: registry.ci.openshift.org/ocp/release
次の例は、oc-mirror プラグインによって生成された imageContentSourcePolicy.yaml
ファイルの一部を示しています。このファイルは結果ディレクトリーにあります (例: oc-mirror-workspace/results-1682697932/
)。
imageContentSourcePolicy.yaml
ファイルの例
spec: repositoryDigestMirrors: - mirrors: - virthost.ostest.test.metalkube.org:5000/openshift/release source: quay.io/openshift-release-dev/ocp-v4.0-art-dev - mirrors: - virthost.ostest.test.metalkube.org:5000/openshift/release-images source: quay.io/openshift-release-dev/ocp-release
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-----
GitOps ZTP マニフェストを使用している場合:
registries.conf
およびca-bundle.crt
ファイルをmirror
パスに追加して、エージェント ISO イメージにミラー設定を追加します。注記oc adm release mirror
コマンドまたはoc mirror
プラグインの出力からregistries.conf
ファイルを作成できます。/etc/containers/registries.conf
ファイルの形式が変更されました。現在のバージョンはバージョン 2 で、TOML 形式です。registries.conf
ファイルの例[[registry]] location = "registry.ci.openshift.org/ocp/release" mirror-by-digest-only = true [[registry.mirror]] location = "virthost.ostest.test.metalkube.org:5000/localimages/local-release-image" [[registry]] location = "quay.io/openshift-release-dev/ocp-v4.0-art-dev" mirror-by-digest-only = true [[registry.mirror]] location = "virthost.ostest.test.metalkube.org:5000/localimages/local-release-image"
2.3. 関連情報
第3章 Agent-based Installer を使用した OpenShift Container Platform クラスターのインストール
以下の手順に従って、Agent-based Installer を使用して、OpenShift Container Platform クラスターをインストールします。
3.1. 前提条件
- OpenShift Container Platform のインストールおよび更新 プロセスの詳細を確認した。
- クラスターインストール方法の選択およびそのユーザー向けの準備 を確認した。
- ファイアウォールまたプロキシーを使用する場合は、クラスターがアクセスを必要とするサイトを許可するようにファイアウォールを設定する必要がある。
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 4.17.0 built from commit abc123def456 release image quay.io/openshift-release-dev/ocp-release@sha256:123abc456def789ghi012jkl345mno678pqr901stu234vwx567yz0 release architecture amd64
multi
ペイロードが含まれるリリースイメージを使用している場合、このコマンドの出力に表示されるrelease architecture
はデフォルトのアーキテクチャーです。ペイロードのアーキテクチャーを確認するには、次のコマンドを実行します。
$ oc adm release info <release_image> -o jsonpath="{ .metadata.metadata}" 1
- 1
<release_image>
をリリースイメージに置き換えます。例:quay.io/openshift-release-dev/ocp-release@sha256:123abc456def789ghi012jkl345mno678pqr901stu234vwx567yz0
。
リリースイメージが
multi
ペイロードを使用する場合の出力例{"release.openshift.io architecture":"multi"}
multi
ペイロードが含まれるリリースイメージを使用している場合は、arm64
、amd64
、s390x
、ppc64le
などのさまざまなアーキテクチャーにクラスターをインストールできます。それ以外の場合、クラスターはopenshift-install version
コマンドの出力に表示されるrelease architecture
にのみインストールできます。
3.2.3. 優先設定入力の作成
この手順を使用して、エージェントイメージの作成に使用される優先設定入力を作成します。
手順
以下のコマンドを実行して
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: 4 none: {} pullSecret: '<pull_secret>' 5 sshKey: '<ssh_pub_key>' 6 EOF
- 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 は、ベアメタルプラットフォームでのみサポートされます。
デュアルスタックネットワーキングの例
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: v1beta1 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 形式で設定します。
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
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
ディレクトリーを別のパーティションにマウントします。variant: openshift version: 4.17.0 metadata: labels: machineconfiguration.openshift.io/role: worker name: 98-var-partition storage: disks: - device: /dev/disk/by-id/<device_name> 1 partitions: - label: var start_mib: <partition_start_offset> 2 size_mib: <partition_size> 3 number: 5 filesystems: - device: /dev/disk/by-partlabel/var path: /var format: xfs mount_options: [defaults, prjquota] 4 with_mount_unit: true
- 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
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>
重要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) の詳細は、ネットワーク遠端の課題 を参照してください。
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>
重要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
次のセクションを
agent-cluster-install.yaml
ファイルに追加します。diskEncryption: enableOn: all 1 mode: tang 2 tangServers: "server1": "http://tang-server-1.example.com:7500" 3
関連情報
3.2.7. エージェントイメージの作成と起動
この手順を使用して、マシンでエージェントイメージを起動します。
手順
以下のコマンドを実行して 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
、またはagent.s390x.iso
イメージを起動します。
3.2.8. RHEL KVM を使用した IBM Z エージェントの追加
RHEL KVM を使用して IBM Z® エージェントを手動で追加するには、次の手順を使用します。この手順は、RHEL KVM を使用する IBM Z® クラスターにのみ使用してください。
KVM ブートには nmstateconfig
パラメーターを設定する必要があります。
手順
- RHEL KVM マシンを起動します。
仮想サーバーをデプロイするために、次のパラメーターを指定して
virt-install
コマンドを実行します。$ virt-install --name <vm_name> \ --autostart \ --memory=<memory> \ --cpu host \ --vcpus=<vcpus> \ --cdrom <agent_iso_image> \ 1 --disk pool=default,size=<disk_pool_size> \ --network network:default,mac=<mac_address> \ --graphics none \ --noautoconsole \ --os-variant rhel9.0 \ --wait=-1
- 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 \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.17 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 状態の例 を参照してください。
3.3. GitOps ZTP カスタムリソースのサンプル
オプションで、GitOps Zero Touch Provisioning (ZTP) カスタムリソース (CR) オブジェクトを使用して、Agent-based Installer で OpenShift Container Platform クラスターをインストールできます。
以下の GitOps ZTP カスタムリソースをカスタマイズして、OpenShift Container Platform クラスターの詳細を指定できます。次のサンプル GitOps ZTP カスタムリソースは、単一ノードクラスター用です。
agent-cluster-install.yaml
ファイルの例
apiVersion: extensions.hive.openshift.io/v1beta1 kind: AgentClusterInstall metadata: name: test-agent-cluster-install namespace: cluster0 spec: clusterDeploymentRef: name: ostest imageSetRef: name: openshift-4.17 networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 serviceNetwork: - 172.30.0.0/16 provisionRequirements: controlPlaneAgents: 1 workerAgents: 0 sshPublicKey: <ssh_public_key>
cluster-deployment.yaml
ファイルの例
apiVersion: hive.openshift.io/v1 kind: ClusterDeployment metadata: name: ostest namespace: cluster0 spec: baseDomain: test.metalkube.org clusterInstallRef: group: extensions.hive.openshift.io kind: AgentClusterInstall name: test-agent-cluster-install version: v1beta1 clusterName: ostest controlPlaneConfig: servingCertificates: {} platform: agentBareMetal: agentSelector: matchLabels: bla: aaa pullSecretRef: name: pull-secret
cluster-image-set.yaml
ファイルの例
apiVersion: hive.openshift.io/v1 kind: ClusterImageSet metadata: name: openshift-4.17 spec: releaseImage: registry.ci.openshift.org/ocp/release:4.17.0-0.nightly-2022-06-06-025509
infra-env.yaml
ファイルの例
apiVersion: agent-install.openshift.io/v1beta1 kind: InfraEnv metadata: name: myinfraenv namespace: cluster0 spec: clusterRef: name: ostest namespace: cluster0 cpuArchitecture: aarch64 pullSecretRef: name: pull-secret sshAuthorizedKey: <ssh_public_key> nmStateConfigLabelSelector: matchLabels: cluster0-nmstate-label-name: cluster0-nmstate-label-value
nmstateconfig.yaml
ファイルの例
apiVersion: agent-install.openshift.io/v1beta1 kind: NMStateConfig metadata: name: master-0 namespace: openshift-machine-api labels: cluster0-nmstate-label-name: cluster0-nmstate-label-value spec: config: interfaces: - name: eth0 type: ethernet state: up mac-address: 52:54:01:aa:aa:a1 ipv4: enabled: true address: - ip: 192.168.122.2 prefix-length: 23 dhcp: false dns-resolver: config: server: - 192.168.122.1 routes: config: - destination: 0.0.0.0/0 next-hop-address: 192.168.122.1 next-hop-interface: eth0 table-id: 254 interfaces: - name: "eth0" macAddress: 52:54:01:aa:aa:a1
pull-secret.yaml
ファイルの例
apiVersion: v1 kind: Secret type: kubernetes.io/dockerconfigjson metadata: name: pull-secret namespace: cluster0 stringData: .dockerconfigjson: <pull_secret>
関連情報
- GitOps ゼロタッチプロビジョニング (ZTP) の詳細は、ネットワーク遠端の課題 を参照してください。
3.4. 失敗したエージェントベースのインストールからログデータを収集する
次の手順を使用して、失敗したエージェントベースのインストールに関するログデータを収集し、サポートケースで提供できるよう備えます。
前提条件
- Kubernetes API サーバーの DNS レコードを設定している。
手順
次のコマンドを実行し、出力を収集します。
$ ./openshift-install --dir <installation_directory> agent wait-for bootstrap-complete --log-level=debug
エラーメッセージの例
... ERROR Bootstrap failed to complete: : bootstrap process timed out: context deadline exceeded
直前のコマンド出力で障害の発生が示された場合、またはブートストラップが進行していない場合は、次のコマンドを実行してランデブーホストに接続し、出力を収集します。
$ ssh core@<node-ip> agent-gather -O >agent-gather.tar.xz
注記Red Hat サポートは、ランデブーホストから収集したデータを使用してほとんどの問題を診断できますが、一部のホストが登録できない場合はすべてのホストからこのデータを収集すると役立ちます。
ブートストラップが完了し、クラスターノードが再起動したら、次のコマンドを実行して出力を収集します。
$ ./openshift-install --dir <install_directory> agent wait-for install-complete --log-level=debug
前のコマンドの出力が失敗を示している場合は、次の手順を実行します。
次のコマンドを実行して、
kubeconfig
ファイルを環境にエクスポートします。$ export KUBECONFIG=<install_directory>/auth/kubeconfig
次のコマンドを実行して、デバッグ用の情報を収集します。
$ oc adm must-gather
次のコマンドを実行して、作業ディレクトリーに作成した
must-gather
ディレクトリーから圧縮ファイルを作成します。$ tar cvaf must-gather.tar.gz <must_gather_directory>
-
/auth
サブディレクトリーを除いて、デプロイメント中に使用したインストールディレクトリーを Red Hat カスタマーポータル のサポートケースに添付します。 - この手順で収集した他のすべてのデータをサポートケースに添付してください。
第4章 OpenShift Container Platform 用の PXE アセットの準備
Agent-based Installer を使用して OpenShift Container Platform クラスターを PXE ブートするために必要なアセットを作成するには、以下の手順を使用します。
これらの手順で作成したアセットは、単一ノードの OpenShift Container Platform インストールをデプロイします。これらの手順を基礎として使用し、要件に応じて設定を変更できます。
Agent-based Installer で使用できるその他の設定は、Agent-based Installer を使用した OpenShift Container Platform クラスターのインストール を参照してください。
4.1. 前提条件
- OpenShift Container Platform のインストールおよび更新 プロセスの詳細を確認した。
4.2. 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
上のディレクトリーに配置します。
4.3. 優先設定入力の作成
この手順を使用して、PXE ファイルの作成に使用される優先設定入力を作成します。
手順
以下のコマンドを実行して
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: 4 none: {} pullSecret: '<pull_secret>' 5 sshKey: '<ssh_pub_key>' 6 EOF
- 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 は、ベアメタルプラットフォームでのみサポートされます。
デュアルスタックネットワーキングの例
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: v1beta1 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 形式で設定します。
オプション: iPXE スクリプトを作成するには、
bootArtifactsBaseURL
をagent-config.yaml
ファイルに追加します。apiVersion: v1beta1 kind: AgentConfig metadata: name: sno-cluster rendezvousIP: 192.168.111.80 bootArtifactsBaseURL: <asset_server_URL>
<asset_server_URL>
は、PXE アセットをアップロードするサーバーの URL です。
関連情報
- デュアルスタックネットワークを使用したデプロイメント。
- install-config.yaml ファイルの設定。
- ベアメタル環境に 3 ノードクラスターをデプロイするための 3 ノードクラスターの設定 を参照してください。
- ルートデバイスヒントについて。
- NMState 状態の例。
- オプション: 追加のマニフェストファイルの作成
4.4. PXE アセットの作成
次の手順を使用して、PXE インフラストラクチャーに実装するアセットとオプションのスクリプトを作成します。
手順
次のコマンドを実行して、PXE アセットを作成します。
$ openshift-install agent create pxe-files
生成された PXE アセットと任意の iPXE スクリプトは、
boot-artifacts
ディレクトリーにあります。PXE アセットとオプションの iPXE スクリプトを含むファイルシステムの例
boot-artifacts ├─ agent.x86_64-initrd.img ├─ agent.x86_64.ipxe ├─ agent.x86_64-rootfs.img └─ agent.x86_64-vmlinuz
重要boot-artifacts
ディレクトリーの内容は、指定したアーキテクチャーによって異なります。注記Red Hat Enterprise Linux CoreOS (RHCOS) はプライマリーディスクでのマルチパスをサポートするようになり、ハードウェア障害に対する対障害性が強化され、ホストの可用性を強化できるようになりました。マルチパス化は、デフォルトの
/etc/multipath.conf
設定を使用して、agent ISO イメージでデフォルトで有効になっています。PXE アセットと任意のスクリプトをインフラストラクチャーにアップロードし、ブートプロセス中にアクセスできるようにします。
注記iPXE スクリプトを生成した場合、アセットの場所は、
agent-config.yaml
ファイルに追加したbootArtifactsBaseURL
と一致する必要があります。
4.5. IBM Z エージェントの手動追加
PXE アセットを作成した後、IBM Z® エージェントを追加できます。この手順は、IBM Z® クラスターにのみ使用してください。
IBM Z® 環境に応じて、以下の方法から選択できます。
- z/VM を使用した IBM Z® エージェントの追加
- RHEL KVM を使用した IBM Z® エージェントの追加
- 論理パーティション (LPAR) を使用した IBM Z® エージェントの追加
現在、IBM Z® (s390x
) 上の ISO ブートサポートは Red Hat Enterprise Linux (RHEL) KVM でのみ利用できます。RHEL KVM では、PXE ベースのインストールか ISO ベースのインストールのどちらかを柔軟に選択できます。z/VM および論理パーティション (LPAR) を使用したインストールでは、PXE ブートのみがサポートされます。
4.5.1. IBM Z のネットワーク要件
IBM Z 環境では、Open Systems Adapter (OSA)、HiperSockets、Remote Direct Memory Access (RDMA) over Converged Ethernet (RoCE) などの高度なネットワークテクノロジーでは、標準のネットワーク設定とは異なる特定の設定が必要であり、エージェントベースのインストールで発生する複数のブートシナリオに対してそれらの設定が保持される必要があります。
起動中にこれらのパラメーターを保持するには、paramline
に ai.ip_cfg_override=1
パラメーターが必要です。このパラメーターは、IBM Z での正常かつ効率的なデプロイメントを確実にするために、設定されたネットワークカードで使用されます。
次の表は、ネットワーク設定のオーバーライド機能について各ハイパーバイザーでサポートされているネットワークデバイスを示しています。
ネットワークデバイス | z/VM | KVM | LPAR Classic | LPAR Dynamic Partition Manager (DPM) |
---|---|---|---|---|
Virtual Switch | サポート対象 [1] | 該当なし [2] | 該当なし | 該当なし |
直接接続 Open Systems Adapter (OSA) | サポート対象 | 不要 [3] | サポート対象 | 不要 |
コンバージドイーサネット上 RDMA (RoCE) | 不要 | 不要 | 不要 | 不要 |
HiperSockets | サポート対象 | 不要 | サポート対象 | 不要 |
-
サポート対象: インストール手順に
ai.ip_cfg_override
パラメーターが必要な場合。 - 該当なし: ネットワークカードがハイパーバイザーで使用できない場合。
-
不要: インストール手順で
ai.ip_cfg_override
パラメーターが必要ない場合。
4.5.2. IBM Z でのネットワークオーバーライドの設定
論理パーティション(LPAR)および z/VM を使用する IBM Z マシンでは、静的 IP アドレスを指定できます。これは、ネットワークデバイスに静的 MAC アドレスが割り当てられていない場合に便利です。
手順
既存の
.parm
ファイルがある場合は、次のエントリーを追加するように編集します。ai.ip_cfg_override=1
このパラメーターにより、ファイルは CoreOS インストーラーにネットワーク設定を追加できます。
.parm
ファイルの例rd.neednet=1 cio_ignore=all,!condev console=ttysclp0 coreos.live.rootfs_url=<coreos_url> 1 ip=<ip>::<gateway>:<netmask>:<hostname>::none nameserver=<dns> rd.znet=qeth,<network_adaptor_range>,layer2=1 rd.<disk_type>=<adapter> 2 rd.zfcp=<adapter>,<wwpn>,<lun> random.trust_cpu=on 3 zfcp.allow_lun_scan=0 ai.ip_cfg_override=1 ignition.firstboot ignition.platform.id=metal random.trust_cpu=on
- 1
coreos.live.rootfs_url
アーティファクトには、起動するkernel
とinitramfs
に合ったrootfs
アーティファクトを指定します。HTTP プロトコルおよび HTTPS プロトコルのみがサポートされます。- 2
- direct access storage device (DASD) タイプのディスクにインストールする場合は、
rd.
を使用して、Red Hat Enterprise Linux CoreOS (RHCOS) をインストールする DASD を指定します。Fibre Channel Protocol (FCP) ディスクにインストールする場合は、rd.zfcp=<adapter>,<wwpn>,<lun>
を使用して、{rhel} のインストール先となる FCP ディスクを指定します。 - 3
rd.zfcp=0.0.8002,0x500507630400d1e3,0x4000404600000000
の例のように、adapter
、wwpn
、およびlun
の値を指定します。
override
パラメーターは、ホストのネットワーク設定をオーバーライドします。
4.5.3. z/VM を使用した IBM Z エージェントの追加
z/VM を使用して IBM Z® エージェントを手動で追加するには、次の手順を使用します。この手順は、z/VM を使用する IBM Z® クラスターにのみ使用してください。
前提条件
- ゲスト仮想マシンにアクセスできる実行中のファイルサーバー。
手順
z/VM ゲストのパラメーターファイルを作成します。
パラメーターファイルの例
rd.neednet=1 \ console=ttysclp0 \ coreos.live.rootfs_url=<rootfs_url> \ 1 ip=172.18.78.2::172.18.78.1:255.255.255.0:::none nameserver=172.18.78.1 \ 2 zfcp.allow_lun_scan=0 \ 3 ai.ip_cfg_override=1 \ rd.znet=qeth,0.0.bdd0,0.0.bdd1,0.0.bdd2,layer2=1 \ rd.dasd=0.0.4411 \ 4 rd.zfcp=0.0.8001,0x50050763040051e3,0x4000406300000000 \ 5 random.trust_cpu=on rd.luks.options=discard \ ignition.firstboot ignition.platform.id=metal \ console=tty1 console=ttyS1,115200n8 \ coreos.inst.persistent-kargs="console=tty1 console=ttyS1,115200n8"
- 1
coreos.live.rootfs_url
アーティファクトには、起動するkernel
とinitramfs
に合ったrootfs
アーティファクトを指定します。HTTP プロトコルおよび HTTPS プロトコルのみがサポートされます。- 2
ip=
パラメーターには、DHCP を使用して自動的に IP アドレスを割り当てるか、「z/VM を使用したクラスターの IBM Z® および IBM® LinuxONE へのインストール」の説明に従って手動で割り当てます。- 3
- デフォルトは
1
です。OSA ネットワークアダプターを使用する場合は、このエントリーを省略してください。 - 4
- DASD タイプのディスクにインストールする場合は、
rd.dasd
を使用して、Red Hat Enterprise Linux CoreOS (RHCOS) をインストールする DASD を指定します。FCP タイプのディスクの場合は、このエントリーを省略します。 - 5
- FCP タイプのディスクにインストールする場合は、
rd.zfcp=<adapter>,<wwpn>,<lun>
を使用して、RHCOS がインストールされる FCP ディスクを指定します。DASD タイプのディスクの場合は、このエントリーを省略します。
その他のパラメーターはすべて変更しません。
z/VM ゲスト仮想マシンの仮想リーダーに対して、
kernel.img
、generic.parm
、およびinitrd.img
ファイルの punch を実行します。詳細は、PUNCH (IBM ドキュメント) を参照してください。
ヒントCP PUNCH
コマンドを使用するか、Linux を使用している場合はvmur
コマンドを使用して、2 つの z/VM ゲスト仮想マシン間でファイルを転送できます。- ブートストラップマシン上の会話型モニターシステム (CMS) にログインします。
次のコマンドを実行して、リーダーからブートストラップマシンを IPL します。
$ ipl c
詳細は、IPL (IBM ドキュメント) を参照してください。
4.5.4. RHEL KVM を使用した IBM Z エージェントの追加
RHEL KVM を使用して IBM Z® エージェントを手動で追加するには、次の手順を使用します。この手順は、RHEL KVM を使用する IBM Z® クラスターにのみ使用してください。
KVM ブートには nmstateconfig
パラメーターを設定する必要があります。
手順
- RHEL KVM マシンを起動します。
仮想サーバーをデプロイするために、次のパラメーターを指定して
virt-install
コマンドを実行します。$ virt-install \ --name <vm_name> \ --autostart \ --ram=16384 \ --cpu host \ --vcpus=8 \ --location <path_to_kernel_initrd_image>,kernel=kernel.img,initrd=initrd.img \1 --disk <qcow_image_path> \ --network network:macvtap ,mac=<mac_address> \ --graphics none \ --noautoconsole \ --wait=-1 \ --extra-args "rd.neednet=1 nameserver=<nameserver>" \ --extra-args "ip=<IP>::<nameserver>::<hostname>:enc1:none" \ --extra-args "coreos.live.rootfs_url=http://<http_server>:8080/agent.s390x-rootfs.img" \ --extra-args "random.trust_cpu=on rd.luks.options=discard" \ --extra-args "ignition.firstboot ignition.platform.id=metal" \ --extra-args "console=tty1 console=ttyS1,115200n8" \ --extra-args "coreos.inst.persistent-kargs=console=tty1 console=ttyS1,115200n8" \ --osinfo detect=on,require=off
- 1
--location
パラメーターには、HTTP または HTTPS サーバー上の kernel/initrd の場所を指定します。
4.5.5. 論理パーティション (LPAR) への IBM Z エージェントの追加
LPAR 環境で実行されるクラスターに IBM Z® エージェントを手動で追加するには、次の手順に従います。この手順は、LPAR で実行される IBM Z® クラスターに対してのみ使用してください。
前提条件
- Python 3 がインストールされている。
- 論理パーティション (LPAR) にアクセスできる実行中のファイルサーバー。
手順
エージェントのブートパラメーターファイルを作成します。
パラメーターファイルの例
rd.neednet=1 cio_ignore=all,!condev \ console=ttysclp0 \ ignition.firstboot ignition.platform.id=metal coreos.live.rootfs_url=http://<http_server>/rhcos-<version>-live-rootfs.<architecture>.img \1 coreos.inst.persistent-kargs=console=ttysclp0 ip=<ip>::<gateway>:<netmask>:<hostname>::none nameserver=<dns> \2 rd.znet=qeth,<network_adaptor_range>,layer2=1 rd.<disk_type>=<adapter> \3 zfcp.allow_lun_scan=0 ai.ip_cfg_override=1 \// random.trust_cpu=on rd.luks.options=discard
- 1
coreos.live.rootfs_url
アーティファクトには、起動するkernel
とinitramfs
に合ったrootfs
アーティファクトを指定します。HTTP プロトコルおよび HTTPS プロトコルのみがサポートされます。- 2
ip
パラメーターは、z/VM を使用したクラスターの IBM Z および IBM IBM® LinuxONE へのインストール の説明に従って、IP アドレスを手動で割り当てます。- 3
- DASD タイプのディスクにインストールする場合は、
rd.dasd
を使用して、Red Hat Enterprise Linux CoreOS (RHCOS) をインストールする DASD を指定します。FCP タイプのディスクにインストールする場合は、rd.zfcp=<adapter>,<wwpn>,<lun>
を使用して、RHCOS がインストールされる FCP ディスクを指定します。
注記.ins
およびinitrd.img.addrsize
ファイルは、インストールプログラムからのブートアーティファクトの一部としてs390x
アーキテクチャー用に自動的に生成され、LPAR 環境でのブート時にのみ使用されます。LPAR ブートによるファイルシステムの例
boot-artifacts ├─ agent.s390x-generic.ins ├─ agent.s390x-initrd.addrsize ├─ agent.s390x-rootfs.img └─ agent.s390x-kernel.img └─ agent.s390x-rootfs.img
-
initrd
、kernel
、generic.ins
、およびinitrd.img.addrsize
パラメーターファイルをファイルサーバーに転送します。詳細は、Booting Linux in LPAR mode (IBM ドキュメント) を参照してください。 - マシンを起動します。
- クラスター内の他のマシンすべてに対してこの手順を繰り返します。
第5章 Kubernetes Operator のマルチクラスターエンジン用の Agent ベースのインストール済みクラスターの準備
マルチクラスターエンジン Operator をインストールし、エージェントベースの OpenShift Container Platform インストーラーを使用してハブクラスターをデプロイできます。次の手順は部分的に自動化されており、最初のクラスターがデプロイメントされた後に手動の手順が必要です。
5.1. 前提条件
次のドキュメントを読んでいる。
- 必要なコンテナーイメージを取得するためのインターネットへのアクセスがある。
-
OpenShift CLI (
oc
) がインストールされている。 - 切断された環境にインストールする場合は、切断されたインストールのミラーリング用に設定されたローカルミラーレジストリーが必要です。
5.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
の例kind: ImageSetConfiguration apiVersion: mirror.openshift.io/v1alpha2 archiveSize: 4 1 storageConfig: 2 imageURL: <your-local-registry-dns-name>:<your-local-registry-port>/mirror/oc-mirror-metadata 3 skipTLS: true mirror: platform: architectures: - "amd64" channels: - name: stable-4.17 4 type: ocp additionalImages: - name: registry.redhat.io/ubi9/ubi:latest operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.17 5 packages: 6 - name: multicluster-engine 7 - name: local-storage-operator 8
- 1
- イメージセット内の各ファイルの最大サイズを GiB 単位で指定します。
- 2
- イメージセットのメタデータを受け取るバックエンドの場所を設定します。この場所は、レジストリーまたはローカルディレクトリーにすることができます。
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>
install-config.yaml
ファイルのレジストリーと証明書を更新します。Example
imageContentSources.yaml
imageContentSources: - source: "quay.io/openshift-release-dev/ocp-release" mirrors: - "<your-local-registry-dns-name>:<your-local-registry-port>/openshift/release-images" - source: "quay.io/openshift-release-dev/ocp-v4.0-art-dev" mirrors: - "<your-local-registry-dns-name>:<your-local-registry-port>/openshift/release" - source: "registry.redhat.io/ubi9" mirrors: - "<your-local-registry-dns-name>:<your-local-registry-port>/ubi9" - source: "registry.redhat.io/multicluster-engine" mirrors: - "<your-local-registry-dns-name>:<your-local-registry-port>/multicluster-engine" - source: "registry.redhat.io/rhel8" mirrors: - "<your-local-registry-dns-name>:<your-local-registry-port>/rhel8" - source: "registry.redhat.io/redhat" mirrors: - "<your-local-registry-dns-name>:<your-local-registry-port>/redhat"
さらに、証明書が
install-config.yaml
のadditionalTrustBundle
フィールドに存在することを確認してください。install-config.yaml
の例additionalTrustBundle: | -----BEGIN CERTIFICATE----- zzzzzzzzzzz -----END CERTIFICATE-------
重要oc mirror
コマンドは、いくつかの出力を含むoc-mirror-workspace
というフォルダーを作成します。これには、OpenShift Container Platform および選択した Operator に必要なすべてのミラーを識別するimageContentSourcePolicy.yaml
ファイルが含まれます。次のコマンドを実行して、クラスターマニフェストを生成します。
$ openshift-install agent create cluster-manifests
このコマンドは、クラスターマニフェストフォルダーを更新して、ミラー設定を含む
mirror
フォルダーを含めます。
5.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
apiVersion: v1 kind: Namespace metadata: labels: openshift.io/cluster-monitoring: "true" name: multicluster-engine
例
mce_operatorgroup.yaml
apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: multicluster-engine-operatorgroup namespace: multicluster-engine spec: targetNamespaces: - multicluster-engine
例
mce_subscription.yaml
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: multicluster-engine namespace: multicluster-engine spec: channel: "stable-2.3" name: multicluster-engine source: redhat-operators sourceNamespace: openshift-marketplace
注記Assisted Installer (AI) を使用して、Red Hat Advanced Cluster Management (RHACM) で分散ユニット (DU) を大規模にインストールできます。これらの分散ユニットは、ハブクラスターで有効にする必要があります。AI サービスには、手動で作成される永続ボリューム (PV) が必要です。
AI サービスの場合、以下のマニフェストを作成し、それらを
<assets_directory>/openshift
フォルダーに保存します。Example
lso_namespace.yaml
apiVersion: v1 kind: Namespace metadata: annotations: openshift.io/cluster-monitoring: "true" name: openshift-local-storage
Example
lso_operatorgroup.yaml
apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: local-operator-group namespace: openshift-local-storage spec: targetNamespaces: - openshift-local-storage
Example
lso_subscription.yaml
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: local-storage-operator namespace: openshift-local-storage spec: installPlanApproval: Automatic name: local-storage-operator source: redhat-operators sourceNamespace: openshift-marketplace
注記すべてのマニフェストを作成した後、ファイルシステムは次のように表示される必要があります。
例: ファイルシステム
<assets_directory> ├─ install-config.yaml ├─ agent-config.yaml └─ /openshift ├─ mce_namespace.yaml ├─ mce_operatorgroup.yaml ├─ mce_subscription.yaml ├─ lso_namespace.yaml ├─ lso_operatorgroup.yaml └─ lso_subscription.yaml
次のコマンドを実行して、エージェント ISO イメージを作成します。
$ openshift-install agent create image --dir <assets_directory>
- イメージの準備ができたら、ターゲットマシンを起動し、インストールが完了するまで待ちます。
インストールを監視するには、次のコマンドを実行します。
$ openshift-install agent wait-for install-complete --dir <assets_directory>
注記完全に機能するハブクラスターを設定するには、次のマニフェストを作成し、コマンド
$ oc apply -f <manifest-name>
を実行して手動で適用する必要があります。マニフェストの作成順序は重要であり、必要に応じて待機状態が表示されます。AI サービスに必要な PV については、次のマニフェストを作成します。
apiVersion: local.storage.openshift.io/v1 kind: LocalVolume metadata: name: assisted-service namespace: openshift-local-storage spec: logLevel: Normal managementState: Managed storageClassDevices: - devicePaths: - /dev/vda - /dev/vdb storageClassName: assisted-service volumeMode: Filesystem
後続のマニフェストを適用する前に、次のコマンドを使用して PV が使用可能になるまで待機します。
$ oc wait localvolume -n openshift-local-storage assisted-service --for condition=Available --timeout 10m
注記The `devicePath` is an example and may vary depending on the actual hardware configuration used.
マルチクラスターエンジンインスタンスのマニフェストを作成します。
Example
MultiClusterEngine.yaml
apiVersion: multicluster.openshift.io/v1 kind: MultiClusterEngine metadata: name: multiclusterengine spec: {}
マニフェストを作成して AI サービスを有効にします。
例
agentserviceconfig.yaml
apiVersion: agent-install.openshift.io/v1beta1 kind: AgentServiceConfig metadata: name: agent namespace: assisted-installer spec: databaseStorage: storageClassName: assisted-service accessModes: - ReadWriteOnce resources: requests: storage: 10Gi filesystemStorage: storageClassName: assisted-service accessModes: - ReadWriteOnce resources: requests: storage: 10Gi
後続のスポーククラスターをデプロイするためのマニフェストを作成します。
例
clusterimageset.yaml
apiVersion: hive.openshift.io/v1 kind: ClusterImageSet metadata: name: "4.17" spec: releaseImage: quay.io/openshift-release-dev/ocp-release:4.17.0-x86_64
マニフェストを作成して、エージェントがインストールされたクラスター (マルチクラスターエンジンと Assisted Service をホストするクラスター) をハブクラスターとしてインポートします。
例
autoimport.yaml
apiVersion: cluster.open-cluster-management.io/v1 kind: ManagedCluster metadata: labels: local-cluster: "true" cloud: auto-detect vendor: auto-detect name: local-cluster spec: hubAcceptsClient: true
マネージドクラスターが作成されるまで待ちます。
$ oc wait -n multicluster-engine managedclusters local-cluster --for condition=ManagedClusterJoined=True --timeout 10m
検証
マネージドクラスターのインストールが成功したことを確認するには、次のコマンドを実行します。
$ oc get managedcluster NAME HUB ACCEPTED MANAGED CLUSTER URLS JOINED AVAILABLE AGE local-cluster true https://<your cluster url>:6443 True True 77m
関連情報
第6章 Agent-based Installer のインストール設定パラメーター
Agent-based Installer を使用して OpenShift Container Platform クラスターをデプロイする前に、クラスターとそれをホストするプラットフォームをカスタマイズするパラメーターを指定します。install-config.yaml
ファイルと agent-config.yaml
ファイルの作成時に、必須パラメーターの値を指定する必要があります。オプションのパラメーターを使用してクラスターをさらにカスタマイズできます。
6.1. 使用可能なインストール設定パラメーター
次の表に、エージェントベースのインストールプロセスの一部として設定できる必須およびオプションのインストール設定パラメーターを示します。
これらの値は、install-config.yaml
ファイルに指定されます。
これらの設定はインストールのみに使用され、インストール後は変更できません。
6.1.1. 必須設定パラメーター
必須のインストール設定パラメーターは、以下の表で説明されています。
パラメーター | 説明 | 値 |
---|---|---|
apiVersion: |
| 文字列 |
baseDomain: |
クラウドプロバイダーのベースドメイン。ベースドメインは、OpenShift Container Platform クラスターコンポーネントへのルートを作成するために使用されます。クラスターの完全な DNS 名は、 |
|
metadata: |
Kubernetes リソース | オブジェクト |
metadata: name: |
クラスターの名前。クラスターの DNS レコードはすべて |
|
platform: |
インストールの実行に使用する特定プラットフォームの設定: | オブジェクト |
pullSecret: | Red Hat OpenShift Cluster Manager からプルシークレット を取得して、Quay.io などのサービスから OpenShift Container Platform コンポーネントのコンテナーイメージをダウンロードすることを認証します。 |
{ "auths":{ "cloud.openshift.com":{ "auth":"b3Blb=", "email":"you@example.com" }, "quay.io":{ "auth":"b3Blb=", "email":"you@example.com" } } } |
6.1.2. ネットワーク設定パラメーター
既存のネットワークインフラストラクチャーの要件に基づいて、インストール設定をカスタマイズできます。たとえば、クラスターネットワークの IP アドレスブロックを拡張するか、デフォルトとは異なる IP アドレスブロックを指定できます。
クラスターのネットワークパラメーターを設定する前に、次の情報を考慮してください。
- Red Hat OpenShift Networking OVN-Kubernetes ネットワークプラグインを使用する場合、IPv4 と IPv6 の両方のアドレスファミリーがサポートされます。
IPv4 アドレスと非リンクローカル IPv6 アドレスの両方をサポートするネットワークを持つ OpenShift Container Platform クラスターにノードをデプロイした場合は、デュアルスタックネットワークを使用するようにクラスターを設定します。
- デュアルスタックネットワークに設定されたクラスターでは、IPv4 と IPv6 の両方のトラフィックがデフォルトゲートウェイとして同じネットワークインターフェイスを使用する必要があります。これにより、複数のネットワークインターフェイスコントローラー (NIC) 環境で、使用可能なネットワークインターフェイスに基づいて、使用する NIC をクラスターが検出できるようになります。詳細は、OVN-Kubernetes ネットワークプラグインについて の「OVN-Kubernetes IPv6 とデュアルスタックの制限」を参照してください。
- ネットワーク接続の問題を防ぐために、デュアルスタックネットワークをサポートするホストにシングルスタック IPv4 クラスターをインストールしないでください。
両方の IP アドレスファミリーを使用するようにクラスターを設定する場合は、次の要件を確認してください。
- どちらの IP ファミリーも、デフォルトゲートウェイに同じネットワークインターフェイスを使用する必要があります。
- 両方の IP ファミリーにデフォルトゲートウェイが必要です。
すべてのネットワーク設定パラメーターに対して、IPv4 アドレスと IPv6 アドレスを同じ順序で指定する必要があります。たとえば、以下の設定では、IPv4 アドレスは IPv6 アドレスの前に記載されます。
networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 - cidr: fd00:10:128::/56 hostPrefix: 64 serviceNetwork: - 172.30.0.0/16 - fd00:172:16::/112
パラメーター | 説明 | 値 |
---|---|---|
networking: | クラスターのネットワークの設定。 | オブジェクト 注記
インストール後に |
networking: networkType: | インストールする Red Hat OpenShift Networking ネットワークプラグイン。 |
|
networking: clusterNetwork: | Pod の IP アドレスブロック。
デフォルト値は 複数の IP アドレスブロックを指定する場合は、ブロックが重複しないようにしてください。 | オブジェクトの配列。以下に例を示します。 networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 - cidr: fd01::/48 hostPrefix: 64 |
networking: clusterNetwork: cidr: |
OVN-Kubernetes ネットワークプラグインを使用する場合は、IPv4 および IPv6 ネットワークを指定できます。 |
CIDR (Classless Inter-Domain Routing) 表記の IP アドレスブロック。IPv4 ブロックの接頭辞長は |
networking: clusterNetwork: hostPrefix: |
それぞれの個別ノードに割り当てるサブネット接頭辞長。たとえば、 | サブネット接頭辞。
IPv4 ネットワークの場合、デフォルト値は |
networking: serviceNetwork: |
サービスの IP アドレスブロック。デフォルト値は OVN-Kubernetes ネットワークプラグインは、サービスネットワークに対して単一の IP アドレスブロックのみをサポートします。 OVN-Kubernetes ネットワークプラグインを使用する場合、IPv4 および IPv6 アドレスファミリーの両方に IP アドレスブロックを指定できます。 | CIDR 形式の IP アドレスブロックを持つ配列。以下に例を示します。 networking: serviceNetwork: - 172.30.0.0/16 - fd02::/112 |
networking: machineNetwork: | マシンの IP アドレスブロック。 複数の IP アドレスブロックを指定する場合は、ブロックが重複しないようにしてください。 | オブジェクトの配列。以下に例を示します。 networking: machineNetwork: - cidr: 10.0.0.0/16 |
networking: machineNetwork: cidr: |
| CIDR 表記の IP ネットワークブロック。
例: 注記
優先される NIC が置かれている CIDR に一致する |
6.1.3. オプションの設定パラメーター
オプションのインストール設定パラメーターは、以下の表で説明されています。
パラメーター | 説明 | 値 |
---|---|---|
additionalTrustBundle: | ノードの信頼済み証明書ストアに追加される PEM でエンコードされた X.509 証明書バンドル。この信頼バンドルは、プロキシーが設定される際にも使用できます。 | 文字列 |
capabilities: | オプションのコアクラスターコンポーネントのインストールを制御します。オプションのコンポーネントを無効にすることで、OpenShift Container Platform クラスターのフットプリントを削減できます。詳細は、インストール の「クラスター機能ページ」を参照してください。 | 文字列配列 |
capabilities: baselineCapabilitySet: |
有効にするオプション機能の初期セットを選択します。有効な値は | 文字列 |
capabilities: additionalEnabledCapabilities: |
オプションの機能のセットを、 | 文字列配列 |
cpuPartitioningMode: | ワークロードパーティション設定を使用して、OpenShift Container Platform サービス、クラスター管理ワークロード、およびインフラストラクチャー Pod を分離し、予約された CPU セットで実行できます。ワークロードパーティショニングはインストール中にのみ有効にすることができ、インストール後に無効にすることはできません。このフィールドはワークロードのパーティショニングを有効にしますが、特定の CPU を使用するようにワークロードを設定するわけではありません。詳細は、スケーラビリティとパフォーマンス セクションの ワークロードパーティショニング ページを参照してください。 |
|
compute: | コンピュートノードを構成するマシンの設定。 |
|
compute: architecture: |
プール内のマシンの命令セットアーキテクチャーを決定します。現在、さまざまなアーキテクチャーのクラスターはサポートされていません。すべてのプールは同じアーキテクチャーを指定する必要があります。有効な値は、 | 文字列 |
compute: hyperthreading: |
コンピュートマシンで同時マルチスレッドまたは 重要 同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。 |
|
compute: name: |
|
|
compute: platform: |
|
|
compute: replicas: | プロビジョニングするコンピュートマシン (ワーカーマシンとしても知られる) の数。 |
|
featureSet: | 機能セットのクラスターを有効にします。機能セットは、デフォルトで有効にされない OpenShift Container Platform 機能のコレクションです。インストール中に機能セットを有効にする方法の詳細は、「機能ゲートの使用による各種機能の有効化」を参照してください。 |
文字列。 |
controlPlane: | コントロールプレーンを構成するマシンの設定。 |
|
controlPlane: architecture: |
プール内のマシンの命令セットアーキテクチャーを決定します。現在、さまざまなアーキテクチャーのクラスターはサポートされていません。すべてのプールは同じアーキテクチャーを指定する必要があります。有効な値は、 | 文字列 |
controlPlane: hyperthreading: |
コントロールプレーンマシンで同時マルチスレッドまたは 重要 同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。 |
|
controlPlane: name: |
|
|
controlPlane: platform: |
|
|
controlPlane: replicas: | プロビジョニングするコントロールプレーンマシンの数。 |
サポートされる値は |
credentialsMode: | Cloud Credential Operator (CCO) モード。モードを指定しないと、CCO は指定された認証情報の機能を動的に判別しようとします。この場合、複数のモードがサポートされるプラットフォームで Mint モードが優先されます。 注記 すべてのクラウドプロバイダーですべての CCO モードがサポートされているわけではありません。CCO モードの詳細は、認証と認可 コンテンツの「クラウドプロバイダーの認証情報の管理」を参照してください。 |
|
fips: |
FIPS モードを有効または無効にします。デフォルトは 重要 クラスターで FIPS モードを有効にするには、FIPS モードで動作するように設定された Red Hat Enterprise Linux (RHEL) コンピューターからインストールプログラムを実行する必要があります。RHEL で FIPS モードを設定する方法の詳細は、RHEL から FIPS モードへの切り替え を参照してください。 FIPS モードでブートされた Red Hat Enterprise Linux (RHEL) または Red Hat Enterprise Linux CoreOS (RHCOS) を実行する場合、OpenShift Container Platform コアコンポーネントは、x86_64、ppc64le、および s390x アーキテクチャーのみで、FIPS 140-2/140-3 検証のために NIST に提出された RHEL 暗号化ライブラリーを使用します。 注記 Azure File ストレージを使用している場合、FIPS モードを有効にすることはできません。 |
|
imageContentSources: | release-image コンテンツのソースおよびリポジトリー。 |
オブジェクトの配列。この表の以下の行で説明されているように、 |
imageContentSources: source: |
| 文字列 |
imageContentSources: mirrors: | 同じイメージが含まれる可能性のあるリポジトリーを 1 つ以上指定します。 | 文字列の配列。 |
publish: | Kubernetes API、OpenShift ルートなどのクラスターのユーザーに表示されるエンドポイントをパブリッシュまたは公開する方法。 |
このパラメーターを 重要
フィールドの値が |
sshKey: | クラスターマシンへのアクセスを認証するための SSH キー。 注記
インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、 |
たとえば、 |
6.1.4. Agent-based Installer 用の追加のベアメタル設定パラメーター
Agent-based Installer 用の追加のベアメタルインストール設定パラメーターについて、次の表で説明します。
以下のフィールドは、クラスターの初期プロビジョニング中には使用されませんが、クラスターのインストールが完了すると使用できるようになります。インストール時にこれらのフィールドを設定しておくと、Day 2 オペレーション中にフィールドを設定する必要がなくなります。
パラメーター | 説明 | 値 |
---|---|---|
platform: baremetal: clusterProvisioningIP: |
プロビジョニングサービスが実行されるクラスター内の IP アドレス。デフォルトは、プロビジョニングサブネットの 3 番目の IP アドレスに設定されます。たとえば、 | IPV4 または IPV6 アドレス。 |
platform: baremetal: provisioningNetwork: |
|
|
platform: baremetal: provisioningMACAddress: | プロビジョニングサービスを実行するクラスター内の MAC アドレス。 | MAC アドレス |
platform: baremetal: provisioningNetworkCIDR: | プロビジョニングに使用するネットワークの CIDR。このオプションは、プロビジョニングネットワークでデフォルトのアドレス範囲を使用しない場合に必要です。 |
有効な CIDR (例: |
platform: baremetal: provisioningNetworkInterface: |
ベアメタルネットワークに接続されたノード上のネットワークインターフェイス名。 | 文字列。 |
platform: baremetal: provisioningDHCPRange: |
プロビジョニングネットワーク上のノードの IP 範囲を定義します (例: | IP アドレスの範囲。 |
platform: baremetal: hosts: | ベアメタルホストの設定。 | ホスト設定オブジェクトの配列。 |
platform: baremetal: hosts: name: | ホストの名前。 | 文字列。 |
platform: baremetal: hosts: bootMACAddress: | ホストのプロビジョニングに使用する NIC の MAC アドレス。 | MAC アドレス |
platform: baremetal: hosts: bmc: | ホストがベースボード管理コントローラー (BMC) に接続するための設定。 | BMC 設定オブジェクトのディクショナリー。 |
platform: baremetal: hosts: bmc: username: | BMC のユーザー名。 | 文字列。 |
platform: baremetal: hosts: bmc: password: | BMC のパスワード。 | 文字列。 |
platform: baremetal: hosts: bmc: address: |
ホストの BMC コントローラーと通信するための URL。address 設定ではプロトコルを指定します。たとえば、 | URL。 |
platform: baremetal: hosts: bmc: disableCertificateVerification: |
| ブール値。 |
6.1.5. 追加の VMware vSphere 設定パラメーター
追加の VMware vSphere 設定パラメーターは以下の表で説明されています。
パラメーター | 説明 | 値 |
---|---|---|
platform: vsphere: | クラスターをホストするクラウドプラットフォーム上のアカウントを説明します。パラメーターを使用してプラットフォームをカスタマイズできます。マシンプール内のコンピュートマシンとコントロールプレーンマシンに追加の設定を指定する場合、このパラメーターは必要ありません。 | vSphere 設定オブジェクトのディクショナリー |
platform: vsphere: failureDomains: |
リージョンとゾーン間の関係を確立します。障害ドメインは、 | 障害ドメイン設定オブジェクトの配列。 |
platform: vsphere: failureDomains: name: | 障害ドメインの名前。 | 文字列 |
platform: vsphere: failureDomains: region: |
クラスターに複数の障害ドメインを定義する場合は、タグを各 vCenter データセンターにアタッチする必要があります。リージョンを定義するには、 | 文字列 |
platform: vsphere: failureDomains: server: |
クライアントが障害ドメインリソースにアクセスできるように、VMware vCenter Server の完全修飾ホスト名または IP アドレスを指定します。 | 文字列 |
platform: vsphere: failureDomains: zone: |
クラスターに複数の障害ドメインを定義する場合は、各 vCenter クラスターにタグをアタッチする必要があります。ゾーンを定義するには、 | 文字列 |
platform: vsphere: failureDomains: topology: computeCluster: | vSphere コンピュートクラスターへのパス。 | 文字列 |
platform: vsphere: failureDomains: topology: datacenter: |
OpenShift Container Platform 仮想マシン (VM) が動作するデータセンターをリストして定義します。データセンターのリストは、 | 文字列 |
platform: vsphere: failureDomains: topology: datastore: | 仮想マシンファイル、テンプレート、ISO イメージを保持する vSphere データストアへのパス。 重要 データストアクラスター内に存在する任意のデータストアのパスを指定できます。デフォルトでは、Storage vMotion はデータストアクラスターに対して自動的に有効になります。Red Hat は Storage vMotion をサポートしていないため、OpenShift Container Platform クラスターのデータ損失の問題を回避するには、Storage vMotion を無効にする必要があります。
複数のデータストアにわたって仮想マシンを指定する必要がある場合は、 | 文字列 |
platform: vsphere: failureDomains: topology: folder: |
オプション: ユーザーが仮想マシンを作成する既存のフォルダーの絶対パス (例: | 文字列 |
platform: vsphere: failureDomains: topology: networks: | 設定した仮想 IP アドレスと DNS レコードを含む vCenter インスタンス内のネットワークをリスト表示します。 | 文字列 |
platform: vsphere: failureDomains: topology: resourcePool: |
オプション: このパラメーターは、インストールプログラムが仮想マシンを作成する既存のリソースプールの絶対パスを設定します (例: | 文字列 |
platform: vsphere: failureDomains: topology template: | 既存の Red Hat Enterprise Linux CoreOS (RHCOS) イメージテンプレートまたは仮想マシンへの絶対パスを指定します。その後、インストールプログラムはイメージテンプレートまたは仮想マシンを使用して、vSphere ホストに RHCOS を迅速にインストールできます。RHCOS イメージを vSphere ホストにアップロードする代わりに、このパラメーターを使用することを検討してください。このパラメーターは、installer-provisioned infrastructure でのみ使用できます。 | 文字列 |
platform: vsphere: vcenters: | サービスが vCenter サーバーと通信できるように接続の詳細を設定します。 | vCenter 設定オブジェクトの配列。 |
platform: vsphere: vcenters: datacenters: |
OpenShift Container Platform 仮想マシン (VM) が動作するデータセンターをリストして定義します。データセンターのリストは、 | 文字列 |
platform: vsphere: vcenters: password: | vSphere ユーザーに関連付けられたパスワード。 | 文字列 |
platform: vsphere: vcenters: port: | vCenter サーバーとの通信に使用するポート番号。 | 整数 |
platform: vsphere: vcenters: server: | vCenter サーバーの完全修飾ホスト名 (FQHN) または IP アドレス。 | 文字列 |
platform: vsphere: vcenters: user: | vSphere ユーザーに関連付けられたユーザー名。 | 文字列 |
6.1.6. 非推奨の VMware vSphere 設定パラメーター
OpenShift Container Platform 4.13 では、次の vSphere 設定パラメーターが非推奨になりました。これらのパラメーターは引き続き使用できますが、インストールプログラムはこれらのパラメーターを install-config.yaml
ファイルに自動的に指定しません。
次の表に、非推奨になった各 vSphere 設定パラメーターを示します。
パラメーター | 説明 | 値 |
---|---|---|
platform: vsphere: cluster: | OpenShift Container Platform クラスターをインストールする vCenter クラスター。 | 文字列 |
platform: vsphere: datacenter: | OpenShift Container Platform 仮想マシン (VM) が動作するデータセンターを定義します。 | 文字列 |
platform: vsphere: defaultDatastore: | ボリュームのプロビジョニングに使用するデフォルトデータストアの名前。 | 文字列 |
platform: vsphere: folder: | オプション: インストールプログラムが仮想マシンを作成する既存のフォルダーの絶対パス。この値を指定しない場合、インストールプログラムは、データセンターの仮想マシンフォルダーにインフラストラクチャー ID を使用して名前が付けられたフォルダーを作成します。 |
文字列 (例: |
platform: vsphere: password: | vCenter ユーザー名のパスワード。 | 文字列 |
platform: vsphere: resourcePool: |
オプション: インストールプログラムが仮想マシンを作成する既存のリソースプールの絶対パス。値を指定しない場合、インストールプログラムは |
文字列 (例: |
platform: vsphere: username: | vCenter インスタンスに接続するために使用するユーザー名。このユーザーには、少なくとも vSphere の 静的または動的な永続ボリュームのプロビジョニング に必要なロールおよび権限がなければなりません。 | 文字列 |
platform: vsphere: vCenter: | vCenter サーバーの完全修飾ホスト名または IP アドレス。 | 文字列 |
6.2. 使用可能なエージェント設定パラメーター
次の表に、エージェントベースのインストールプロセスの一部として設定できる必須およびオプションのエージェント設定パラメーターを示します。
これらの値は、agent-config.yaml
ファイルに指定されています。
これらの設定はインストールのみに使用され、インストール後は変更できません。
6.2.1. 必須設定パラメーター
次の表は、必須のエージェント設定パラメーターを説明しています。
パラメーター | 説明 | 値 |
---|---|---|
apiVersion: |
| 文字列 |
metadata: |
Kubernetes リソース | オブジェクト |
metadata: name: |
クラスターの名前。クラスターの DNS レコードはすべて |
小文字いちぶハイフン ( |
6.2.2. オプションの設定パラメーター
次の表は、オプションのエージェント設定パラメーターを説明しています。
パラメーター | 説明 | 値 |
---|---|---|
rendezvousIP: |
ブートストラッププロセスを実行し、 | IPV4 または IPV6 アドレス。 |
bootArtifactsBaseURL: | Agent-based Installer を使用して iPXE スクリプトを生成する際に、Preboot Execution Environment (PXE) アセットをアップロードするサーバーの URL。詳細は、「OpenShift Container Platform の PXE アセットの準備」を参照してください。 | 文字列。 |
additionalNTPSources: | すべてのクラスターホストに追加される Network Time Protocol (NTP) ソースのリスト。これらは、他の手段で設定された NTP ソースに追加されます。 | ホスト名または IP アドレスのリスト。 |
hosts: |
ホストの設定。オプションのホストリスト。定義されたホストの数は、 | ホスト設定オブジェクトの配列。 |
hosts: hostname: | ホスト名。動的ホスト設定プロトコル (DHCP) または逆引き DNS ルックアップから取得したホスト名をオーバーライドします。各ホストには、いずれかの手段で指定された一意のホスト名が必要ですが、このパラメーターを使用したホスト名の設定はオプションです。 | 文字列。 |
hosts: interfaces: |
ホスト上のインターフェイスの名前と MAC アドレスのマッピングテーブルを提供します。 | ホスト設定オブジェクトの配列。 |
hosts: interfaces: name: | ホスト上のインターフェイスの名前。 | 文字列。 |
hosts: interfaces: macAddress: | ホスト上のインターフェイスの MAC アドレス。 |
たとえば |
hosts: role: |
ホストが |
|
hosts: rootDeviceHints: | 特定デバイスへの Red Hat Enterprise Linux CoreOS (RHCOS) イメージのプロビジョニングを有効にします。インストールプログラムは、検出順にデバイスを検査し、検出された値をヒントの値と比較します。ヒントの値と一致する最初に検出されたデバイスが使用されます。これは、インストール中にオペレーティングシステムが書き込まれるデバイスです。 | キーと値のペアのディクショナリー。詳細は、「OpenShift インストール環境のセットアップ」ページの「ルートデバイスのヒント」を参照してください。 |
hosts: rootDeviceHints: deviceName: | RHCOS イメージがプロビジョニングされるデバイスの名前。 | 文字列。 |
hosts: networkConfig: | ホストネットワーク定義。この設定は、nmstate ドキュメント で定義されている Host Network Management API と一致する必要があります。 | ホストネットワーク設定オブジェクトのディクショナリー。 |
Legal Notice
Copyright © 2024 Red Hat, Inc.
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.