この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章の内容は、次のとおりです。
ここでは、Red Hat OpenStack ディストリビューションでの Cisco ACI OpenStack プラグインのインストールおよび設定の方法について説明します。
これらの手順の例では、OpenStack の Juno、Kilo、および Liberty リリースで検証を行いました。OpenStack システムは、インストール方法によって大きく異なる可能性があります。したがって、ここで示した例は、特定のインストール状態に適応するための基本として使用してください。
ここでは、前提条件について説明します。
対象読者:Linux、Red Hat OpenStack ディストリビューション、ACI ポリシー モデル、GUI ベースの APIC 設定に関する実際的な知識があること。
ACI ファブリック:ACI ファブリックがインストール済みであり、1.1(4e) および 11.1(4e) バージョン以上を使用して初期化されていること。新規 ACI ファブリックの初期化に関する基本ガイドラインについては、「ACI ファブリック初期化の例」を参照してください。複数のリーフ ペア間の通信については、OpenStack 外部ネットワークが使用できるように、ファブリックの BGP ルート リフレクタが有効化されている必要があります。
OpenStack:Ubuntu 14.4 以降に展開された Juno または Kilo リリースのインストール済みバージョン。これは、OpenStack のクリーン インストールであり、既存ネットワークやルータが存在しないことが必要です。すべてのネットワーク サービスは ACI によって提供されるためです。
Repo Server:OpenStack サーバの管理ネットワークからアクセス可能な Linux サーバが必要です。Cisco OpFlex ソフトウェアの apt ベースのインストール用リポジトリを収容するために使用されます。
インストール済みサーバの現在のカーネル バージョンを確認するには、次のコマンドを入力します。
uname -a
apic route-reflector-create --apic-ip <ip address> \ --apic-password <password> --apic-username \ <username> --no-secure
前提条件が満たされている状態で、Cisco ACI OpenStack プラグインのインストールと設定を開始できます。インストール プロセスの概要は次のとおりです。
Repo サーバ上での OpFlex プラグイン ソフトウェア アーカイブのステージング
OpenStack サーバの準備(DHCP および LLDP、apt repo の有効化、ACI インフラストラクチャ VLAN 用 NIC の準備)
OpenStack Neutron ネットワーク ノードの設定
OpFlex エージェントのインストールおよびホスト設定
次のいずれかを選択します。
エージェント サービスの開始
ACI OpFlex テナントの初期化
インストール時に、OpenStack サーバと ACI リーフ スイッチ間における VLAN カプセル化または VXLAN カプセル化を選択できます。リーフ スイッチ上のすべてのトラフィックは、ACI ファブリックで VXLAN にカプセル化されます。サーバとリーフ スイッチ間の VXLAN カプセル化により、OpenStack インストレーションで使用可能なネットワーク数を拡大できる可能性がありますが、コンピューティング ノードで必要なパケット トラフィックの処理も確実に増大します。VXLAN のオフロード機能を利用することにより、ある特定のネットワーク インターフェイス カードを使用してこの影響を相殺できます。OpenStack サーバ上の VLAN モード カプセル化により、膨大な数のテナント ネットワークは必要としないシステムのコンピューティング ノードでのオーバーヘッドが緩和されます。
常に VXLAN または VLAN カプセル化の手順に従ってください。OpFlex エージェント コンフィギュレーション タスクについては、それぞれのカプセル化ごとに個別の項に記載されています。
OpFlex プラグインは、インストールおよび設定が完了すると、自動の OpenStack テナント ネットワーキングに対して動作します。このガイドの別の項には、送信元 NAT(sNAT)およびフローティング IP アドレスを使用して OpenStack クラウドを外部ネットワークに拡張する方法についての説明があります。
ここでは、Repo Server でのソフトウェアのアーカイブのステージング方法について説明します。
Ubuntu または Debian システムでの ACI OpenStack プラグインおよび関連ソフトウェアのインストールは、apt および dpkg パッケージ管理によって実施されます。Repo Server は、システム内のすべての OpenStack サーバ ノードに対して一貫したコード バージョンを一元的に分散するポイントとして機能します。このサーバとしては、実際の環境内の任意の多目的サーバを使用できます。また緊急時には、この機能は OpenStack サーバ ノードのいずれかで提供できます。Repo Server は、ACI OpenStack プラグインのインストールとアップグレード時のみにアクセスできます。
ステップ 1 | Juno または Kilo の正しいバージョンおよび Cisco conref OpenStack プラグイン リリース アーカイブをシスコの Web サイト Download Software Web サイトから Repo Server にウンロードします。 |
ステップ 2 | apache2 サービスがインストールされ起動していることを確認します。必要に応じて、サービスのインストール、開始、有効化を次のように行います。 例: apt-get install apache2 |
ステップ 3 | Repo Server の /var/www/html ディレクトリの下に「opflex」などの名前を選択してディレクトリを作成します。archive tar ファイルを新しいディレクトリに移動し、アーカイブ ファイルに un-tar を実行して、apt 用の repo を作成します。作成後、repo から提供されるすべてのファイルの所有者が www-data ユーザに設定されていることを chown コマンドで確認します。 例: mv <release-archive-name> /var/www/html/opflex cd /var/www/html/opflex tar xvf <release-archive-name> cd /var/www/html/opflex dpkg-scanpackages . > Packages cd .. chown –R www-data opflex これにより、trivial apt repo が作成されます。 高度な設定については、Ubuntu のマニュアルを参照してください。 |
ステップ 4 | これで apt repo を OpenStack サーバに配信する準備が完了しました。管理/SSH インターフェイス上の Repo Server に接続する IP がこれらのサーバに設定されていることを確認してください。 |
ここでは、OpenStack サーバの準備方法について説明します。
OpFlexの ACI ファブリックと正しく対話できるように OpenStack サーバ ノードを準備する必要があります。これには、ACI インフラストラクチャ VLAN 上のインターフェイスの DHCP 設定、および LLDP 通信が含まれます。また、OpFlex ソフトウェア repo の Repo Server 上の apt リポジトリを指すようにサーバをセットアップする必要があります。
ステップ 1 | OpenStack Neutron およびコンピューティング サーバは、ACI ファブリックのインフラストラクチャ(infra)VLANに一致する 802.1Q VLAN タグ付きトラフィック用に設定された ACI 接続ネットワーク インターフェイスを必要とします。Cisco VIC カードを搭載した Cisco UCS サーバを使用する場合、上述のインターフェイスをオペレーティング システムの Linux サブインターフェイスとして設定することや、タギング機能を仮想 NIC(vNIC)にオフロードすることができます。
infra VLAN 用に Linux レベルのサブインターフェイスを使用するには、インターフェイス設定ファイルを作成します。そのファイルには、親物理インターフェイスまたはボンド インターフェイスの名前を指定し、その後にピリオドと ACI infra VLAN の番号を指定します。ACI ファブリック上のデフォルト infra VLANは 4093 です。たとえば、親インターフェイスが eth1 と命名されている場合、サブインターフェイスの設定ファイルは /etc/network/interfaces.となります。この設定ファイルの内容例を以下に示します。 auto eth1.4093 iface eth1.4093 inet dhcp hwaddress ether <eth1 mac address, or self created mac, see note> vlan-raw-device eth1 pre-up /sbin/ip link set dev eth1.4093 mtu 1600 post-up /sbin/route -nv add -net 224.0.0.0/4 dev eth1.4093 | ||
ステップ 2 | 親インターフェイスの MAC アドレスとは異なる一意な MAC アドレスをサブインターフェイスが持ち、これが設定ファイルの MACADDR= 行に設定されていることを確認します。このアドレスが親インターフェイスと重複する場合には、アップストリーム スイッチとの LLDP 通信に問題が発生する可能性があります。また、この MAC アドレスが VLAN でも一意であることを確認します。
親インターフェイスには MTU を 1600 に設定することが必要です。そうでない場合、サブインターフェイスの MTU が大きくなりません。これを確認するには、eth1 インターフェイスの設定に pre-up ステートメントを追加します。以下に例を示します。 例: auto eth1 iface eth1 inet manual pre-up /sbin/ip link set dev eth1 mtu 1600 | ||
ステップ 3 | インターフェイスをバウンスします。 例: ifdown eth1 ifup eth1
サブインターフェイスと親インターフェイスはともに、VXLAN ヘッダーがパケットに追加されるように MTU を大きくする必要があります。設定例の MTU=1600 の行がこれに対応しています。同じ行を親インターフェイスの設定ファイルに追加してください。 | ||
ステップ 4 | Infra VLAN 上のネットワーク インターフェイスは、OpFlex 通信用に APIC インフラストラクチャ ネットワークからの DHCP アドレスを要求します。サーバがリースに関する DHCP オプションのすべてを正しく受け取るためには、このインターフェイスに関する dhclient 設定がサーバに必要です。OpenStack サーバの VPC インターフェイスを設定する方法については、ホスト vPC の手動設定 を参照してください。
/etc/dhcp/dhclient.conf ファイルを編集して以下の内容を追加し、ファイルの最初の行の各サーバのイーサネット インターフェイスの MAC アドレスを挿入します。 例: interface "eth1.4093" {send host-name "<hostname>"; send dhcp-client-identifier 01:<interface MAC address>; } | ||
ステップ 5 | マルチキャスト ルートは特に opflex インフラストラクチャ VLAN インターフェイスに適用する必要があります。これは、上記のように、post-up ステートメントをインターフェイス設定ファイルに追加することで達成できます。 例: post-up /sbin/route -nv add -net 224.0.0.0/4 dev eth1.4093 | ||
ステップ 6 | ACI ファブリックが OpenStack ノードの動的な検出を使用できるようにするには、サーバ上にソフトウェア LLDP スタックが必要です。LLDP パッケージをインストールするには、次のコマンドを実行します。 例: apt-get install lldpd
| ||
ステップ 7 | OpenStack ネットワーキングおよびコンピューティング ノードは、それらの apt 設定にポインタが追加されていることが必要です。それにより、Repo Server から OpFlex ソフトウェアをプルできるようになります。次の内容を含む /etc/apt/sources.list.d/opflex.list ファイルを作成し、deb ステートメントの行に Repo Server の IP アドレスを代入してください。 例: deb http://10.10.225.2:8080/plugins/aci_opflex-0.2/repositories/ubuntu / | ||
ステップ 8 | この設定が完了したら、repo が正しく動作しており、エラーがないことを確認します。 例: apt-get update |
ここでは、OpenStack Neutron サーバのアップデート方法について説明します。
OpenStack システムの Neutron サーバは、ACI ファブリックと間での OpenStack テナントのダイナミック プロビジョニングに関する主要なやり取りを APIC 経由で提供します。ここでは、OpFlex エージェントとドライバのインストールについて説明するとともに、APIC 通信に必要となる特定の設定ファイルの編集についても説明します。ACI OpenStack プラグインを使用することにより、通常は OpenStack Neutron L3 エージェント サービスによって提供されるレイヤ 3 転送機能レイヤを、ACI ファブリックが置き換えることができます。このサービスは、今後使用されなくなります。
ステップ 1 | 次のコマンドを使用して、Neutron サーバ上のサービスを無効にする必要があります。 例: service neutron-l3-agent stop mv /etc/init/neutron-l3-agent.conf \ /etc/init/neutron-l3-agent.disabled | ||
ステップ 2 | OpenStack コントローラ ノードで、必要なサポート モジュールとともに、neutron-opflex-agent、APIC API、ML2/GBP ドライバをインストールします。これらのパッケージは EPEL repo から取得され、インストールに成功するには、ノードで EPEL が有効化されている必要があります。サポート モジュールである python-pip と python-pbr も前提条件として必要です。 例: apt-get install python-pip apt-get install python-pbr | ||
ステップ 3 | opflex エージェント、apicapi、ml2 ドライバをインストールします。 例: apt-get install neutron-opflex-agent python-apicapi \ neutron-ml2-driver-apic | ||
ステップ 4 | GBP ベースのインストールの場合には、以下の追加パッケージをインストールする必要があります。
例: apt-get install group-based-policy \ python-group-based-policy-client group-based-policy-ui \ group-based-policy-automation Python-click-cli に対する依存度に関するエラーが表示されたら、Ubuntu パッケージの Web サイトから python-click-cli をインストールしてください。詳細については、http://packages.ubuntu.com/wily/all/python-click-cli/download を参照してください。 | ||
ステップ 5 | インストールが完了したら、ネットワーク サービスの APIC を指すように /etc/neutron/neutron.conf ファイルを更新する必要があります。ファイル内のサービス プラグインの既存リストを次のように変更します。
ML2 の場合: 例: service_plugins = cisco_apic_l3,metering,lbaas GBP の場合: 例: service_plugins = group_policy,servicechain,apic_gbp_l3,metering
| ||
ステップ 6 | GBP ベースのインストールの場合、GBP のヒート プラグインを有効化する必要があります。その操作は、次に示すように、/etc/heat/heat.conf ファイルの DEFAULT セクションの plugin_dirs に必ず GBP パスを含めることによって実行できます。 例: plugin_dirs = /usr/lib/python2.7/site-packages/gbpautomation/heat | ||
ステップ 7 | ML2 設定ファイル /etc/neutron/plugins/ml2/ml2_conf.ini で次の変更を実施して、APIC 用のメカニズム ドライバを有効化し、OpFlex を新しいネットワーク タイプとして追加することも必要です。 例: type_drivers = opflex,local,flat,vlan,gre,vxlan tenant_network_types = opflex ML2 の場合: 例: mechanism_drivers = cisco_apic_ml2 GBP の場合: 例: mechanism_drivers = apic_gbp | ||
ステップ 8 | VXLAN カプセル化を使用している場合は、/etc/neutron/plugins/ml2/ml2_conf.ini ファイルを編集し、以下の行をコメント アウトします。 例: # network_vlan_ranges =
| ||
ステップ 9 | VLAN カプセル化を使用している場合は、/etc/neutron/plugins/ml2/ml2_conf.ini ファイルを編集し、以下の行を使用して VLAN の範囲を [ml2_type_vlan] セクションに追加します。 例: network_vlan_ranges = physnet1:1000:2000
| ||
ステップ 10 | キーワード physnet1 は、同じセクションの bridge_mappings で定義されたものです。以下のように bridge_mappings を定義するステートメントが同じセクションに存在することを確認してください。 例: bridge_mapppings = physnet1:br-prv
このファイルで定義された VLANの範囲は、ACI OpenStack プラグインが APIC 上に VLAN プールを作成するために使用します(ml2_conf_cisco_apic.ini ファイルの apic_provision_infra が True に設定されている場合)。 | ||
ステップ 11 | /etc/neutron/dhcp_agent.ini ファイルを編集し、dhcp_driver を変更した後、他の値を確認します。 例: dhcp_driver = apic_ml2.neutron.agent.linux.apic_dhcp.ApicDnsmasq
ovs_integration_bridge = br-int
enable_isolated_metadata = True
ovs_integration_bridge = br-int 行がコメント アウトされていないことを確認します。 | ||
ステップ 12 | OpFlex agent-ovs コンポーネントは、デフォルトで各コンピューティング ノード上の VM インスタンスにローカル DHCP リース配信を提供します。分散動作を制御するための設定は、ml2_conf_cisco_apic.ini ファイルの enable_optimized_dhcp で指定できます。このデフォルト設定(ファイルで上書きされていない場合の設定)は「True」です。neutron-dhcp-agent プロセスは引き続き Neutron サーバで必要とされます。これは、agent-ovs DHCP 機能に対する dnsmasq プロセスの IP アドレス管理と適切な通信を処理するために使用されます。すべての設定変更を確実に適用をするために、neutron-dhcp-agent を再起動します。 例: service neutron-dhcp-agent restart | ||
ステップ 13 | ml2_conf_cisco_apic.ini ファイルは、Neutron サーバ上の主要な設定ファイルであり、ACI OpenStack プラグインと ACIAPIC との対話をカスタマイズするために使用されます。APIC IP アドレス、クレデンシャル、ACI ポリシー モデルにおけるオブジェクトのデフォルト命名法はここで設定します。次のファイル例では、使用する ACI 環境に合わるために必要な関連設定を示し、説明しています。
/etc/neutron/plugins/ml2/ml2_conf_cisco_apic.ini ファイルを編集します。 例: [DEFAULT] apic_system_id= <any string> [opflex] networks = ‘*’ [ml2_cisco_apic] # Hostname:port list of APIC controllers apic_hosts = <comma-separated list of APIC IP addresses> # Username for the APIC controller apic_username= <username with administrative access to APIC> # Password for the APIC controller apic_password= <password for apic_username> # Whether use SSl for connecting to the APIC controller or not apic_use_ssl = True # How to map names to APIC: use_uuid or use_name. apic_name_mapping = use_name # Agent timers for State reporting and topology discovery apic_sync_interval = 0 apic_agent_report_interval = 30 apic_agent_poll_interval = 2 enable_aci_routing = True enable_arp_flooding = True apic_provision_infra = True apic_provision_hostlinks = False enable_optimized_dhcp = True enable_optimized_metadata = True integrated_topology_service = True ここで、<any string> は、ドライバによる APIC オブジェクトの自動作成において、OpenStack システム用 ACI テナントとして使用される名前です。 apic_provision_infra = True は、APIC で VMM ドメインを作成するために最初にシステムが起動されるときに必要とされます。既存のサーバ接続が使用されており、すでに APIC で定義されている場合、作成された VMM ドメインも、これらの接続の作成時に使用された AEP に手動で関連付ける必要があります。True の設定により、テナント ネットワーク用に VLAN プールを作成する機能も有効化されています(VLAN カプセル化モードが使用されている場合)。 apic_provision_hostlinks = False は、手動サーバ ポート プロビジョニングです。 enable_optimized_dhcp = True は、デフォルトで true です。 enable_optimized_metadata = True は、メタデータを分散する場合に使用します。 integrated_topology_service = True により、LLDP の検出が合理化されます。 | ||
ステップ 14 | GBP の場合、[group_policy] セクションを ml2_conf_cisco_apic.ini ファイルに追加します。ターゲット ポリシー グループのサブネットは、192.168.0.0/16 アドレス空間から切り分けられます。 例: [group_policy]
policy_drivers=implicit_policy,apic
[group_policy_implicit_policy]
default_ip_pool=192.168.0.0/16
| ||
ステップ 15 | ml2_conf_cisco_apic.ini ファイルの編集が完了したら、これを OpenStack neutron-server サービスのサービス定義に追加して、サービスの起動時にオプション用に読み取られるようにする必要があります。/etc/init/neutron-server.conf ファイルを編集し、--config-file /etc/neutron/plugins/ml2/ml2_conf_cisco_apic.ini を exec 行に追加してください。 例: exec start-stop-daemon --start --chuid neutron --exec
/usr/bin/neutron-server -- \
--config-file /etc/neutron/neutron.conf \
--config-file /etc/neutron/plugins/ml2/ml2_conf.ini \
--config-file /etc/neutron/plugins/ml2/ml2_conf_cisco_apic.ini \
--log-file /var/log/neutron/server.log $CONF_ARG
| ||
ステップ 16 |
(オプション)リリース 1.2(2x) では、OpenStack 経由で作成される可能性のあるサブネットの制約を追加で指定できます。これらの制約により、特定サブネットの作成拒否、パブリック指定、プライベート指定などを APIC で行えます。 | ||
ステップ 17 | Neutron サーバ サービス定義をアップデートして設定ファイルを読み込んだら、次のコマンドを使用して Neutron サーバを再起動します。 例: service neutron-server restart |
ここでは、OpFlex エージェントおよびホストのインストールと設定の方法について説明します。
Neutron サーバ ノードおよびコンピューティング ノードはともに、Neutron OpFlex エージェント、および OVS をプログラムする OpFlex エージェント(agent-ovs)のインストールと設定が必要です。
Neutron ノードには、すでに neutron-opflex-agent がインストールされている必要があります(OpenStack Neutron サーバのアップデートで実行)。
ステップ 1 | これらのエージェントをapt opflex リポジトリからインストールします。 例: apt-get install neutron-opflex-agent apt-get install agent-ovs |
ステップ 2 | /etc/neutron/plugins/ml2/openvswitch_agent.ini ファイルに次の例に示す設定が含まれていることを確認します。Liberty より以前のリリースを使用している場合は、代わりに /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.in ファイルを使用してください。 例: [ovs] enable_tunneling = False integration_bridge = br-int また、tunnel_bridge、vxlan_udp_port、tunnel_types の設定行が削除またはコメント アウトされていることも確認してください。 |
ステップ 3 | neutron-openvswitch-agent を停止および無効化して、次のコマンドを入力します。 例: service neutron-plugin-openvswitch-agent stop mv /etc/init/neutron-plugin-openvswitch-agent.conf /etc/init/neutron-plugin-openvswitch-agent.disabled |
ステップ 4 | Liberty を実行している場合は、このステップを省略してステップ 5 に進みます。
Kilo 以前のバージョンを実行している場合は、以下のように動作します。 OpenStack とともにインストールされたデフォルトの Open vSwitch エージェントは、OpFlex 設定では使用されません。ACI ファブリックと正しくやり取りできるように修正されたシスコ専用の Open vSwitch パッケージをインストールする必要があります。次のコマンドを入力してください。 例: apt-get install openvswitch-datapath-dkms=2.4.1\* apt-get install openvswitch-common=2.4.1\* apt-get install openvswitch-switch=2.4.1\* apt-get install openvswitch-gbp |
ステップ 5 | 新しい設定および現時点までの OVS モジュールを使用してシステムがクリーンな状態で実行することを保証するために、各サーバをリブートします。 |
ステップ 6 | サーバのリブート プロセスが完了したら、ログインし、ディレクトリを /etc/opflex-agent-ovs/conf.d に変更します。 |
ステップ 7 | agent-ovs サービスがその設定を /etc/opflex-agent-ovs/opflex-agent-ovs.conf ファイルから読み込み、その conf.d サブディレクトリでは、より小さな JSON 形式ファイルを使用して、そのファイル内の特定の設定を細かく上書きできます。以下に示した例の内容を使用して、新規に /etc/opflex-agent-ovs/conf.d/10-opflex-connection.conf ファイルを作成します。 例: { "opflex": { "domain": "comp/prov-OpenStack/ctrlr-[<apic_system_id>]-<apic_system_id>/sw-InsiemeLSOid", "name": " <hostname of this system> ", "peers": [ {"hostname": "10.0.0.30", "port": "8009"} ], "ssl": { "mode": "encrypted" } } } ここで、<apic_system_id> は、Neutron サーバの /etc/neutron/plugins/ml2/ml2_conf_cisco_apic.ini ファイルで使用したものと同じです。 <hostname of this system> は、OpenStack ホストのそれぞれにローカルな Linux サーバ ホスト名です。 |
ステップ 8 | 新しい /etc/opflex-agent-ovs/conf.d/10-opflex-connection.conf ファイルを保存し、JSON 構造の他の形式や括弧表記が変更されていないことを確認します。 |
ステップ 9 | ACI ファブリックがトンネル エンドポイントに対するデフォルトの IP アドレス プールを使用してインストールされている場合、この例のホスト名の隣の IP アドレスが OpFlex 通信のデフォルトのファブリック インターフェイスです(10.0.0.0/16)。この IP アドレス プールがファブリックのインストール中に変更されている場合は、ここで使用されるアドレッシングをファブリックに合わせて変更します。SSH でリーフ スイッチに接続し、show ip interface コマンドを使用して、ファブリックで使用されているアドレスを特定します。OpFlex ピアのホスト名アドレスは、リーフ スイッチの上の infra VLAN の SVI に割り当てられたエニーキャスト IP アドレスです。 |
ステップ 10 | サーバとリーフ スイッチ間に VXLAN カプセル化を使用している場合は、次の VXLAN カプセル化を使用する OpFlex エージェント ポートの設定 に進んでください。
VLAN カプセル化を使用している場合は、VLAN カプセル化を使用する OpFlex エージェント ポートの設定までスキップしてください。 |
ここでは、VXLAN カプセル化を使用する OpFlex エージェント ポートの設定方法について説明します。
この項は、OpenStack サーバと ACI リーフ スイッチ間で VXLAN カプセル化を使用することを選択した場合に適用されます。
ここでは、VLAN カプセル化を使用する OpFlex エージェント ポートの設定方法について説明します。
この項は、OpenStack サーバと ACI リーフ スイッチ間で VLAN カプセル化を使用することを選択した場合に適用されます。
ステップ 1 | OpFlex の設定には、ホストとリーフ スイッチ間の VLAN 設定に固有な 2 番目の上書き値セットが必要です。次に示す例の内容を使用して、新規に /etc/opflex-agent-ovs/conf.d/20-vlan-aci-renderer.conf ファイルを作成してください。 例: { "renderers": { "stitched-mode": { "ovs-bridge-name": "br-int", "encap": { "vlan" : { "encap-iface": "<tenant-VLAN-trunk>" } }, "flowid-cache-dir": "/var/lib/opflex-agent-ovs/ids" } } } ここで、<tenant-VLAN-trunk> は、実際に使用するテナント VLAN トランク インターフェイスのインターフェイス名です。 |
ステップ 2 | 新しい /etc/opflex-agent-ovs/conf.d/20-vlan-aci-renderer.conf ファイルを保存し、JSON 構造の他の形式や括弧表記が変更されていないことを確認します。 |
ステップ 3 | コンピューティング ノードからの OpenStack テナント ネットワーキング用のインターフェイスは、VLAN トランキングをサポートする物理インターフェイスです。場合によっては、これが infra VLAN サブインターフェイスの親インターフェイスになります。VPC の場合、Cisco VIC ベースの設定について ホスト vPC の手動設定 の説明を参照してください。これは、LACP トラフィックが送信される独立した main-bond インターフェイスです。このインターフェイス名は、opflex-agent-ovs.conf ファイル内の encap-iface 設定に一致する必要があります。次のコマンド構文を使用して、テナント VLAN トランク インターフェイスを OVS ブリッジ br-int に追加します。 例: ovs-vsctl add-port br-int <tenant-VLAN-trunk> |
ステップ 4 | OpenStack のプロビジョニングに使用したインストール ツールによっては、OVS セットアップで必要ではないポートやブリッジが設定されていることがあります。たとえば、br-ex と呼ばれる OVS ブリッジは、通常、Neutron ノード上の外部ネットワーク用にプロビジョニングされるものであり、不要になります。br-ethX などのインターフェイス ブリッジは、通常、VLAN トラフィックを伝送するために、VLAN モードの packstack インストールによってプロビジョニングされます。その機能は、br-int に直接追加されたテナント ネットワーク インターフェイスに置き換えられています。ovs-vsctl del-br コマンドおよび ovs-vsctl del-port コマンドを使用して、不要なブリッジやパッチ接続を削除できます。シンプルになった OVS 設定は、次に示す ovs-vsctl show の出力のようになります。 例: Bridge br-int fail_mode: secure Port br-int Interface br-int type: internal Port <tenant-VLAN-trunk> Interface <tenant-VLAN-trunk> ovs_version: "2.4.1" VM インスタンスがコンピューティング ノード上で起動されると、システムは動的に OVS インターフェイスを qvo から順に br-int に追加して、各 VM の接続に使用される個々の Linux ブリッジにそれらをリンクします。VM トラフィックは、br-int を通過し、agent-ovs によるプログラムに従って、テナント VLAN インターフェイスから ACI ファブリックに横断します。 |
ここでは、エージェント サービスを開始および有効化する方法について説明します。
ここでは、ACI テナントの初期化方法について説明します。