4.3. カスタム NIC 設定の作成


各ロールには、固有の NIC 設定が必要です。NIC テンプレートの基本セットのコピーを作成し、新しいテンプレートを対応する NIC 設定リソースにマッピングするには、以下の手順を実施します。

手順

  1. コア heat テンプレートディレクトリーに移動します。

    $ cd /usr/share/openstack-tripleo-heat-templates
  2. tools/process-templates.py スクリプト、カスタム network_data ファイル、およびカスタム roles_data ファイルを使用して、Jinja2 テンプレートをレンダリングします。

    $ tools/process-templates.py \
        -n /home/stack/network_data_spine_leaf.yaml \
        -r /home/stack/roles_data_spine_leaf.yaml \
        -o /home/stack/openstack-tripleo-heat-templates-spine-leaf
  3. ホームディレクトリーに移動します。

    $ cd /home/stack
  4. デフォルト NIC テンプレートのいずれかからコンテンツをコピーし、スパイン/リーフテンプレートのベースとして使用します。たとえば、single-nic-vlans NIC テンプレートをコピーするには、以下のコマンドを実行します。

    $ cp -r openstack-tripleo-heat-templates-spine-leaf/network/config/single-nic-vlans/* /home/stack/templates/spine-leaf-nics/.
  5. /home/stack/templates/spine-leaf-nics/ の各 NIC 設定を編集し、設定スクリプトの場所を絶対パスに変更します。以下のスニペットに示すような、ネットワーク設定のセクションにスクロールします。

    resources:
      OsNetConfigImpl:
        type: OS::Heat::SoftwareConfig
        properties:
          group: script
          config:
            str_replace:
              template:
                get_file: ../../scripts/run-os-net-config.sh
              params:
                $network_config:
                  network_config:

    スクリプトの場所を絶対パスに変更します。

    resources:
      OsNetConfigImpl:
        type: OS::Heat::SoftwareConfig
        properties:
          group: script
          config:
            str_replace:
              template:
                get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh
              params:
                $network_config:
                  network_config:

    それぞれのリーフの各ファイルについてこの変更を行い、変更を保存します。

    注記

    NIC をさらに変更する場合には、『オーバークラウドの高度なカスタマイズ』「カスタムネットワークインターフェーステンプレート」を参照してください。

  6. spine-leaf-nics.yaml という名前のファイルを作成し、そのファイルを編集します。
  7. ファイルに resource_registry セクションを作成し、*::Net::SoftwareConfig リソースのセットを追加して、対応する NIC テンプレートにマッピングします。

    resource_registry:
      OS::TripleO::Controller::Net::SoftwareConfig: /home/stack/templates/spine-leaf-nics/controller.yaml
      OS::TripleO::ComputeLeaf0::Net::SoftwareConfig: /home/stack/templates/spine-leaf-nics/computeleaf0.yaml
      OS::TripleO::ComputeLeaf1::Net::SoftwareConfig: /home/stack/templates/spine-leaf-nics/computeleaf1.yaml
      OS::TripleO::ComputeLeaf2::Net::SoftwareConfig: /home/stack/templates/spine-leaf-nics/computeleaf2.yaml
      OS::TripleO::CephStorageLeaf0::Net::SoftwareConfig: /home/stack/templates/spine-leaf-nics/ceph-storageleaf0.yaml
      OS::TripleO::CephStorageLeaf1::Net::SoftwareConfig: /home/stack/templates/spine-leaf-nics/ceph-storageleaf1.yaml
      OS::TripleO::CephStorageLeaf2::Net::SoftwareConfig: /home/stack/templates/spine-leaf-nics/ceph-storageleaf2.yaml

    これらのリソースマッピングは、デプロイメント時にデフォルトのリソースマッピングをオーバーライドします。

  8. spine-leaf-nics.yaml ファイルを保存します。
  9. レンダリング済みテンプレートのディレクトリーを削除します。

    $ rm -rf openstack-tripleo-heat-templates-spine-leaf

上記の手順を実施すると、NIC テンプレートのセットと共に、必要な *::Net::SoftwareConfig リソースをそれらのテンプレートにマッピングする環境ファイルが作成されます。最終的に openstack overcloud deploy コマンドを実行する際には、環境ファイルを以下の順番で追加するようにしてください。

  1. /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml: ネットワーク分離を有効にします。director はこのファイルを network-isolation.j2.yaml Jinja2 テンプレートからレンダリングする点に注意してください。
  2. /usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml: デフォルトの NIC リソースマッピングが含まれるデフォルトのネットワーク環境ファイル。director はこのファイルを network-environment.j2.yaml Jinja2 テンプレートからレンダリングする点に注意してください。
  3. /home/stack/templates/spine-leaf-nics.yaml: カスタム NIC リソースマッピングが含まれるこのファイルは、デフォルトの NIC リソースマッピングをオーバーライドします。

以下のコマンドスニペットに、環境ファイルの順番を示します。

$ openstack overcloud deploy --templates
    ...
    -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml \
    -e /home/stack/templates/spine-leaf-nics.yaml \
    ...

リソース

ネットワーク環境ファイルに情報を追加してスパイン/リーフアーキテクチャーの特定機能を定義するには、以降のセクションに記載する手順を実施します。この設定を完了したら、このファイルを openstack overcloud deploy コマンドに追加します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.