7.9. インストール後の RHOSP ネットワーク設定
インストール後に、OpenShift Container Platform の一部を Red Hat OpenStack Platform (RHOSP) クラスターに設定することができます。
7.9.1. Floating IP アドレスを使用したアプリケーションアクセスの設定 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform をインストールした後に、アプリケーションネットワークトラフィックを許可するように Red Hat OpenStack Platform (RHOSP) を設定します。
インストール中に、install-config.yaml ファイルの platform.openstack.apiFloatingIP および platform.openstack.ingressFloatingIP に値を指定した場合、または inventory.yaml Playbook の os_api_fip および os_ingress_fip に値を指定した場合は、この手順を実行する必要はありません。Floating IP アドレスはすでに設定されています。
前提条件
- OpenShift Container Platform クラスターがインストールされている必要があります。
- OpenShift Container Platform の RHOSP へのインストールに関するドキュメントで説明されているように、Floating IP アドレスが有効にされます。
手順
OpenShift Container Platform クラスターをインストールした後に、Floating IP アドレスを Ingress ポートに割り当てます。
ポートを表示します。
openstack port show <cluster_name>-<cluster_ID>-ingress-port
$ openstack port show <cluster_name>-<cluster_ID>-ingress-portCopy to Clipboard Copied! Toggle word wrap Toggle overflow ポートを IP アドレスに接続します。
openstack floating ip set --port <ingress_port_ID> <apps_FIP>
$ openstack floating ip set --port <ingress_port_ID> <apps_FIP>Copy to Clipboard Copied! Toggle word wrap Toggle overflow *apps.のワイルドカードAレコードを DNS ファイルに追加します。*.apps.<cluster_name>.<base_domain> IN A <apps_FIP>
*.apps.<cluster_name>.<base_domain> IN A <apps_FIP>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
DNS サーバーを制御せず、非実稼働環境でアプリケーションアクセスを有効にする必要がある場合は、これらのホスト名を /etc/hosts に追加できます。
7.9.2. 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です。
7.9.3. RHOSP でのアクティブなデプロイメントでの Kuryr ポートプール設定の調整 リンクのコピーリンクがクリップボードにコピーされました!
カスタムリソース (CR) を使用して、Kuryr が Red Hat OpenStack Platform (RHOSP) Neutron ポートをどのように管理するかを設定し、デプロイされたクラスターでの Pod 作成の速度と効率性を制御することができます。
手順
コマンドラインから、編集する Cluster Network Operator (CNO) CR を開きます。
oc edit networks.operator.openshift.io cluster
$ oc edit networks.operator.openshift.io clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要件に合わせて設定を編集します。以下のファイルをサンプルとして紹介しています。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
enablePortPoolsPrepopulationをtrueに設定して、Pod 専用ネットワークを使用するように設定された最初の Pod が namespace で作成されると、Kuryr が Neutron ポートを作成するようにします。この設定により、Neutron ポートのクォータが引き上げられますが、Pod の起動に必要となる時間を短縮できます。デフォルト値はfalseです。- 2
- Kuryr は、対象のプール内にある空きポートの数が
poolMinPortsの値よりも少ない場合には、プールに新規ポートを作成します。デフォルト値は1です。 - 3
poolBatchPortsは、空きポートの数がpoolMinPortsの値よりも少ない場合に作成される新規ポートの数を制御します。デフォルト値は3です。- 4
- プール内の空きポートの数が
poolMaxPortsの値よりも多い場合に、Kuryr はその値と同じ数になるまでポートを削除します。この値を0に設定すると、この上限は無効になり、プールが縮小できないようにします。デフォルト値は0です。
- 変更を保存し、テキストエディターを終了して、変更をコミットします。
実行中のクラスターでこれらのオプションを変更すると、kuryr-controller および kuryr-cni Pod が再起動を強制的に実行します。その結果、新規 Pod およびサービスの作成が遅延します。
7.9.4. OVS ハードウェアオフロードの有効化 リンクのコピーリンクがクリップボードにコピーされました!
OVS ハードウェアオフロードは、テクノロジープレビュー機能としてのみご利用いただけます。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Red Hat OpenStack Platform (RHOSP) で実行されるクラスターの場合、Open vSwitch(OVS) ハードウェアオフロードを有効にすることができます。
OVS は、大規模なマルチサーバーネットワークの仮想化を可能にするマルチレイヤー仮想スイッチです。
前提条件
- Single-root Input/Output Virtualization (SR-IOV) 用に設定された RHOSP にクラスターをインストールしている。
- SR-IOV Network Operator がクラスターにインストールされている。
-
クラスターに 2 つの
hw-offloadタイプの Virtual Function (VF) インターフェイスを作成している。
手順
コマンドラインで以下のコマンドを入力し、受付 Webhook を無効にします。
oc patch sriovoperatorconfig default --type=merge -n openshift-sriov-network-operator --patch '{ "spec": { "enableOperatorWebhook": false } }'$ oc patch sriovoperatorconfig default --type=merge -n openshift-sriov-network-operator --patch '{ "spec": { "enableOperatorWebhook": false } }'Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターにある 2 つの
hw-offloadタイプの VF インターフェイスのSriovNetworkNodePolicyポリシーを作成します。2 番目の Virtual Function インターフェイス
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 2 番目の Virtual Function インターフェイス
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 2 つのインターフェイス用に
NetworkAttachmentDefinitionリソースを作成します。1 番目のインターフェイス用
NetworkAttachmentDefinitionリソースCopy to Clipboard Copied! Toggle word wrap Toggle overflow 2 番目のインターフェイス用
NetworkAttachmentDefinitionリソースCopy to Clipboard Copied! Toggle word wrap Toggle overflow Pod で作成したインターフェイスを使用します。以下に例を示します。
2 つの OVS オフロードインターフェイスを使用する Pod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow