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 は、インターネットプロトコルの標準の最新バージョンです。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 は 32 ビットのみを使用し、IPv4 は 32 ビットのみを使用します(グループ 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

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

IPv6 でのサブネット

IPv4 と同様に、IPv6 アドレスはビットマスクを使用してアドレス接頭辞をネットワークとして定義します。たとえば、/64 ビットマスクをサンプル IP アドレスに追加します(例: 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 サービスを分離されたネットワークにマッピングする方法を提供します。これらのネットワークには、以下が含まれます。

  • 内部 API
  • Storage
  • ストレージ管理
  • project(tenant)Networks(Neutron VLAN モード)
  • 外部

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

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

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

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

内部 API

 

必須

必須

 

ストレージ

 

必須

必須

 

ストレージ管理

 

必須

必須

 

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

必須

必須

必須

 

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

必須

必須

必須

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

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

External: Public API(および Horizon)

 

必須

必須

 

外部: Floating IP

必須

必須

必須

デュアルスタックおよび単一スタック(IPv6)のみ: グローバルユニキャストアドレス(GUA)接頭辞が割り当てられている neutron プロジェクトネットワークやアドレスには、外部にアクセスするために neutron ルーターの外部ゲートウェイポート上の NAT は必要ありません。

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

必須

必須

必須

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

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

  

必須

このネットワーク上のインターフェースは IPv4 専用です。

IPMI またはその他の BMC

  

必須

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

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

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

   

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

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

   

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

1.3. 設定要件

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

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

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

1.4. シナリオの定義

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

注記

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

本ガイドでは、『director のインストールと使用方法 』の「Advanced Overcloud のシナリオ」と同様のシナリオを使用します。主な違いは、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 を使用して、コントロールプレーンに新しい 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 カスタマーポータルで「How do I configure a network interface for 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 は、唯一の必須の値です。ただし、name_lower を使用して名前を正規化し、読みやすくすることができます。たとえば、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 には、Jinja2 ベースの Heat テンプレートのセットが含まれており、このテンプレートにより network_data ファイルに基づいてレンダリングされます。

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 ホストからオーバークラウドに対話するための設定を行い、認証をサポートするスクリプトを作成します。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 ネットワークが作成されます。neutron net-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 のインストールと使用方法』を参照してください