第7章 ネットワークの分離
director は、分離されたオーバークラウドネットワークを設定する方法を提供します。これは、オーバークラウド環境がネットワークトラフィックのタイプを異なるネットワークに分離し、ネットワークトラフィックを特定のネットワークインターフェイスまたはボンドに割り当てることを意味します。隔離されたネットワークを設定した後、director は、隔離されたネットワークを使用するように OpenStack サービスを設定します。隔離されたネットワークが設定されていない場合、すべてのサービスはプロビジョニングネットワークで実行されます。
この例では、すべてのサービスに個別のネットワークを使用しています。
- ネットワーク 1: プロビジョニング
- ネットワーク 2: 内部 API
- ネットワーク 3: テナントネットワーク
- ネットワーク 4: ストレージ
- ネットワーク 5: ストレージ管理
- ネットワーク 6 - 管理
- ネットワーク 7: External および Floating IP (オーバークラウドの作成後にマッピング)
この例では、各オーバークラウドノードは、ボンディング内の 2 つのネットワークインターフェイスを使用して、タグ付き VLAN 内のネットワークにサービスを提供します。この結合には、次のネットワーク割り当てが適用されます。
| ネットワーク種別 | サブネット | VLAN |
| 内部 API | 172.16.0.0/24 | 201 |
| テナント | 172.17.0.0/24 | 202 |
| ストレージ | 172.18.0.0/24 | 203 |
| ストレージ管理 | 172.19.0.0/24 | 204 |
| 管理 | 172.20.0.0/24 | 205 |
| External: Floating IP | 10.1.1.0/24 | 100 |
7.1. カスタムインターフェイステンプレートの作成 リンクのコピーリンクがクリップボードにコピーされました!
オーバークラウドのネットワーク設定には、ネットワークインターフェイスのテンプレートセットが必要です。これらのテンプレートをカスタマイズして、ロールごとにノードインターフェイスを設定します。これらのテンプレートは YAML 形式の標準の heat テンプレートです (「Heat テンプレート」 を参照してください)。director には、開始するためのサンプルテンプレートのセットが含まれています。
-
/usr/share/openstack-tripleo-heat-templates/network/config/single-nic-vlans- ロールごとに VLAN 設定を持つ単一の NIC のテンプレートを含むディレクトリー。 -
/usr/share/openstack-tripleo-heat-templates/network/config/bond-with-vlans- ロールごとに結合された NIC 設定のテンプレートを含むディレクトリー。 -
/usr/share/openstack-tripleo-heat-templates/network/config/multiple-nics- ロールごとに 1 つの NIC を使用する複数の NIC 設定のテンプレートを含むディレクトリー。 -
/usr/share/openstack-tripleo-heat-templates/network/config/single-nic-linux-bridge-vlans- Open vSwitch ブリッジの代わりに Linux ブリッジを使用し、ロールベースに VLAN を使用した単一 NIC の設定を行うためのテンプレートが含まれるディレクトリーです。
これらの例には、デフォルトロールのテンプレートのみが含まれています。カスタムロールのネットワークインターフェイス設定を定義するには、これらのテンプレートをベースとして使用します。
この例では、デフォルトの結合 NIC の設定例をベースとして使用します。/usr/share/openstack-tripleo-heat-templates/network/config/bond-with-vlans にあるバージョンをコピーします。
cp -r /usr/share/openstack-tripleo-heat-templates/network/config/bond-with-vlans ~/templates/nic-configs
$ cp -r /usr/share/openstack-tripleo-heat-templates/network/config/bond-with-vlans ~/templates/nic-configs
これにより、ロールごとにボンディングされたネットワークインターフェイス設定を定義する Heat テンプレートのローカルセットが作成されます。各テンプレートには、標準の parameters、resources、および output セクションが含まれています。この例では、resources セクションのみを編集します。各 resources セクションは以下のヘッダーで始まります。
これにより、os-apply-config コマンドと os-net-config サブコマンドのリクエストが作成され、ノードのネットワークプロパティーが設定されます。network_config セクションには、タイプに基づいた順序で配置されたカスタムインターフェイス設定が含まれます。これには、次のものが含まれます。
- interface
単一のネットワークインターフェイスを定義します。この設定では、実際のインターフェイス名 (eth0、eth1、enp0s25) または番号付きのインターフェイス (nic1、nic2、nic3) を使用して各インターフェイスを定義します。
- type: interface name: nic2- type: interface name: nic2Copy to Clipboard Copied! Toggle word wrap Toggle overflow - vlan
VLAN を定義します。
parametersセクションから渡された VLAN ID およびサブネットを使用します。- type: vlan vlan_id: {get_param: ExternalNetworkVlanID} addresses: - ip_netmask: {get_param: ExternalIpSubnet}- type: vlan vlan_id: {get_param: ExternalNetworkVlanID} addresses: - ip_netmask: {get_param: ExternalIpSubnet}Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ovs_bond
Open vSwitch で、複数の
インターフェイスを結合するボンディングを定義します。これにより、冗長性や帯域幅が向上します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ovs_bridge
Open vSwitch で、複数の
interface、ovs_bond、vlanオブジェクトを接続するブリッジを定義します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - linux_bond
複数の
インターフェイスを結合する Linux ボンディングを定義します。これにより、冗長性や帯域幅が向上します。bonding_optionsパラメーターには、カーネルベースのボンディングオプションを指定するようにしてください。Linux ボンディングオプションの詳細については、次を参照してください。 4.5.1.結合モジュールディレクティブRed Hat Enterprise Linux 7 ネットワークガイドに記載されています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - linux_bridge
複数の
interface、linux_bond、vlanオブジェクトを接続する Linux ブリッジを定義します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
これらの各項目のパラメーターの完全なリストについては、付録C ネットワークインターフェイスパラメーター を参照してください。
この例では、デフォルトの結合インターフェイス設定を使用します。たとえば、/home/stack/templates/nic-configs/controller.yaml テンプレートは次の network_config を使用します。
管理ネットワークセクションは、ネットワークインターフェイスの Heat テンプレートでコメント化されています。管理ネットワークを有効にするには、このセクションのコメントを外します。
このテンプレートは、ブリッジ (通常は br-ex という名前の外部ブリッジ) を定義し、2 つの番号付きインターフェイス (nic2 および nic3) から bond1 という結合インターフェイスを作成します。ブリッジには、bond1 を親デバイスとして使用するタグ付き VLAN デバイスも多数含まれています。テンプレートには、ディレクター (nic1) に接続するインターフェイスも含まれています。
ネットワークインターフェイステンプレートのその他の例については、付録B ネットワークインターフェイステンプレートの例 を参照してください。
これらのパラメーターの多くは get_param 関数を使用していることに注意してください。これらは、ネットワーク専用に作成した環境ファイルで定義します。
未使用のインターフェイスは、不要なデフォルトルートやネットワークループを引き起こす可能性があります。たとえば、テンプレートには、OpenStack サービスの IP 割り当てを使用せずに DHCP やデフォルトルートを使用するネットワークインターフェイス (nic4) が含まれている場合があります。ネットワークの競合を回避するには、ovs_bridge デバイスから未使用のインターフェイスをすべて削除し、DHCP とデフォルトのルート設定を無効にします。
- type: interface name: nic4 use_dhcp: false defroute: false
- type: interface
name: nic4
use_dhcp: false
defroute: false