12.5.17. RHOSP でのネットワークリソースの作成

独自のインフラストラクチャーを使用する Red Hat OpenStack Platform (RHOSP) インストールの OpenShift Container Platform に必要なネットワークリソースを作成します。時間を節約するには、セキュリティーグループ、ネットワーク、サブネット、ルーター、およびポートを生成する指定された Ansible Playbook を実行します。

前提条件

  • Python 3 がマシンにインストールされている。
  • 「Playbook 依存関係のダウンロード」でモジュールをダウンロードしている。
  • 「インストール Playbook のダウンロード」で Playbook をダウンロードしている。

手順

  1. オプション: 外部ネットワークの値を 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 および外部接続にアクセスできるようにする必要があります。

  2. オプション: 外部ネットワークおよび 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 の値を定義しない場合、インストーラーは失敗したインストールからデバッグ情報をダウンロードできません。

    詳細は、「環境へのアクセスの有効化」を参照してください。

  3. コマンドラインで、security-groups.yaml Playbook を実行してセキュリティーグループを作成します。

    $ ansible-playbook -i inventory.yaml security-groups.yaml
  4. コマンドラインで、network.yaml Playbook を実行して、ネットワーク、サブネット、およびルーターを作成します。

    $ ansible-playbook -i inventory.yaml network.yaml
  5. オプション: Nova サーバーが使用するデフォルトのリゾルバーを制御する必要がある場合は、RHOSP CLI コマンドを実行します。

    $ openstack subnet set --dns-nameserver <server_1> --dns-nameserver <server_2> "$INFRA_ID-nodes"

オプションで、作成した inventory.yaml ファイルを使用してインストールをカスタマイズできます。たとえば、ベアメタルマシンを使用するクラスターをデプロイすることができます。

12.5.17.1. ベアメタルマシンを使用したクラスターのデプロイ

クラスターがベアメタルマシンを使用する必要がある場合は、inventory.yaml ファイルを変更します。クラスターには、ベアメタル上でコントロールプレーンとコンピュートマシンの両方を実行させることも、コンピュートマシンのみを実行させることもできます。

ベアメタルコンピュートマシンは、Kuryr を使用するクラスターではサポートされません。

注記

install-config.yaml ファイルで、ベアメタルワーカーに使用する RHOSP ネットワークが Floating IP アドレスをサポートするかどうかが反映されていることを確認します。

前提条件

  • RHOSP のベアメタルサービス (Ironic) は有効にされており、RHOSP Compute API でアクセスできる。
  • ベアメタルは RHOSP フレーバー として利用可能である。
  • RHOSP ネットワークは、仮想マシンとベアメタルサーバー接続の両方をサポートする。
  • ネットワーク設定は、プロバイダーのネットワークに依存しません。プロバイダーネットワークはサポートされません。
  • マシンを既存のネットワークにデプロイする必要がある場合、RHOSP サブネットがプロビジョニングされる。
  • マシンをインストーラーでプロビジョニングされるネットワークに場合、RHOSP ベアメタルサービス (Ironic) はテナントネットワークで実行される Preboot eXecution Environment (PXE) ブートマシンをリッスンし、これと対話できます。
  • inventory.yaml ファイルを OpenShift Container Platform インストールプロセスの一部として作成している。

手順

  1. inventory.yaml ファイルで、マシンのフレーバーを編集します。

    1. ベアメタルコントロールプレーンマシンを使用する場合は、os_flavor_master の値をベアメタルフレーバーに変更します。
    2. 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'
      ...

      1
      ベアメタルのコントロールプレーンマシンを使用する必要がある場合は、この値をベアメタルのフレーバーに変更します。
      2
      この値を、コンピュートマシンに使用するベアメタルのフレーバーに変更します。

更新された inventory.yaml ファイルを使用してインストールプロセスを完了します。デプロイメント時に作成されるマシンは、ファイルに追加したフレーバーを使用します。

注記

インストーラーは、ベアメタルマシンの起動中にタイムアウトする可能性があります。

インストーラーがタイムアウトした場合は、インストーラーの wait-for コマンドを使用してデプロイメントを再起動してからデプロイメントを完了します。以下は例になります。

./openshift-install wait-for install-complete --log-level debug