5.17. RHOSP でのネットワークリソースの作成
独自のインフラストラクチャーを使用する Red Hat OpenStack Platform (RHOSP) インストールの OpenShift Container Platform に必要なネットワークリソースを作成します。時間を節約するには、セキュリティーグループ、ネットワーク、サブネット、ルーター、およびポートを生成する指定された Ansible Playbook を実行します。
前提条件
- Python 3 がマシンにインストールされている。
- 「Playbook 依存関係のダウンロード」でモジュールをダウンロードしている。
- 「インストール Playbook のダウンロード」で Playbook をダウンロードしている。
手順
オプション: 外部ネットワークの値を
inventory.yamlPlaybook に追加します。inventory.yamlAnsible 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.yamlPlaybook に追加します。inventory.yamlAnsible 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.yamlPlaybook を実行してセキュリティーグループを作成します。$ ansible-playbook -i inventory.yaml security-groups.yamlコマンドラインで、
network.yamlPlaybook を実行して、ネットワーク、サブネット、およびルーターを作成します。$ 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_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-vm-flavor' os_flavor_worker: 'my-bare-metal-flavor'1 os_image_rhcos: 'rhcos' os_external_network: 'external' ...- 1
- この値を、コンピュートマシンに使用するベアメタルのフレーバーに変更します。
更新された inventory.yaml ファイルを使用してインストールプロセスを完了します。デプロイメント時に作成されるマシンは、ファイルに追加したフレーバーを使用します。
インストーラーは、ベアメタルマシンの起動中にタイムアウトする可能性があります。
インストーラーがタイムアウトした場合は、インストーラーの wait-for コマンドを使用してデプロイメントを再起動してからデプロイメントを完了します。以下に例を示します。
$ ./openshift-install wait-for install-complete --log-level debug