Menu Close

Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

オーバークラウドの IPv6 ネットワーク

Red Hat OpenStack Platform 13

IPv6 ネットワークを使用するためのオーバークラウドの設定

概要

本ガイドでは、Red Hat OpenStack Platform director を使用してエンドポイントに IPv6 を使用するオーバークラウドを作成する方法について説明します。これには、director が IPv6 ベースのオーバークラウドをデプロイする方法や、この設定に対する設定オプションが含まれます。

第1章 はじめに

Red Hat OpenStack Platform director は、オーバークラウド と呼ばれるクラウド環境を作成します。デフォルトでは、オーバークラウドは、インターネットプロトコルのバージョン 4 (IPv4) を使用してサービスのエンドポイントを設定します。ただし、オーバークラウドはインターネットプロトコルのバージョン 6 (IPv6) のエンドポイントもサポートします。これは、IPv6 のインフラストラクチャーをサポートする組織には便利です。本ガイドでは、オーバークラウドで IPv6 を使用する情報と設定の例を説明します。

1.1. IPv6 ネットワークの定義

IPv6 は、インターネットプロトコル規格の最新バージョンです。IETF(Internet Engineering Task Force(IETF))は、現在の一般的な IPv4 標準からの IP アドレスの消費を開始する手段として IPv6 を開発しました。IPv6 には、以下のような IPv4 とさまざまな違いがあります。

大規模な IP アドレス範囲
IPv6 の範囲は、IPv4 範囲よりもはるかに大きくなります。
End-to-End Connectivity の改善
ネットワークアドレス変換の信頼により、より大きな IP 範囲により、エンドツーエンドの接続性が向上します。
ブロードキャストなし
IPv6 は従来の IP ブロードキャストに対応していません。その代わりに、IPv6 はマルチキャストを使用してパケットを階層的に適用可能なホストに送信します。
ステートレスアドレス自動設定(SLAAC)
IPv6 は、IP アドレスを自動的に設定し、ネットワーク上で重複アドレスを検出する機能を提供します。これにより、アドレスを割り当てるために DHCP サーバーの信頼が削減されます。

IPv6 は、128 ビット(16 ビットのグループを使用する 4 16 進法で表示)を使用してアドレスを定義しますが、IPv4 はアドレスのみを使用します(8 ビットのグループを使用する 10 進数の数字で表示)。たとえば、IPv4 アドレス(192.168.0.1)は以下のようになります。

bits表現

11000000

192

10101000

168

00000000

0

00000001

1

IPv6 アドレス(2001:db8:88ec:9fb3::1)の場合は、以下のようになります。

bits表現

0010 0000 0000 0001

2001

0000 1101 1011 1000

0db8

1000 1000 1110 1100

88ec

1001 1111 1011 0011

9fb3

0000 0000 0000 0000

0000

0000 0000 0000 0000

0000

0000 0000 0000 0000

0000

0000 0000 0000 0001

0001

各ビットグループに先頭にゼロのない IPv6 アドレスを表し、IP アドレスごとに 1 回ゼロのビットグループを省略することもできます。この例では、db8 ビットのグルーピングを db8 として表現し、2001:0db8:88ec:9fb3:0000:0000:0001 から 2001:db8:88ec:9fb3:0000:0000:0001 から 2001:db8:88ec:9fb3::1 の 3 つのセットを省略することができます。詳細は、RFC 5952: A Recommendation for IPv6 Address Text Representation"を参照してください。

IPv6 でのサブネット

IPv4 と同様に、IPv6 アドレスはビットマスク を使用して、アドレス接頭辞をネットワークとして定義します。たとえば、サンプル IP アドレスに /64 ビットマスク(例: 2001:db8:88ec:9fb3::1/64)が含まれる場合、ビットマスクは最初の 64 ビット(2001:db8:88ec:9fb3)を定義する接頭辞として機能します。残りのビット(0000:0000:0001)がホストを定義します。

IPv6 は、以下を含む特別なアドレスタイプも使用します。

ループバック
ループバックデバイスは、ホスト内の内部通信に IPv6 を使用します。このデバイスは常に ::1/128 です。
ローカルリンク
リンクローカルアドレスは、特定のネットワークセグメント内で有効な IP アドレスです。IPv6 では、各ネットワークデバイスにリンクローカルアドレスがあり、プレフィックス fe80::/10 を使用する必要があります。ただし、これらのアドレスには fe80::/64 のプレフィックスが付けられます。
一意のローカル
一意のローカルアドレスはローカル通信用です。これらのアドレスは、fc00::/7 プレフィックスを使用します。
マルチキャスト
ホストはマルチキャストアドレスを使用してマルチキャストグループに参加します。これらのアドレスは、ff00::/8 の接頭辞を使用します。たとえば、FF02::1 はネットワーク上のすべてのノード用のマルチキャストグループで、FF02::2 はすべてのルーターのマルチキャストグループです。
グローバルなユニキャスト
これらのアドレスは、通常パブリック IP アドレス用に予約されます。これらのアドレスは 2000::/3 の接頭辞を使用します。

1.2. Red Hat OpenStack Platform での IPv6 の使用

Red Hat OpenStack Platform director では、OpenStack サービスを分離したネットワークにマッピングすることができます。これらのネットワークには以下が含まれます。

  • Internal API
  • Storage
  • ストレージ管理
  • Project(tenant)Networks(Neutron VLAN mode)
  • 外部

このようなネットワークトラフィックの種別についての詳しい情報は、『director のインストールと使用方法』 を参照してください。

また、Red Hat OpenStack Platform director は、これらのネットワークに対して IPv6 通信を使用する方法も提供します。これは、必要な OpenStack サービス、データベース、その他の関連サービスは、IPv6 アドレスを使用して通信します。これは、複数のコントローラーノードが関係する高可用性ソリューションを使用する環境にも適用されます。これにより、組織は Red Hat OpenStack Platform を IPv6 インフラストラクチャーと統合するのに役立ちます。

以下の表は、Red Hat OpenStack Platform における IPv6 をサポートするネットワークについてのガイドとして使用します。

ネットワーク種別デュアルスタック(IPv4/v6)シングルスタック(IPv6)シングルスタック(IPv4)備考

Internal API

 

はい

はい

 

ストレージ

 

はい

はい

 

ストレージ管理

 

はい

はい

 

プロジェクトネットワーク

はい

はい

 

プロジェクトネットワークエンドポイント

はい

はい

これは、プロジェクトネットワーク自体ではなく、プロジェクトネットワークトンネルをホストするネットワークの IP アドレスを参照します。

ネットワークエンドポイントの IPv6 は、VXLAN および Geneve のみをサポートします。GRE(Generic Routing encapsulation)はまだサポートされていません。

External: パブリック API(および Horizon)

 

はい

はい

 

外部: Floating IP

はい

 

IPv6 は、NAT および Floating IP アドレスの代わりにグローバルユニキャストアドレス(GUA)を使用します。Networking(neutron)サービスは、プロジェクトネットワーク間の IPv6 アドレス指定が GUA を使用し、プロジェクトネットワーク全体で GUA には重複がないため、NAT なしでルーティングできることを想定しています。

デュアルスタック(IPv4/v6)では、Floating IP アドレスを使用して、IPv4 サブネット上の IP アドレスのみに到達することができます。

プロバイダーネットワーク

はい

はい

IPv6 サポートはプロジェクトオペレーティングシステムによって異なります。

プロビジョニング(PXE/DHCP)

  

はい

このネットワーク上のインターフェースは IPv4 のみになります。

IPMI またはその他の BMC

  

はい

RHOSP は、プロビジョニングネットワーク上でベースボード管理コントローラー(BMC)インターフェースと通信します。これは IPv4 です。

BMC インターフェースがデュアルスタック IPv4 または IPv6 に対応している場合、RHOSP の一部ではないツールは IPv6 を使用して BMC と通信できます。

オーバークラウドのプロビジョニングネットワーク

   

オーバークラウドの ironic に使用するプロビジョニングネットワーク

オーバークラウドのクリーニングネットワーク

   

再利用する準備が整う前にマシンをクリーンアップするのに使用される分離ネットワーク。

1.3. 設定要件

本ガイドは、『 director のインストールと使用方法』の補足情報を提供します。これは、director のインストールと使用方法 で指定した同じ要件が本ガイドにも適用されることを意味します。必要に応じて、この要件を実装してください。

本ガイドでは、以下の要件も満たす必要があります。

  • Red Hat OpenStack Platform director をインストールしたアンダークラウドホスト。『director のインストールと使用方法』 を参照してください。
  • ネットワークは、IPv6native VLAN および IPv4-native VLAN をサポートします。両方がデプロイメントで使用されます。

1.4. シナリオの定義

本ガイドのシナリオは、IPv6 を使用する分離ネットワークを使用してオーバークラウドを作成することです。本ガイドでは、Heat テンプレートおよび環境ファイルを使用して設定したネットワーク分離を使用して、この目的を達成することを目指しています。このシナリオでは、これらの Heat テンプレートおよび環境ファイルに特定のバリアントも提供し、設定の違いを示しています。

注記

このシナリオでは、アンダークラウドは引き続き PXE ブート、イントロスペクション、デプロイメント、およびその他のサービスに IPv4 接続を使用します。

本ガイドは、『 director のインストールと使用方法 』の「オーバークラウドシナリオ」に類似したシナリオを使用します。主な違いは、Ceph Storage ノードの省略です。

このシナリオについての詳しい情報は、『director のインストールと使用方法』 を参照してください。

重要

本ガイドでは、RFC 3849 で定義されているように、ドキュメントの目的で 2001:DB8::/32 IPv6 プレフィックスを使用します。これらのアドレス例を、独自のネットワークからの IPv6 アドレスに置き換えてください。

第2章 作成前のオーバークラウドの設定

以下の章では、openstack overcloud deploy コマンドを実行する前に必要な設定について説明します。これには、プロビジョニング用ノードの準備、アンダークラウドでの IPv6 アドレスの設定、オーバークラウドの IPv6 パラメーターを定義するネットワーク環境ファイルの作成が含まれます。

2.1. stack ユーザーの初期化

stack ユーザーとして director ホストにログインし、以下のコマンドを実行して director の設定を初期化します。

$ source ~/stackrc

このコマンドでは、director の CLI ツールにアクセスする認証情報が含まれる環境変数を設定します。

2.2. アンダークラウドでの IPv6 アドレスの設定

アンダークラウドには、外部ネットワークにあるオーバークラウドのパブリック API へのアクセスが必要です。そのために、アンダークラウドのホストには、外部ネットワークにアクセスするインターフェースに IPv6 アドレスが必要です。

注記

プロビジョニングネットワークには、各ノードに IPv4 接続が必要です。アンダークラウドとオーバークラウドのノードは、PXE ブート、イントロスペクション、およびデプロイメントにこのネットワークを使用します。また、ノードはこのネットワークを使用して、IPv4 経由で DNS および NTP サービスにアクセスします。

ネイティブ VLAN または Dedicated インターフェース

アンダークラウドがネイティブ VLAN または外部ネットワークに接続された専用インターフェースを使用する場合は、ip コマンドを使用して IPv6 アドレスをインターフェースに追加します。この例では、専用のインターフェースは eth0 です。

$ sudo ip link set dev eth0 up; sudo ip addr add 2001:db8::1/64 dev eth0

トランキングされた VLAN インターフェース

アンダークラウドがコントロールプレーンブリッジ(br-ctlplane)と同じインターフェースでトランキングされた VLAN を使用して外部ネットワークにアクセスし、これをコントロールプレーンにアタッチし、IPv6 アドレスを VLAN に追加します。たとえば、このシナリオでは、外部ネットワークの VLAN ID に 100 を使用します。

$ sudo ovs-vsctl add-port br-ctlplane vlan100 tag=100 -- set interface vlan100 type=internal
$ sudo ip l set dev vlan100 up; sudo ip addr add 2001:db8::1/64 dev vlan100

IPv6 アドレスの確認

ip コマンドを使用して、IPv6 アドレスを追加することを確認します。

$ ip addr

選択したインターフェース上に IPv6 アドレスが表示されます。

永続 IPv6 アドレスの設定

上記に加えて、IPv6 アドレスを永続化することもできます。この場合は、/etc/sysconfig/network-scripts/ で適切なインターフェース ファイルを修正または作成します(この例では ifcfg-eth0 または ifcfg-vlan100のいずれか)。以下の行を追加します。

IPV6INIT=yes
IPV6ADDR=2001:db8::1/64

詳細は、Red Hat カスタマーポータルの「 IPv6 にネットワークインターフェースを設定する方法 」を参照してください。

2.3. 環境の設定

本項では 、『 director のインストールと使用方法 』の「CLI ツールを使用した基本的なオーバークラウドの設定」の プロセスのカットダウンバージョンを使用します。

以下のワークフローを使用して、環境の設定を行います。

  • ノード定義のテンプレートを作成して director で空のノードを登録します。
  • 全ノードのハードウェアを検査します。
  • ロールにノードを手動でタグ付けします。
  • フレーバーを作成し、それらをロールにタグ付けします。

2.3.1. ノードの登録

ノード定義のテンプレート (instackenv.json) は JSON ファイル形式で、ノード登録用のハードウェアおよび電源管理の情報が含まれています。たとえば、以下のようになります。

{
    "nodes":[
        {
            "mac":[
                "bb:bb:bb:bb:bb:bb"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.0.2.205"
        },
        {
            "mac":[
                "cc:cc:cc:cc:cc:cc"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.0.2.206"
        },
        {
            "mac":[
                "dd:dd:dd:dd:dd:dd"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.0.2.207"
        },
        {
            "mac":[
                "ee:ee:ee:ee:ee:ee"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.0.2.208"
        }
        {
            "mac":[
                "ff:ff:ff:ff:ff:ff"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.0.2.209"
        }
        {
            "mac":[
                "gg:gg:gg:gg:gg:gg"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.0.2.210"
        }
    ]
}
注記

プロビジョニングネットワークは IPv4 アドレスを使用します。IPMI は IPv4 アドレスであり、直接接続するか、プロビジョニングネットワークを介してルーティングに到達できる必要があります。

テンプレートを作成したら、stack ユーザーのホームディレクトリーにファイルを保存し(/home/stack/instackenv.json)、director にインポートします。これを行うには、次のコマンドを使用します。

$ openstack overcloud node import ~/instackenv.json

このコマンドでテンプレートをインポートして、テンプレートから director に各ノードを登録します。

カーネルと ramdisk イメージを全ノードに割り当てます。

$ openstack overcloud node configure

director でのノードの登録、設定が完了しました。

2.3.2. ノードのハードウェアの検査

ノードの登録後に、各ノードのハードウェア属性を検査します。以下のコマンドを実行して、各ノードのハードウェア属性を検証します。

$ openstack overcloud node introspect --all-manageable
重要

ノードは manageable の状態である必要があります。このプロセスが最後まで実行されて正常に終了したことを確認してください。ベアメタルの場合には、通常 15 分ほどかかります。

2.3.3. 手動によるノードのタグ付け

各ノードのハードウェアを登録、検査した後には、特定のプロファイルにそのハードウェアをタグ付けします。このプロファイルタグにより、ノードがフレーバーに照合され、次にそのフレーバーがデプロイメントロールに割り当てられます。

ノード一覧を取得して UUID を識別します。

$ ironic node-list

特定のプロファイルに手動でノードをタグ付けする場合には、各ノードの properties/capabilities パラメーターに profile オプションを追加します。たとえば、3 つのノードがコントローラープロファイルを使用し、1 つのノードがコンピュートプロファイルを使用するようにタグ付けするには、以下のコマンドを使用します。

$ ironic node-update 1a4e30da-b6dc-499d-ba87-0bd8a3819bc0 add properties/capabilities='profile:control,boot_option:local'
$ ironic node-update 6faba1a9-e2d8-4b7c-95a2-c7fbdc12129a add properties/capabilities='profile:control,boot_option:local'
$ ironic node-update 5e3b2f50-fcd9-4404-b0a2-59d79924b38e add properties/capabilities='profile:control,boot_option:local'
$ ironic node-update 484587b2-b3b3-40d5-925b-a26a2fa3036f add properties/capabilities='profile:compute,boot_option:local'
$ ironic node-update d010460b-38f2-4800-9cc4-d69f0d067efe add properties/capabilities='profile:compute,boot_option:local'
$ ironic node-update d930e613-3e14-44b9-8240-4f3559801ea6 add properties/capabilities='profile:compute,boot_option:local'

profile:compute および profile:control オプションを追加することで、適切なプロファイルにノードをタグ付けします。

注記

手動でのタグ付けの代わりに、プロファイルの自動タグ付けを使用して、ベンチマークデータに基づいて、多数のノードにタグを付けます。

2.4. ネットワークの設定

本項では、オーバークラウドのネットワーク設定を検証します。これには、サービスを分離して、特定のネットワークトラフィックを使用し、IPv6 オプションを使用してオーバークラウドを設定します。

2.4.1. コンポーザブルネットワークの詳細の設定

  1. デフォルトの network_data ファイルのコピーします。

    $ cp /usr/share/openstack-tripleo-heat-templates/network_data.yaml /home/stack/.
  2. network_data.yaml ファイルのローカルコピーを編集し、実際の IPv6 ネットワーク要件に応じてパラメーターを変更します。たとえば、外部ネットワークには、以下のデフォルトネットワークの詳細が含まれます。

    - name: External
      vip: true
      name_lower: external
      vlan: 10
      ipv6: true
      ipv6_subnet: '2001:db8:fd00:1000::/64'
      ipv6_allocation_pools: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}]
      gateway_ipv6: '2001:db8:fd00:1000::1'
    • name は、唯一の必須の値です。たとえば、InternalApiinternal_api に変更します。
    • vip: true は、新規ネットワークのデフォルトを設定し、残りのパラメーターで仮想 IP アドレス(VIP)を新規ネットワーク上に作成します。
    • ipv6 は、IPv6 を有効にするかどうかを定義します。
    • ipv6_subnet および ipv6_allocation_pools、および gateway_ip6 は、ネットワークのデフォルト IPv6 サブネットおよび IP 範囲を設定します。

-n オプションを使用して、カスタム network_data ファイルをデプロイメントに含めます。-n オプションを設定しないと、デプロイメントコマンドはデフォルトのネットワーク情報を使用します。

2.4.2. ネットワーク分離

デフォルトでは、オーバークラウドはサービスをプロビジョニングネットワークに割り当てます。ただし、Red Hat OpenStack Platform director は、オーバークラウドのネットワークトラフィックを分離したネットワークに分割することができます。これらのネットワークは、デフォルトで network_data.yaml という名前のデプロイメントコマンドラインに追加するファイルで定義されます。

重要

テナントネットワークでは、IPv6 VXLAN はサポートされていません。

サービスが IPv6 アドレスを使用してネットワーク上でリッスンしている場合は、パラメーターのデフォルトを指定して、サービスが IPv6 ネットワークで実行されていることを示します。各サービスが実行するネットワークは、network/service_net_map.yaml ファイルによって定義され、個別の ServiceNetMap エントリーに対するパラメーターのデフォルトを宣言することで上書きできます。これらのサービスでは、デフォルトでは環境ファイルでデフォルト値を設定する必要があります。

parameter_defaults:
  # Enable IPv6 for Ceph.
  CephIPv6: True
  # Enable IPv6 for Corosync. This is required when Corosync is using an IPv6 IP in the cluster.
  CorosyncIPv6: True
  # Enable IPv6 for MongoDB. This is required when MongoDB is using an IPv6 IP.
  MongoDbIPv6: True
  # Enable various IPv6 features in Nova.
  NovaIPv6: True
  # Enable IPv6 environment for RabbitMQ.
  RabbitIPv6: True
  # Enable IPv6 environment for Memcached.
  MemcachedIPv6: True
  # Enable IPv6 environment for MySQL.
  MysqlIPv6: True
  # Enable IPv6 environment for Manila
  ManilaIPv6: True
  # Enable IPv6 environment for Redis.
  RedisIPv6: True

director のコア Heat テンプレートの environments/network-isolation.j2.yaml ファイルは Jinja2 ファイルで、コンポーザブルネットワークファイル内の各 IPv6 ネットワークのポートおよび仮想 IP をすべて定義します。レンダリングすると、すべてのリソースレジストリーと共に network-isolation.yaml ファイルが同じ場所に生成されます。

2.4.3. インターフェースの設定

オーバークラウドには、ネットワークインターフェーステンプレートセットが必要です。director には、network_data ファイルに基づいてレンダリングされる Jinja2 ベースの Heat テンプレートセットが含まれています。

NIC ディレクトリー説明環境ファイル

single-nic-vlans

単一の NIC (nic1) がコントロールプレーンネットワークにアタッチされ、VLAN 経由でデフォルトの Open vSwitch ブリッジにアタッチされる。

environments/net-single-nic-with-vlans-v6.j2.yaml

single-nic-linux-bridge-vlans

単一の NIC (nic1) がコントロールプレーンネットワークにアタッチされ、VLAN 経由でデフォルトの Linux ブリッジにアタッチされる。

environments/net-single-nic-linux-bridge-with-vlans-v6.yaml

bond-with-vlans

コントロールプレーンネットワークが nic1 にアタッチされる。ボンディング構成の NIC (nic2 および nic3) が VLAN 経由でデフォルトの Open vSwitch ブリッジにアタッチされる。

environments/net-bond-with-vlans-v6.yaml

multiple-nics

コントロールプレーンネットワークが nic1 にアタッチされる。それ以降の NIC は network_data ファイルで定義されるネットワークに割り当てられる。デフォルトでは、Storage が nic2 に、Storage Management が nic3 に、Internal API が nic4 に、Tenant が br-tenant ブリッジ上の nic5 に、External がデフォルトの Open vSwitch ブリッジ上の nic6 に割り当てられる。

environments/net-multiple-nics-v6.yaml

この例では、single-nic-vlans テンプレートコレクションを使用します。

2.4.4. IPv6 分離ネットワークの設定

デフォルトの Heat テンプレートコレクションには、デフォルトのネットワーク設定用の Jinja2 ベースの環境ファイルが含まれています。このファイルは environments/network-environment.j2.yaml です。network_data ファイルでレンダリングすると、network -environment.yaml という標準の YAML ファイルが作成されます。このファイルの一部にはオーバーライドが必要になる場合があります。このため、独自のカスタム network-environment.yaml ファイルを作成する必要があるためです。このシナリオでは、以下の詳細に従ってカスタム環境ファイル(/home/stack/network-environment.yaml)を作成します。

parameter_defaults:
  DnsServers: ["8.8.8.8","8.8.4.4"]
  ControlPlaneDefaultRoute: 192.0.2.1
  ControlPlaneSubnetCidr: "24"
  EC2MetadataIp: 192.0.2.1

parameter_defaults セクションには、IPv4 上に残る特定サービスのカスタマイズが含まれます。

2.5. オーバークラウドの設定の完了

これにより、IPv6 ベースのオーバークラウドを設定するのに必要なステップが完了です。次の章では、openstack overcloud deploy コマンドを使用して、本章の設定を使用してオーバークラウドを作成します。

第3章 オーバークラウドの作成

IPv6 ネットワークを使用するオーバークラウドの作成には、openstack overcloud deploy コマンドに追加の引数が必要です。たとえば、以下のようになります。

$ openstack overcloud deploy --templates \
  -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \
  -e /usr/share/openstack-tripleo-heat-templates/environments/net-single-nic-with-vlans.yaml \
  -e /home/stack/templates/network-environment.yaml \
  --ntp-server pool.ntp.org \
  [ADDITIONAL OPTIONS]

上記のコマンドでは、以下のオプションを使用しています。

  • --templates: デフォルトの Heat テンプレートコレクションからオーバークラウドを作成します。
  • -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml: オーバークラウドのデプロイメントに追加の環境ファイルを追加します。ここでは、IPv6 のネットワーク分離設定を初期化する環境ファイルを追加します。
  • -e /usr/share/openstack-tripleo-heat-templates/environments/net-single-nic-with-vlans.yaml: オーバークラウドのデプロイメントに追加の環境ファイルを追加します。ここでは、IPv6 のネットワーク分離設定を初期化する環境ファイルを追加します。
  • -e /home/stack/network-environment.yaml: オーバークラウドのデプロイメントに別の環境ファイルを追加します。この場合、IPv6 に関連するオーバーライドが含まれます。

    network_data.yaml に ipv6: true の設定が含まれるようにします。以前のバージョンの Red Hat OpenStack Platform director には、2 つのデフォルトルートが含まれていました (外部ネットワーク上の IPv6 用ルートおよびコントロールプレーン上の IPv4 用ルート)。両方のデフォルトルートを使用するには、roles_data.yaml のコントローラー定義に default_route_networks に両方のネットワークが含まれることを確認します(例: default_route_networks: ['External', 'ControlPlane'])。

  • --ntp-server pool.ntp.org: NTP サーバーを設定します。

オーバークラウドの作成プロセスが開始され、director によりノードがプロビジョニングされます。このプロセスは完了するまで多少時間がかかります。オーバークラウドの作成のステータスを確認するには、stack ユーザーとして別のターミナルを開き、以下を実行します。

$ source ~/stackrc
$ heat stack-list --show-nested

3.1. オーバークラウドへのアクセス

director は、director ホストがオーバークラウドと対話するための設定と認証を行うスクリプトを生成します。このファイル (overcloudrc) は、stack ユーザーのホームディレクトリーに保存されます。このファイルを使用するには、以下のコマンドを実行します。

$ source ~/overcloudrc

これにより、director ホストの CLI からオーバークラウドと対話するために必要な環境変数が読み込まれます。director のホストとの対話に戻るには、以下のコマンドを実行します。

$ source ~/stackrc

第4章 オーバークラウド作成後の設定

作成プロセスにより、IPv6 ネットワークが完全に機能するオーバークラウドになります。ただし、オーバークラウドには、作成後の設定が必要です。

4.1. オーバークラウドのプロジェクトネットワークの作成

オーバークラウドには、インスタンスの IPv6 ベースのプロジェクトネットワークが必要です。source コマンドで overcloudrc ファイルを読み込み、neutron で初期プロジェクトネットワーク を作成します。たとえば、以下のようになります。

$ source ~/overcloudrc

$ openstack network create default --external --provider-physical-network datacentre --provider-network-type vlan --provider-segment 101

$ openstack subnet create default --subnet-range 2001:db8:fd00:6000::/64 --ipv6-address-mode slaac --ipv6-ra-mode slaac --ip-version 6 --network default

このコマンドにより、default という名前の基本的な neutron ネットワーク が作成されますnetwork listsubnet list コマンドで、作成したネットワークを確認します。

$ openstack network list
$ openstack subnet list

4.2. オーバークラウドのパブリックネットワークの作成

このシナリオでは、ノードのインターフェースが外部ネットワークを使用するように設定します。ただし、ネットワークアクセスができるように、オーバークラウドでこのネットワークを作成する必要があります。

$ openstack network create public --external --provider-physical-network datacentre --provider-network-type vlan --provider-segment 100

$ openstack subnet create public --network public --subnet-range 2001:db8:0:2::/64 --ip-version 6 --gateway 2001:db8::1 --allocation-pool start=2001:db8:0:2::2,end=2001:db8:0:2::ffff --ipv6-address-mode slaac --ipv6-ra-mode slaac

これにより、public という名前のネットワークが作成され、インスタンスに対して 65000 IPv6 アドレスの割り当てプールが提供されます。

インスタンストラフィックを外部ネットワークにルーティングするためのルーターを作成します。

$ openstack router create public-router
$ openstack router set public-router --external-gateway public

第5章 結果

これで、IPv6 ベースのオーバークラウドの作成および設定が完了します。オーバークラウド作成後の一般的な機能については、『 director のインストールと使用方法』 を参照してください。