6.14. インストール設定パラメーター
OpenShift Container Platform クラスターをデプロイする前に、クラスターをホストするクラウドプラットフォームでアカウントを記述し、クラスターのプラットフォームをオプションでカスタマイズするためにパラメーターの値を指定します。install-config.yaml
インストール設定ファイルを作成する際に、コマンドラインで必要なパラメーターの値を指定します。クラスターをカスタマイズする場合、install-config.yaml
ファイルを変更して、プラットフォームについての詳細情報を指定できます。
インストール後は、これらのパラメーターを install-config.yaml
ファイルで変更することはできません。
6.14.1. 必須設定パラメーター
必須のインストール設定パラメーターは、以下の表で説明されています。
パラメーター | 説明 | 値 |
---|---|---|
|
| 文字列 |
|
クラウドプロバイダーのベースドメイン。ベースドメインは、OpenShift Container Platform クラスターコンポーネントへのルートを作成するために使用されます。クラスターの完全な DNS 名は、 |
|
|
Kubernetes リソース | オブジェクト |
|
クラスターの名前。クラスターの DNS レコードはすべて |
|
|
インストールを実行する特定のプラットフォームの設定: | オブジェクト |
| 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.14.2. ネットワーク設定パラメーター
既存のネットワークインフラストラクチャーの要件に基づいて、インストール設定をカスタマイズできます。たとえば、クラスターネットワークの IP アドレスブロックを拡張するか、デフォルトとは異なる IP アドレスブロックを指定できます。
IPv4 アドレスのみがサポートされます。
Globalnet は、Red Hat OpenShift Data Foundation ディザスターリカバリーソリューションではサポートされていません。局地的なディザスターリカバリーのシナリオでは、各クラスター内のクラスターとサービスネットワークに重複しない範囲のプライベート IP アドレスを使用するようにしてください。
パラメーター | 説明 | 値 |
---|---|---|
| クラスターのネットワークの設定。 | オブジェクト 注記
インストール後に |
| インストールする Red Hat OpenShift Networking ネットワークプラグイン。 |
|
| Pod の IP アドレスブロック。
デフォルト値は 複数の IP アドレスブロックを指定する場合は、ブロックが重複しないようにしてください。 | オブジェクトの配列。以下に例を示します。 networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 |
|
IPv4 ネットワーク |
CIDR (Classless Inter-Domain Routing) 表記の IP アドレスブロック。IPv4 ブロックの接頭辞長は |
|
それぞれの個別ノードに割り当てるサブネット接頭辞長。たとえば、 | サブネット接頭辞。
デフォルト値は |
|
サービスの IP アドレスブロック。デフォルト値は OpenShift SDN および OVN-Kubernetes ネットワークプラグインは、サービスネットワークの単一 IP アドレスブロックのみをサポートします。 | CIDR 形式の IP アドレスブロックを持つ配列。以下に例を示します。 networking: serviceNetwork: - 172.30.0.0/16 |
| マシンの IP アドレスブロック。 複数の IP アドレスブロックを指定する場合は、ブロックが重複しないようにしてください。 | オブジェクトの配列。以下に例を示します。 networking: machineNetwork: - cidr: 10.0.0.0/16 |
|
| CIDR 表記の IP ネットワークブロック。
例: 注記
優先される NIC が置かれている CIDR に一致する |
6.14.3. オプションの設定パラメーター
オプションのインストール設定パラメーターは、以下の表で説明されています。
パラメーター | 説明 | 値 |
---|---|---|
| ノードの信頼済み証明書ストアに追加される PEM でエンコードされた X.509 証明書バンドル。この信頼バンドルは、プロキシーが設定される際にも使用できます。 | 文字列 |
| オプションのコアクラスターコンポーネントのインストールを制御します。オプションのコンポーネントを無効にすることで、OpenShift Container Platform クラスターのフットプリントを削減できます。詳細は、インストール の「クラスター機能ページ」を参照してください。 | 文字列配列 |
|
有効にするオプション機能の初期セットを選択します。有効な値は | 文字列 |
|
オプションの機能のセットを、 | 文字列配列 |
| ワークロードパーティション設定を使用して、OpenShift Container Platform サービス、クラスター管理ワークロード、およびインフラストラクチャー Pod を分離し、予約された CPU セットで実行できます。ワークロードパーティショニングはインストール中にのみ有効にすることができ、インストール後に無効にすることはできません。このフィールドはワークロードのパーティショニングを有効にしますが、特定の CPU を使用するようにワークロードを設定するわけではありません。詳細は、スケーラビリティとパフォーマンス セクションの ワークロードパーティショニング ページを参照してください。 |
|
| コンピュートノードを設定するマシンの設定。 |
|
|
プール内のマシンの命令セットアーキテクチャーを決定します。現在、さまざまなアーキテクチャーのクラスターはサポートされていません。すべてのプールは同じアーキテクチャーを指定する必要があります。有効な値は | String |
compute: hyperthreading: |
コンピュートマシンで同時マルチスレッドまたは 重要 同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。 |
|
|
|
|
|
|
|
| プロビジョニングするコンピュートマシン (ワーカーマシンとしても知られる) の数。 |
|
| 機能セットのクラスターを有効にします。機能セットは、デフォルトで有効にされない OpenShift Container Platform 機能のコレクションです。インストール中に機能セットを有効にする方法の詳細は、「機能ゲートの使用による各種機能の有効化」を参照してください。 |
文字列。 |
| コントロールプレーンを設定するマシンの設定。 |
|
|
プール内のマシンの命令セットアーキテクチャーを決定します。現在、さまざまなアーキテクチャーのクラスターはサポートされていません。すべてのプールは同じアーキテクチャーを指定する必要があります。有効な値は | String |
controlPlane: hyperthreading: |
コントロールプレーンマシンで同時マルチスレッドまたは 重要 同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。 |
|
|
|
|
|
|
|
| プロビジョニングするコントロールプレーンマシンの数。 |
サポートされる値は |
| Cloud Credential Operator (CCO) モード。モードを指定しないと、CCO は指定された認証情報の機能を動的に判別しようとします。この場合、複数のモードがサポートされるプラットフォームで Mint モードが優先されます。 注記 すべてのクラウドプロバイダーですべての CCO モードがサポートされているわけではありません。CCO モードの詳細は、Cluster Operators リファレンス の Cloud Credential Operator を参照してください。 注記
AWS アカウントでサービスコントロールポリシー (SCP) が有効になっている場合は、 |
|
| release-image コンテンツのソースおよびリポジトリー。 |
オブジェクトの配列。この表の以下の行で説明されているように、 |
|
| 文字列 |
| 同じイメージが含まれる可能性のあるリポジトリーを 1 つ以上指定します。 | 文字列の配列。 |
| Kubernetes API、OpenShift ルートなどのクラスターのユーザーに表示されるエンドポイントをパブリッシュまたは公開する方法。 |
このパラメーターを 重要
フィールドの値が |
| クラスターマシンへのアクセスを認証するための SSH キー。 注記
インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、 |
たとえば、 |
- すべてのクラウドプロバイダーですべての CCO モードがサポートされているわけではありません。CCO モードの詳細は、認証と認可 コンテンツの「クラウドプロバイダーの認証情報の管理」を参照してください。
6.14.4. 追加の Red Hat OpenStack Platform (RHOSP) 設定パラメーター
追加の RHOSP 設定パラメーターは以下の表で説明されています。
パラメーター | 説明 | 値 |
---|---|---|
| コンピュートマシンの場合、root ボリュームのギガバイトのサイズになります。この値を設定しない場合、マシンは一時ストレージを使用します。 |
整数 (例: |
| コンピュートマシンの場合、root のボリュームタイプです。 |
文字列 (例: |
| コントロールプレーンマシンの場合、root ボリュームのギガバイトのサイズになります。この値を設定しない場合、マシンは一時ストレージを使用します。 |
整数 (例: |
| コントロールプレーンマシンの場合、root ボリュームのタイプです。 |
文字列 (例: |
|
|
文字列 (例: |
| インストールに使用される RHOSP の外部ネットワーク名。 |
文字列 (例: |
| コントロールプレーンおよびコンピュートマシンに使用する RHOSP フレーバー。
このプロパティーは非推奨にされています。すべてのマシンプールのデフォルトとしてフレーバーを使用するには、これを |
文字列 (例: |
6.14.5. オプションの RHOSP 設定パラメーター
オプションの RHOSP 設定パラメーターは、以下の表で説明されています。
パラメーター | 説明 | 値 |
---|---|---|
| コンピュートマシンに関連付けられた追加のネットワーク。追加ネットワーク用に許可されるアドレスのペアは作成されません。 |
文字列としての 1 つ以上の UUID のリスト。例: |
| コンピュートマシンに関連付けられた追加のセキュリティーグループ。 |
文字列としての 1 つ以上の UUID のリスト。例: |
| マシンをインストールする RHOSP Compute (Nova) アベイラビリティーゾーン (AZs)。このパラメーターが設定されていない場合、インストールプログラムは RHOSP 管理者が設定した Nova のデフォルト設定に依存します。 Kuryr を使用するクラスターでは、RHOSP Octavia はアベイラビリティーゾーンをサポートしません。ロードバランサーおよび Amphora プロバイダードライバーを使用している場合、Amphora 仮想マシンに依存する OpenShift Container Platform サービスは、このプロパティーの値に基づいて作成されません。 |
文字列のリスト(例: |
| コンピュートマシンの root ボリュームをインストールするアベイラビリティーゾーン。このパラメーターに値を設定しない場合、インストールプログラムはデフォルトのアベイラビリティーゾーンを選択します。 |
文字列のリスト (例: |
|
プール内のコンピュートマシンを含むグループに適用するサーバーグループポリシー。作成後にサーバーグループのポリシーまたは所属を変更することはできません。サポートされているオプションには、
厳密な |
マシンプールに適用するサーバーグループポリシー。たとえば、 |
| コントロールプレーンマシンに関連付けられた追加のネットワーク。追加ネットワーク用に許可されるアドレスのペアは作成されません。 コントロールプレーンマシンに接続されている追加のネットワークも、ブートストラップノードに接続されています。 |
文字列としての 1 つ以上の UUID のリスト。例: |
| コントロールプレーンマシンに関連付けられた追加のセキュリティーグループ。 |
文字列としての 1 つ以上の UUID のリスト。例: |
| マシンをインストールする RHOSP Compute (Nova) アベイラビリティーゾーン (AZs)。このパラメーターが設定されていない場合、インストールプログラムは RHOSP 管理者が設定した Nova のデフォルト設定に依存します。 Kuryr を使用するクラスターでは、RHOSP Octavia はアベイラビリティーゾーンをサポートしません。ロードバランサーおよび Amphora プロバイダードライバーを使用している場合、Amphora 仮想マシンに依存する OpenShift Container Platform サービスは、このプロパティーの値に基づいて作成されません。 |
文字列のリスト(例: |
| コントロールプレーンマシンの root ボリュームをインストールするアベイラビリティーゾーン。この値を設定しない場合、インストールプログラムはデフォルトのアベイラビリティーゾーンを選択します。 |
文字列の一覧 (例: |
|
プール内のコントロールプレーンマシンを含むグループに適用するサーバーグループポリシー。作成後にサーバーグループのポリシーまたは所属を変更することはできません。サポートされているオプションには、
厳密な |
マシンプールに適用するサーバーグループポリシー。たとえば、 |
| インストールプログラムが RHCOS イメージをダウンロードする場所。 ネットワークが制限された環境でインストールを実行するには、このパラメーターを設定する必要があります。 | HTTP または HTTPS の URL (オプションで SHA-256 形式のチェックサムを使用)。
例: |
|
Glance のインストーラーでアップロードされた ClusterOSImage に追加するプロパティー。このプロパティーは、
このプロパティーを使用し、ノードあたり 26 PV の RHOSP のデフォルト永続ボリューム (PV) の制限を超過することができます。制限を超えるには、
このプロパティーを使用し、 |
キーと値の文字列のペアのリスト。例: |
| デフォルトのマシンプールプラットフォームの設定。 |
{ "type": "ml.large", "rootVolume": { "size": 30, "type": "performance" } } |
|
Ingress ポートに関連付ける既存の Floating IP アドレス。このプロパティーを使用するには、 |
IP アドレス (例: |
|
API ロードバランサーに関連付ける既存の Floating IP アドレス。このプロパティーを使用するには、 |
IP アドレス (例: |
| クラスターインスタンスが DNS 解決に使用する外部 DNS サーバーの IP アドレス。 |
文字列としての IP アドレスのリスト。例: |
|
デフォルトの内部ロードバランサーを使用するかどうか。値が |
|
| クラスターのノードが使用する RHOSP サブネットの UUID。ノードおよび仮想 IP (VIP) ポートがこのサブネットに作成されます。
カスタムサブネットにデプロイする場合、OpenShift Container Platform インストーラーに外部 DNS サーバーを指定することはできません。代わりに、DNS を RHOSP のサブネットに追加 します。 |
文字列としての UUID。例: |
6.14.6. 障害ドメインの RHOSP パラメーター
RHOSP 障害ドメインはテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Red Hat OpenStack Platform (RHOSP) デプロイメントには、障害ドメインの単一の実装がありません。その代わり、コンピュートサービスの Nova、ネットワーキングサービスの Neutron、ストレージサービスの Cinder など、サービスごとに個別にアベイラビリティゾーンを定義しています。
OpenShift Container Platform 4.13 以降、サポートされているすべてのアベイラビリティーゾーンタイプをカバーする、RHOSP デプロイメントの障害ドメインの統一定義が存在します。障害ドメインを使用すると、Nova、Neutron、および Cinder 設定の関連する側面を 1 か所から制御できます。
RHOSP では、ポートはネットワーク接続を記述し、コンピューティングマシン内のインターフェイスにマップします。ポートには次の機能もあります。
- ネットワークまたは 1 つ以上のサブネットによって定義されます
- マシンを 1 つ以上のサブネットに接続します
障害ドメインは、ポートを使用してデプロイメントのサービスをグループ化します。障害ドメインを使用する場合、各マシンは以下に接続します。
-
オブジェクトが存在する間、ID が
control-plane
であるportTarget
オブジェクト。 -
独自の障害ドメイン内のすべての非コントロールプレーン
portTarget
オブジェクト。 -
マシンプールの
additionalNetworkIDs
リスト内のすべてのネットワーク。
マシンプールの障害ドメインを設定するには、controlPlane.platform.openstack.failureDomains
で可用性ゾーンとポートターゲットのパラメーターを編集します。
パラメーター | 説明 | 値 |
---|---|---|
| サーバーの可用性ゾーン。指定しない場合は、クラスターのデフォルトが使用されます。 |
アベイラビリティーゾーンの名前。例: |
| ルートボリュームの可用性ゾーン。指定しない場合は、クラスターのデフォルトが使用されます。 |
アベイラビリティーゾーンの名前。例: |
|
|
|
|
個々のポートターゲットの ID。そのポートターゲットをマシンの最初のネットワークとして選択するには、このパラメーターの値を |
|
| 必須。障害ドメイン内のマシンに接続するネットワークの名前または ID。 |
名前または UUID を含む network: id: 8db6a48e-375b-4caa-b20b-5b9a7218bfe6 または network: name: my-network-1 |
| 固定 IP アドレスを割り当てるサブネット。これらのサブネットは、ポートと同じネットワーク内に存在する必要があります。 |
|
ゾーンフィールドと障害ドメインを組み合わせることはできません。障害ドメインを使用する場合は、controlPlane.zone
フィールドと controlPlane.rootVolume.zone
フィールドを未設定のままにしておく必要があります。
6.14.7. RHOSP デプロイメントでのカスタムサブネット
オプションで、選択する Red Hat OpenStack Platform (RHOSP) サブネットにクラスターをデプロイすることができます。サブネットの GUID は、install-config.yaml
ファイルの platform.openstack.machinesSubnet
の値として渡されます。
このサブネットはクラスターのプライマリーサブネットとして使用されます。デフォルトで、ノードおよびポートはこの上に作成されます。platform.openstack.machinesSubnet
プロパティーの値をサブネットの UUID に設定すると、異なる RHOSP サブネットにノードおよびポートを作成することができます。
カスタムサブネットを使用して OpenShift Container Platform インストーラーを実行する前に、設定が以下の要件を満たしていることを確認してください。
-
platform.openstack.machinesSubnet
で使用されるサブネットで DHCP が有効にされている。 -
platform.openstack.machinesSubnet
の CIDR はnetworking.machineNetwork
の CIDR に一致する。 - インストールプログラムのユーザーには、固定 IP アドレスを持つポートなど、このネットワークでポートを作成するパーミッションがある。
カスタムサブネットを使用するクラスターには、以下の制限があります。
-
Floating IP アドレスを使用するクラスターをインストールする予定の場合には、
platform.openstack.machinesSubnet
サブネットをexternalNetwork
ネットワークに接続されているルーターに接続する必要があります。 -
platform.openstack.machinesSubnet
の値がinstall-config.yaml
ファイルに設定されている場合、インストールプログラムは RHOSP マシンのプライベートネットワークまたはサブネットを作成しません。 -
platform.openstack.externalDNS
プロパティーは、カスタムサブネットと同時に使用することはできません。カスタムサブネットを使用するクラスターに DNS を追加するには、RHOSP ネットワークで DNS を設定します。
デフォルトでは、API VIP は x.x.x.5 を取得し、Ingress VIP はネットワークの CIDR ブロックから x.x.x.7 を取得します。これらのデフォルト値を上書きするには、DHCP 割り当てプール外の platform.openstack.apiVIPs
および platform.openstack.ingressVIPs
の値を設定します。
ネットワークの CIDR 範囲は、クラスターのインストール後に調整できません。Red Hat は、namespace ごとに作成される Pod の数を慎重に検討する必要があるため、クラスターのインストール時に範囲を決定するための直接的なガイダンスを提供していません。
6.14.8. Kuryr を使用した OpenStack のカスタマイズされた install-config.yaml
ファイルのサンプル
デフォルトの OVN-Kubernetes ネットワークプラグインの代わりに Kuryr SDN を使用してデプロイするには、install-config.yaml
ファイルを変更して、Kuryr
を目的の network.networkType
として含める必要があります。このサンプル install-config.yaml
は、すべての可能な Red Hat OpenStack Platform (RHOSP) カスタマイズオプションを示しています。
このサンプルファイルは参照用にのみ提供されます。インストールプログラムを使用して install-config.yaml
ファイルを取得する必要があります。
apiVersion: v1 baseDomain: example.com controlPlane: name: master platform: {} replicas: 3 compute: - name: worker platform: openstack: type: ml.large replicas: 3 metadata: name: example networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 machineNetwork: - cidr: 10.0.0.0/16 serviceNetwork: - 172.30.0.0/16 1 networkType: Kuryr 2 platform: openstack: cloud: mycloud externalNetwork: external computeFlavor: m1.xlarge apiFloatingIP: 128.0.0.1 trunkSupport: true 3 octaviaSupport: true 4 pullSecret: '{"auths": ...}' sshKey: ssh-ed25519 AAAA...
- 1
- Amphora Octavia ドライバーは、ロードバランサーごとに 2 つのポートを作成します。そのため、インストーラーが作成するサービスサブネットは、
serviceNetwork
プロパティーの値として指定される CIDR のサイズは 2 倍になります。IP アドレスの競合を防ぐには、範囲をより広くする必要があります。 - 2
- インストールするクラスターネットワークプラグイン。サポートされている値は、
Kuryr
、OVNKubernetes
、およびOpenShiftSDN
です。デフォルトの値はOVNkubernetes
です。 - 3 4
trunkSupport
とoctaviaSupport
の両方はインストーラーによって自動的に検出されるため、それらを設定する必要はありません。ただし、ご使用の環境がこれらの両方の要件を満たさないと、Kuryr SDN は適切に機能しません。トランクは Pod を RHOSP ネットワークに接続するために必要であり、Octavia は OpenShift Container Platform サービスを作成するために必要です。
6.14.9. 障害ドメインを使用するインストール設定セクションの例
RHOSP 障害ドメインはテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
install-config.yaml
ファイルの次のセクションでは、クラスター内の障害ドメインを使用して Red Hat OpenStack Platform (RHOSP) にデプロイする方法を示します。
# ... controlPlane: name: master platform: openstack: type: m1.large failureDomains: - computeAvailabilityZone: 'nova-1' storageAvailabilityZone: 'cinder-1' portTargets: - id: control-plane network: id: 8db6a48e-375b-4caa-b20b-5b9a7218bfe6 - computeAvailabilityZone: 'nova-2' storageAvailabilityZone: 'cinder-2' portTargets: - id: control-plane network: id: 39a7b82a-a8a4-45a4-ba5a-288569a6edd1 - computeAvailabilityZone: 'nova-3' storageAvailabilityZone: 'cinder-3' portTargets: - id: control-plane network: id: 8e4b4e0d-3865-4a9b-a769-559270271242 featureSet: TechPreviewNoUpgrade # ...
6.14.10. RHOSP プロバイダーネットワーク上のクラスターデプロイメント
プロバイダーネットワーク上のプライマリーネットワークインターフェイスを使用して、OpenShift Container Platform クラスターを Red Hat OpenStack Platform (RHOSP) にデプロイできます。プロバイダーネットワークは一般的に、インターネットへの到達に使用可能なパブリックネットワークに、プロジェクトが直接アクセスできるように使用します。ネットワーク作成プロセスの一環として、プロバイダーネットワークをプロジェクト間で共有することもできます。
RHOSP プロバイダーネットワークは、データセンター内の既存の物理ネットワークに直接マップします。RHOSP 管理者はこれらを作成する必要があります。
以下の例では、OpenShift Container Platform ワークロードはプロバイダーネットワークを使用してデータセンターに接続されます。

プロバイダーネットワークにインストールされている OpenShift Container Platform クラスターは、テナントネットワークまたは Floating IP アドレスを必要としません。インストーラーは、インストール中にこれらのリソースを作成しません。
プロバイダーネットワークタイプの例には、フラット (タグなし) および VLAN (802.1Q タグ付き) が含まれます。
クラスターは、ネットワークタイプが許可する限り多くのプロバイダーネットワーク接続をサポートできます。たとえば、VLAN ネットワークは、通常最大 4096 の接続をサポートします。
プロバイダーネットワークおよびテナントネットワークの詳細は、RHOSP のドキュメント を参照してください。
6.14.10.1. クラスターのインストールにおける RHOSP プロバイダーネットワーク要件
OpenShift Container Platform クラスターをインストールする前に、Red Hat OpenStack Platform (RHOSP) のデプロイメントおよびプロバイダーネットワークは、さまざまな条件を満たす必要があります。
- RHOSP ネットワークサービス (Neutron) が有効化され、RHOSP ネットワーク API 経由でアクセス可能であること。
- RHOSP ネットワークサービスでは、ポートセキュリティーと許可するアドレスペアの機能拡張が有効化 されていること。
プロバイダーネットワークは他のテナントと共有できます。
ヒント--share
フラグを指定してopenstack network create
コマンドを使用して、共有できるネットワークを作成します。クラスターのインストールに使用する RHOSP プロジェクトは、プロバイダーネットワークと適切なサブネットを所有する必要があります。
ヒント- "openshift" という名前のプロジェクトのネットワークを作成するには、以下のコマンドを入力します。
$ openstack network create --project openshift
- "openshift" という名前のプロジェクトのサブネットを作成するには、以下のコマンドを入力します。
$ openstack subnet create --project openshift
RHOSP でのネットワークの作成に関する詳細は、プロバイダーネットワークに関するドキュメント を参照してください。
クラスターが
admin
ユーザーによって所有されている場合、そのユーザーとしてインストーラーを実行してネットワーク上でポートを作成する必要があります。重要プロバイダーネットワークは、クラスターの作成に使用される RHOSP プロジェクトによって所有されている必要があります。所有されていない場合は、RHOSP Compute サービス (Nova) はそのネットワークからポートを要求できません。
プロバイダーネットワークが、デフォルトで
169.254.169.254
である RHOSP メタデータサービスの IP アドレスに到達できることを確認します。RHOSP SDN とネットワークサービス設定によっては、サブネットを作成する際に、ルートを提供しなければならない場合があります。以下に例を示します。
$ openstack subnet create --dhcp --host-route destination=169.254.169.254/32,gateway=192.0.2.2 ...
- オプション: ネットワークのセキュリティーを保護するには、単一のプロジェクトへのネットワークアクセスを制限する ロールベースのアクセス制御 (RBAC) ルールを作成します。
6.14.10.2. プロバイダーネットワークにプライマリーインターフェイスを持つクラスターのデプロイ
Red Hat OpenStack Platform (RHOSP) プロバイダーネットワーク上にプライマリーネットワークインターフェイスを持つ OpenShift Container Platform クラスターをデプロイすることができます。
前提条件
- 「クラスターのインストールにおける RHOSP プロバイダーネットワーク要件」に記載されているとおりに、お使いの Red Hat OpenStack Platform (RHOSP) のデプロイメントが設定されています。
手順
-
テキストエディターで
install-config.yaml
ファイルを開きます。 -
platform.openstack.apiVIPs
プロパティーの値を API VIP の IP アドレスに設定します。 -
platform.openstack.ingressVIPs
プロパティーの値を Ingress VIP の IP アドレスに設定します。 -
platform.openstack.machinesSubnet
プロパティーの値をプロバイダーネットワークサブネットの UUID に設定します。 -
networking.machineNetwork.cidr
プロパティーの値をプロバイダーネットワークサブネットの CIDR ブロックに設定します。
platform.openstack.apiVIPs
プロパティーおよび platform.openstack.ingressVIPs
プロパティーはいずれも、networking.machineNetwork.cidr
ブロックから割り当てられていない IP アドレスである必要があります。
RHOSP プロバイダーネットワークに依存するクラスターのインストール設定ファイルのセクション
... platform: openstack: apiVIPs: 1 - 192.0.2.13 ingressVIPs: 2 - 192.0.2.23 machinesSubnet: fa806b2f-ac49-4bce-b9db-124bc64209bf # ... networking: machineNetwork: - cidr: 192.0.2.0/24
プライマリーネットワークインターフェイスにプロバイダーネットワークを使用している間は、platform.openstack.externalNetwork
パラメーターまたは platform.openstack.externalDNS
パラメーターを設定することはできません。
クラスターをデプロイする際に、インストーラーは install-config.yaml
ファイルを使用してプロバイダーネットワークにクラスターをデプロイします。
プロバイダーネットワークを含むネットワークを platform.openstack.additionalNetworkIDs
リストに追加できます。
クラスターのデプロイ後に、Pod を追加のネットワークに接続することができます。詳細は、複数ネットワークについて を参照してください。
6.14.11. Kuryr ポートプール
Kuryr ポートプールでは、Pod 作成のスタンバイ状態の多数のポートを維持します。
ポートをスタンバイ状態に維持すると、Pod の作成時間が必要最小限に抑えることができます。ポートプールを使用しない場合には、Kuryr は Pod が作成または削除されるたびにポートの作成または削除を明示的に要求する必要があります。
Kuryr が使用する Neutron ポートは、namespace に関連付けられるサブネットに作成されます。これらの Pod ポートは、OpenShift Container Platform クラスターノードのプライマリーポートにサブポートとして追加されます。
Kuryr は namespace をそれぞれ、別のサブネットに保存するため、namespace-worker ペアごとに別個のポートプールが維持されます。
クラスターをインストールする前に、cluster-network-03-config.yml
マニフェストファイルに以下のパラメーターを設定して、ポートプールの動作を設定できます。
-
enablePortPoolsPrepopulation
パラメーターは、プールの事前入力を制御します。これにより、Pod 専用ネットワークを使用するように設定された最初の Pod が namespace に作成されたときに、Kuryr が Neutron ポートをプールに追加します。デフォルト値はfalse
です。 -
poolMinPorts
パラメーターは、プールに保持する空きポートの最小数です。デフォルト値は1
です。 poolMaxPorts
パラメーターは、プールに保持する空きポートの最大数です。値が0
の場合は、上限が無効になります。これはデフォルト設定です。OpenStack ポートのクォータが低い場合や、Pod ネットワークで IP アドレスの数が限定されている場合には、このオプションを設定して、不要なポートが削除されるようにします。
-
poolBatchPorts
パラメーターは、一度に作成可能な Neutron ポートの最大数を定義します。デフォルト値は3
です。
6.14.12. インストール時の Kuryr ポートプールの調整
インストール時に、Pod 作成の速度や効率性を制御するために Kuryr で Red Hat OpenStack Platform (RHOSP) Neutron ポートを管理する方法を設定できます。
前提条件
-
install-config.yaml
ファイルを作成して変更しておく。
手順
コマンドラインからマニフェストファイルを作成します。
$ ./openshift-install create manifests --dir <installation_directory> 1
- 1
<installation_directory>
については、クラスターのinstall-config.yaml
ファイルが含まれるディレクトリーの名前を指定します。
cluster-network-03-config.yml
という名前のファイルを<installation_directory>/manifests/
ディレクトリーに作成します。$ touch <installation_directory>/manifests/cluster-network-03-config.yml 1
- 1
<installation_directory>
については、クラスターのmanifests/
ディレクトリーが含まれるディレクトリー名を指定します。
ファイルの作成後は、以下のようにいくつかのネットワーク設定ファイルが
manifests/
ディレクトリーに置かれます。$ ls <installation_directory>/manifests/cluster-network-*
出力例
cluster-network-01-crd.yml cluster-network-02-config.yml cluster-network-03-config.yml
エディターで
cluster-network-03-config.yml
ファイルを開き、必要な Cluster Network Operator 設定を記述するカスタムリソース (CR) を入力します。$ oc edit networks.operator.openshift.io cluster
要件に合わせて設定を編集します。以下のファイルをサンプルとして紹介しています。
apiVersion: operator.openshift.io/v1 kind: Network metadata: name: cluster spec: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 serviceNetwork: - 172.30.0.0/16 defaultNetwork: type: Kuryr kuryrConfig: enablePortPoolsPrepopulation: false 1 poolMinPorts: 1 2 poolBatchPorts: 3 3 poolMaxPorts: 5 4 openstackServiceNetwork: 172.30.0.0/15 5
- 1
enablePortPoolsPrepopulation
をtrue
に設定すると、Pod のネットワーク上の最初の Pod が namespace に作成されたときに、Kuryr が新しい Neutron ポートを作成するようになります。この設定により、Neutron ポートのクォータが引き上げられますが、Pod の起動に必要となる時間を短縮できます。デフォルト値はfalse
です。- 2
- Kuryr は、対象のプール内にある空きポートの数が
poolMinPorts
の値よりも少ない場合には、プールに新規ポートを作成します。デフォルト値は1
です。 - 3
poolBatchPorts
は、空きポートの数がpoolMinPorts
の値よりも少ない場合に作成される新規ポートの数を制御します。デフォルト値は3
です。- 4
- プール内の空きポートの数が
poolMaxPorts
の値よりも多い場合に、Kuryr はその値と同じ数になるまでポートを削除します。この値を0
に設定すると、この上限は無効になり、プールが縮小できないようにします。デフォルト値は0
です。 - 5
openStackServiceNetwork
パラメーターは、RHOSP Octavia の LoadBalancer に割り当てられるネットワークの CIDR 範囲を定義します。
このパラメーターを Amphora ドライバーと併用する場合には、Octavia は、ロードバランサーごとに、このネットワークから IP アドレスを 2 つ (OpenShift 用に 1 つ、VRRP 接続用に 1 つ) 取得します。これらの IP アドレスは OpenShift Container Platform と Neutron でそれぞれ管理されるため、異なるプールから取得する必要があります。したがって、
openStackServiceNetwork
serviceNetwork
の値の 2 倍になる必要があり、serviceNetwork
の値は、openStackServiceNetwork
で定義された範囲と完全に重複する必要があります。CNO は、このパラメーターの定義範囲から取得した VRRP IP アドレスが
serviceNetwork
パラメーターの定義範囲と重複しないことを検証します。このパラメーターが設定されていない場合には、CNO は
serviceNetwork
の拡張値を使用します。この値は、プリフィックスのサイズを 1 つずつ減らして決定します。-
cluster-network-03-config.yml
ファイルを保存し、テキストエディターを終了します。 -
オプション:
manifests/cluster-network-03-config.yml
ファイルをバックアップします。インストールプログラムは、クラスターの作成時にmanifests/
ディレクトリーを削除します。
6.14.13. マシンのカスタムサブネットの設定
インストールプログラムがデフォルトで使用する IP 範囲は、OpenShift Container Platform のインストール時に作成する Neutron サブネットと一致しない可能性があります。必要な場合は、インストール設定ファイルを編集して、新規マシンの CIDR 値を更新します。
前提条件
-
OpenShift Container Platform インストールプログラムで生成された
install-config.yaml
ファイルがあります。
手順
-
コマンドラインで、
install-config.yaml
が含まれるディレクトリーを参照します。 そのディレクトリーからスクリプトを実行して
install-config.yaml
ファイルを編集するか、手動でファイルを更新します。スクリプトを使用して値を設定するには、以下を実行します。
$ python -c ' import yaml; path = "install-config.yaml"; data = yaml.safe_load(open(path)); data["networking"]["machineNetwork"] = [{"cidr": "192.168.0.0/18"}]; 1 open(path, "w").write(yaml.dump(data, default_flow_style=False))'
- 1
- 必要な Neutron サブネットに一致する値 (例:
192.0.2.0/24
) を挿入します。
-
値を手動で設定するには、ファイルを開き、
networking.machineCIDR
の値を必要な Neutron サブネットに一致する値に設定します。
6.14.14. コンピュートマシンプールを空にする
独自のインフラストラクチャーを使用するインストールを実行するには、インストール設定ファイルのコンピュートマシンの数をゼロに設定します。その後、これらのマシンを手動で作成します。
前提条件
-
OpenShift Container Platform インストールプログラムで生成された
install-config.yaml
ファイルがあります。
手順
-
コマンドラインで、
install-config.yaml
が含まれるディレクトリーを参照します。 そのディレクトリーからスクリプトを実行して
install-config.yaml
ファイルを編集するか、手動でファイルを更新します。スクリプトを使用して値を設定するには、以下を実行します。
$ python -c ' import yaml; path = "install-config.yaml"; data = yaml.safe_load(open(path)); data["compute"][0]["replicas"] = 0; open(path, "w").write(yaml.dump(data, default_flow_style=False))'
-
値を手動で設定するには、ファイルを開き、
compute.<first entry>.replicas
の値を0
に設定します。
6.14.15. ネットワークタイプの変更
デフォルトで、インストールプログラムは OpenShiftSDN
ネットワークタイプを選択します。代わりに Kuryr を使用するには、プログラムが生成したインストール設定ファイルの値を変更します。
前提条件
-
OpenShift Container Platform インストールプログラムで生成された
install-config.yaml
ファイルがあります。
手順
-
コマンドプロンプトで、
install-config.yaml
が含まれるディレクトリーを参照します。 そのディレクトリーからスクリプトを実行して
install-config.yaml
ファイルを編集するか、手動でファイルを更新します。スクリプトを使用して値を設定するには、以下を実行します。
$ python -c ' import yaml; path = "install-config.yaml"; data = yaml.safe_load(open(path)); data["networking"]["networkType"] = "Kuryr"; open(path, "w").write(yaml.dump(data, default_flow_style=False))'
-
値を手動で設定するには、ファイルを開き、
networking.networkType
を"Kuryr"
に設定します。