5.17. RHOSP でのネットワークリソースの作成
独自のインフラストラクチャーを使用する Red Hat OpenStack Platform (RHOSP) インストールの OpenShift Container Platform に必要なネットワークリソースを作成します。時間を節約するには、セキュリティーグループ、ネットワーク、サブネット、ルーター、およびポートを生成する指定された Ansible Playbook を実行します。
前提条件
- Python 3 がマシンにインストールされている。
- 「Playbook 依存関係のダウンロード」でモジュールをダウンロードしている。
- 「インストール Playbook のダウンロード」で Playbook をダウンロードしている。
手順
オプション: 外部ネットワークの値を
inventory.yaml
Playbook に追加します。inventory.yaml
Ansible Playbook の外部ネットワーク値の例... # The public network providing connectivity to the cluster. If not # provided, the cluster external connectivity must be provided in another # way. # Required for os_api_fip, os_ingress_fip, os_bootstrap_fip. os_external_network: 'external' ...
重要inventory.yaml
ファイルのos_external_network
の値を指定しなかった場合は、仮想マシンが Glance および外部接続にアクセスできるようにする必要があります。オプション: 外部ネットワークおよび Floating IP (FIP) アドレスの値を
inventory.yaml
Playbook に追加します。inventory.yaml
Ansible Playbook の FIP 値の例... # OpenShift API floating IP address. If this value is non-empty, the # corresponding floating IP will be attached to the Control Plane to # serve the OpenShift API. os_api_fip: '203.0.113.23' # OpenShift Ingress floating IP address. If this value is non-empty, the # corresponding floating IP will be attached to the worker nodes to serve # the applications. os_ingress_fip: '203.0.113.19' # If this value is non-empty, the corresponding floating IP will be # attached to the bootstrap machine. This is needed for collecting logs # in case of install failure. os_bootstrap_fip: '203.0.113.20'
重要os_api_fip
およびos_ingress_fip
の値を定義しない場合、インストール後のネットワーク設定を実行する必要があります。os_bootstrap_fip
の値を定義しない場合、インストーラーは失敗したインストールからデバッグ情報をダウンロードできません。詳細は、環境へのアクセスの有効化を参照してください。
コマンドラインで、
security-groups.yaml
Playbook を実行してセキュリティーグループを作成します。$ ansible-playbook -i inventory.yaml security-groups.yaml
コマンドラインで、
network.yaml
Playbook を実行して、ネットワーク、サブネット、およびルーターを作成します。$ ansible-playbook -i inventory.yaml network.yaml
オプション: Nova サーバーが使用するデフォルトのリゾルバーを制御する必要がある場合は、RHOSP CLI コマンドを実行します。
$ openstack subnet set --dns-nameserver <server_1> --dns-nameserver <server_2> "$INFRA_ID-nodes"
オプションで、作成した inventory.yaml
ファイルを使用してインストールをカスタマイズできます。たとえば、ベアメタルマシンを使用するクラスターをデプロイすることができます。
5.17.1. ベアメタルマシンを使用したクラスターのデプロイ
クラスターがベアメタルマシンを使用する必要がある場合は、inventory.yaml
ファイルを変更します。クラスターには、ベアメタル上でコントロールプレーンとコンピュートマシンの両方を実行させることも、コンピュートマシンのみを実行させることもできます。
ベアメタルコンピュートマシンは、Kuryr を使用するクラスターではサポートされません。
install-config.yaml
ファイルで、ベアメタルワーカーに使用する RHOSP ネットワークが Floating IP アドレスをサポートするかどうかが反映されていることを確認します。
前提条件
- RHOSP Bare Metal サービス (Ironic) が有効になっており、RHOSP Compute API 経由でアクセスできる。
- ベアメタルを RHOSP フレーバー として利用できる。
- クラスターが 16.1.6 以降、16.2.4 未満の RHOSP バージョンで実行している場合は、メタデータサービスが OpenShift Container Platform ノード上のサービスで使用できなくなる 既知の問題 により、ベアメタルワーカーは機能しません。
- RHOSP ネットワークが、仮想マシンとベアメタルサーバーの両方の接続をサポートしている。
- 既存のネットワークにマシンをデプロイする場合、RHOSP サブネットがプロビジョニングされている。
- インストーラーによってプロビジョニングされるネットワークにマシンをデプロイする場合、RHOSP Bare Metal サービス (Ironic) が、テナントネットワークで実行される Preboot eXecution Environment (PXE) ブートマシンをリッスンして通信することができる。
-
inventory.yaml
ファイルを OpenShift Container Platform インストールプロセスの一部として作成している。
手順
inventory.yaml
ファイルで、マシンのフレーバーを編集します。-
ベアメタルコントロールプレーンマシンを使用する場合は、
os_flavor_master
の値をベアメタルフレーバーに変更します。 os_flavor_worker
の値をベアメタルフレーバーに変更します。ベアメタルの
inventory.yaml
のサンプルファイルall: hosts: localhost: ansible_connection: local ansible_python_interpreter: "{{ansible_playbook_python}}" # User-provided values os_subnet_range: '10.0.0.0/16' os_flavor_master: 'my-bare-metal-flavor' 1 os_flavor_worker: 'my-bare-metal-flavor' 2 os_image_rhcos: 'rhcos' os_external_network: 'external' ...
-
ベアメタルコントロールプレーンマシンを使用する場合は、
更新された inventory.yaml
ファイルを使用してインストールプロセスを完了します。デプロイメント時に作成されるマシンは、ファイルに追加したフレーバーを使用します。
インストーラーは、ベアメタルマシンの起動中にタイムアウトする可能性があります。
インストーラーがタイムアウトした場合は、インストーラーの wait-for
コマンドを使用してデプロイメントを再起動してからデプロイメントを完了します。以下に例を示します。
$ ./openshift-install wait-for install-complete --log-level debug