OpenStack に注! BIG-IP の LBaaS プロビジョニング解説 F5 Networks, Inc. 1
Agenda SDNコントローラ連携の取組み LBaaSプラグインソフトウェア概要 BIG-IQ OpenStackプラグインのインストール 順 OpenStack BIG-IQ BIG-IP 設定イメージ 3 今回は OpenStack の LBaaS に関して 実際に BIG-IP と連携するときにどのような手順が必要になるのか インストールとオペレーションの方法についてご紹介します F5 Networks, Inc. 2
SDN コントローラ連携の取組み F5 Networks, Inc. 3
SDN コントローラによる制御 ネットワークサービス (SDN REST 対応 ) Software-Defined Data Center アプリケーション プレーン ( ユーザインタフェース ) コントロール プレーン ( 制御メッセージ ) データ プレーン ( ハードウェア / ソフトウェア ) ACI SDN Controller ( オーケストレータ等 ) OPEN REST APIs Service Chaining BIG-IQ Device LAYER 2-3 レイヤー 4-7 BIG-IQ Security BIG-IQ BIG-IQ Cloud Virtual Networks NVGRE VXLAN Etc 7 SDN を実現するためにさまざまな技術とオーケストレーションツールが世に出てきています SDN のコントローラーは 具体的には OpenFlow というプロトコル等を使ってネットワークを制御していますが 現状では L2 L3 といった低いレイヤーの部分にフォーカスしており それより上位の L4 L7 の設定に関してはまだまだ機能が不足しているというのが現状です そこで F5 がこのほどリリースしたのが BIG-IQ という管理ツールが有効なソリューションです BIG-IQ を既存の SDN のオーケストレーションツールとうまく連携することで L4 L7 部分をより柔軟にコントロールすることが可能になります F5 Networks, Inc. 4
管理製品との連携強化 F5 BIG-IQ: 次世代マネジメント ソリューション BIG-IQ Cloud BIG-IQ Security Additional Modules BIG-IQ プラットフォームインテリジェントな管理フレームワーク BIG-IP デバイス F5 テクノロジの集中管理を 的とした新しいマネジメント製品 多様なテクノロジを管理する事を 的 更に F5 製品と様々なネットワーク管理製品 クラウドオーケストレーションツールとのインターフェースとなる位置づけ 9 BIG-IQ は 2 つの役割を持っています 1 つは BIG-IP の集中管理ツールとして複数の F5 製品を統合管理すること もうひとつが OpenStack だけでなく VMware の NSX Amazon といった さまざまなクラウド環境とのインターフェイスの役割を担うことです F5 Networks, Inc. 5
OpenStack との連携 ネットワークサービス (SDN) PLUG-IN FOR BIGIQ REST API REST API BIG-IQ OpenStack サービス HTTP サービス A HTTP サービス B HTTPS サービス C 11 図は OpenStack 環境のイメージです まず BIG-IQ のプラグインをインストールします そして OpenStack 上でロードバランサの設定がされると その操作が BIG-IQ に伝わります BIG-IQ は OpenStack から伝わった内容を解釈して BIG-IP の設定に合わせたオブジェクトモデルへと変換し BIG-IP に通信を行います つまり BIG-IQ が OpenStack と BIG-IP を橋渡しする為の通訳をする役割を担うわけです これらの動作は自動的に行われますので 管理者は通常使っている OpenStack の管理画面を操作するだけです つまり 特に BIG-IQ や BIG-IP の画面を意識して確認する必要はありません F5 Networks, Inc. 6
LBaaS プラグインソフトウェア概要 F5 Networks, Inc. 7
OpenStack と F5 Deployment & Scaling HEAT Management Console HORIZON Image Service GLANCE LBaaS VPNaaS FWaaS Network NEUTRON L2/L3 DHCP DNS Metering CEILOMETER Compute NOVA Identity KEYSTONE Object Store SWIFT Storage CINDER 15 OpenStack は さまざまなソフトウェアコンポーネントから成り立っているオーケストレーションツールですが 今回 F5 が連携するコンポーネントは OpenStack の中でネットワークを管理する NEUTRON そのプラグインとして LBaaS が実装されています F5 Networks, Inc. 8
Officially Supported と Community-supported 2 種類のLBaaS プラグインを提供 Official 版 BIG-IQ 4.4,4.5からダウンロード可能 /cloud-plugins/openstack/lbaas Community 版 DevCentralからダウンロード https://devcentral.f5.com/d/openstack-neutron-lbaas-driver-andagent?download=true 17 F5 が現在提供している LBaaS のプラグインは 2 種類あります ひとつが Official 版で BIG-IQ に同梱されているプラグイン もうひとつが Community 版とで F5 のコミュニティサイトである DevCentral で公開されているプラグインになります F5 Networks, Inc. 9
Official 版 設定ガイド https://support.f5.com/kb/en-us/products/big-iq-cloud/manuals/product/bigiq-lbaasopenstack-plugin-setup-4-4-0.html Version Compatibility LBaaSプラグイン : for Grizzly/Havana BIG-IP : TMOS v11.3+ BIG-IQ Cloud: 4.4.0,4.5.0 特徴 OpenStack 内で稼働する BIG-IP VE 版のプロビジョニング 19 Official 版の設定ガイドは F5 が運営しているナレッジサイト AskF5 で公開されています また現在サポートしているバージョンは OpenStack では Grizzly もしくは Havana です BIG-IP の OS TMOS ではバージョン 11.3 以降がサポート対象となります このプラグインを使うことで 基本的には OpenStack の中で作った仮想インスタンス OpenStack の中で動いている BIG-IP を使って LBSaaS を構築することが可能になります F5 Networks, Inc. 10
Community 版 設定ガイド https://devcentral.f5.com/d/openstack-neutron-lbaas-driver-andagent-readme?download=true Version Compatibility LBaaSプラグイン : for Havana/Icehouse BIG-IP : TMOS v11.5+ BIG-IQ 不要 特徴 BIG-IP Hardware Appliance, 及び VE 版のプロビジョニング 21 Community 版では OpenStack の新しいバージョン Icehouse も利用することができます ただし BIG-IP の OS は バージョン 11.5 以降のみのサポートとなります Official 版との大きな違いとしては BIG-IQ が不要で OpenStack と BIG-IP のみで通信が可能という点が挙げられます さらに 先ほどのスライドの例では OpenStack の中の BIG-IP を使いましたが Community 版ではハードウェアアプライアンスまたは 例えば OpenStack ではなく VMware の上で動いている BIG-IP のイメージを連携対象にすることもできます F5 Networks, Inc. 11
F5 LBaaS Plugin 概要 OpenStack ML2 plugin を導 することで 3 rd Party 製の各社プラグインがサポートされる F5 は OpenStack 仮想環境上に F5 ADC ソリューションを展開する LBaaS プラグインを構成 F5 LBaaS pluginには2 種類のコンポーネントあり F5 Plugin Driver: LBaaS plugin driverはlbaasオブジェクトモデルをf5モデルに変換し ロードバランス設定を うためのモジュール F5 Plugin Device Agent F5 device agentはロードバランス構成にあたり F5 BIG-IP/IQと連携するための スタンドアロンサービス NEUTRON SERVICE ML2 PLUGIN F5 PLUGIN DRIVER F5 PLUGIN AGENT 23 これらプラグインには 2 種類のコンポーネントが含まれています ひとつが F5 のプラグインドライバで OpenStack の中で定義したロードバランサのオブジェクトモデルを BIG-IP のオブジェクトに変換 通訳してくれるものです もうひとつは F5 プラグインデバイスエージェントです こちらは実際に OpenStack から BIG-IP あるいは BIG-IQ に対して REST 通信を行うプロセスそのものになります F5 Networks, Inc. 12
簡易動作フロー 1. OpenStack 管理 GUI(Horizon) より ロードバランサーの設定を実施 2. OpenStack Neutron から REST 通信を い BIG-IQ 上にテナントやカタログを 動作成 3. BIG-IP に対して iapps テンプレートを利 した構成が作成される REST 通信 25 これらのプラグインを使うフローについてご紹介します まず 管理者が OpenStack の Horizon という GUI を使って ロードバランサのオブジェクトの設定を行います 各種パラメータを入力すると その内容が BIG-IQ に伝わります BIG-IQ は OpenStack から来た内容を紐解き テナントやカタログといった BIG-IP の設定に必要なオブジェクトを自動で生成します そしてすべてのオブジェクトが生成されたら iapps というテンプレートを使って設定を流し込みます 管理者からは OpenStack の画面しか見えませんが 内部では REST 通信が行われており 双方向で情報がやり取りされています F5 Networks, Inc. 13
内部詳細ワークフロー 1. OpenStack GUI (Horizon) より設定 1 OPENSTACK GUI HORIZON 2. Horizon が LBaaS Call を実施し F5 Driver に送信 2 4. F5 Driver が Agent に対して RPC Call を実施 4 LBAAS DRIVER NEUTRON 8 LBAAS AGENT NEUTRON 3. F5 Driver が DB に変更通知 3 8 NEUTRON DB 8. F5 Agent は F5 Driver に対して RPC call をおこない Driver が DB に対して変更を通知 5. F5 Agent が BIG-IQ に対して Call を実施 5 BIG-IQ NOVA 7 7. F5 Agent は BIG-IQ よりレスポンスを得る 6 BIG-IP NOVA 6. BIG-IQ は iapp 経由で BIG-IP に設定を実施 27 内部の詳細フローです Horizon GUI から各種パラメータを入力すると F5 のドライバもしくはエージェントに内容が伝わり BIG-IQ から BIG-IP に対して通信が行われます 大まかに言って上段の部分を RPC で制御しており 下段は REST で通信の制御を行っています F5 Networks, Inc. 14
BIG-IQ OpenStack プラグインのインストール 順 F5 Networks, Inc. 15
BIG-IQ Openstack Plugin インストールに当たって Openstack 環境確認 Havana リリースであること ML2(Modular Layer 2) がNeutronのCoreプラグインとなっていること /etc/neutorn/neutron.conf core_plugin = neutron.plugins.ml2.plugin.ml2plugin BIG-IPの条件 OpenStack 上に事前に作成 ライセンスが適 されていること L2-L3ネットワーク構成 (VLAN/SelfIP) F5 LBaaS iappがインストールされていること /usr/lib/dco/packages/extras/iapp-lbaas-4.4.0-0.0.5858.noarch.rpm OpenStack BIG-IP 31 ここで解説するインストール手順は BIG-IQ のプラグインを使ったものになります この場合 いくつかの前提条件があります まず OpenStack の環境は Grizzly もしくは Havana のバージョンであること そして OpenStack の中に Core プラグイン という プラグインを設定する項目がありますが こちらを ML2( モジュラーレイヤー 2) の Core プラグインに指定する必要があります Icehouse や Juno といったバージョンではデフォルトの設定が ML2 になっているのですが Grizzly や Havana の場合はデフォルトではないので 手動で変更してください そして BIG-IP ですが はじめに OpenStack の中の仮想インスタンスとして立ち上げる必要があります また iapp をはじめにインストールしてください F5 Networks, Inc. 16
BIG-IQ Openstack Plugin インストール 順 BIG-IQ v4.4 本体から pluginパッケージを取得し OpenStack 環境にコピー /cloud-plugins/openstack/lbaas Debian(.deb) or RedHat(.rpm) 形式のパッケージを 意 BIG-IQ コントローラとネットワークホストに対して OpenStack BIG-IQ Openstack plugin driverのインストール rpm -ivh f5-lbaas-driver-1.0.1.havana-1_1.noarch.rpm ネットワークホストに対して BIG-IQ Openstack plugin Agentをインストール rpm -ivh f5-device-lbaas-agent-1.0.1.havana-1_1.noarch.rpm 33 実際のインストール手順です まず BIG-IQ に含まれる OpenStack の各種パッケージ 現在 Debian 形式と RedHat 形式の両方をご用意していますが こちらを OpenStack のコンピュートノードもしくはネットワークコントローラノードにコピーする必要があります あとは RPM 形式でインストールするだけですので 比較的作業は簡単です F5 Networks, Inc. 17
BIG-IQ Openstack Plugin インストール 順 Neutron 構成ファイル (/etc/neutron/neutron.conf) の編集 OpenStack 1. service_plugin service_plugins =neutron.services.loadbalancer.plugin.loadbalancerplugin,neutron.services.l3_router. l3_router_plugin.l3routerplugin,neutron.services.firewall.fwaas_plugin.firewallplugin 2. service_providers service_provider=loadbalancer:f5:neutron.services.loadbalancer.drivers.f5.plugin_driver. F5PluginDriver:default #service_provider=loadbalancer:haproxy:neutron.services.loadbalancer.drivers.haproxy. plugin_driver.haproxyonhostplugindriver:default 35 インストールが終了しましたら 設定をいくつか編集する必要があります まずは Neutron 全体を定義している neutron.conf というファイルで この中の 2 カ所を修正します 1 つ目は service plugins というところでロードバランサの定義を行います 2 つ目が重要なのですが service providers というところで デフォルトではオープンソースの HA プロキシが定義されていますが こちらをコメントアウトして F5 形式のフォーマットに変更する必要があります F5 Networks, Inc. 18
BIG-IQ Openstack Plugin インストール 順 OpenStack プラグイン構成ファイルである /etc/neutron/f5-device-lbaas-agent.ini を編集 BIG-IQ IP Address, admin ID/PW, BIG-IP admin ID/PW, OpenStack admin ID/PW,Openstack keystone URI の記載 主な変更箇所の設定例 bigiq_hostname = 10.3.58.25 bigiq_admin_username = admin bigiq_admin_password = admin openstack_keystone_uri = http://10.3.58.10:5000/ openstack_admin_username = admin openstack_admin_password = password bigip_management_username = admin bigip_management_password = admin 37 インストールが終了しましたら 設定をいくつか編集する必要があります まずは Neutron 全体を定義している neutron.conf というファイルで この中の 2 カ所を修正します 1 つ目は service plugins というところでロードバランサの定義を行います 2 つ目が重要なのですが service providers というところで デフォルトではオープンソースの HA プロキシが定義されていますが こちらをコメントアウトして F5 形式のフォーマットに変更する必要があります F5 Networks, Inc. 19
BIG-IQ Openstack 各種サービスの起動と確認 OpenStack 1. F5 Agent service の開始 # /etc/rc.d/init.d/f5-device-lbaas-agent restart Restarting f5-device-lbaas-agent (via systemctl): [ OK ] 2. Neutron server の再起動 #service neutron-server restart Redirecting to /bin/systemctl restart neutron-server.service 3. LoadBalancer Agent の起動確認 #neutron agent-list [+--------------------------------------+--------------------+--------------------------------------------------------------+-------+----------------+ id agent_type host alive admin_state_up +--------------------------------------+--------------------+--------------------------------------------------------------+-------+----------------+ 81b789ec-87c0-45e9-a73a-1ca89480c17f Loadbalancer agent rhospctrl.f5test.local:5eec10e2-e578-5030-b3ac-43b87854e36f :-) True aae66142-26b2-4596-836e-50d39849a6c1 Open vswitch agent rhospnova1.f5test.local :-) True +--------------------------------------+--------------------+--------------------------------------------------------------+-------+----------------+ 39 ここまでの編集作業が完了したら あとはサービスを再起動することでロードバランサのエージェントを起動することができます 具体的には F5 エージェントのサービスの開始 Neutron のサービスの再起動 ロードバランサのエージェントの起動確認です 設定ファイルが間違っていなければ 画面下の赤文字のように F5 専用のロードバランサエージェントが OpenStack の中で起動します F5 Networks, Inc. 20
OpenStack BIG-IQ BIG-IP 設定イメージ F5 Networks, Inc. 21
1. OpenStack 上で ロードバランサーの設定を実施 1. OpenStack GUI 管理画 より ネットワーク管理内のロードバランサーを選択プールの追加を選択 2. プロバイダーの部分に F5( デフォルト ) と表 されることを確認各種設定項 を選択 43 ここまでの編集作業が完了したら あとはサービスを再起動することでロードバランサのエージェントを起動することができます 具体的には F5 エージェントのサービスの開始 Neutron のサービスの再起動 ロードバランサのエージェントの起動確認です 設定ファイルが間違っていなければ 画面下の赤文字のように F5 専用のロードバランサエージェントが OpenStack の中で起動します F5 Networks, Inc. 22
2. BIG-IQ 上に テナントやカタログが 動作成される プールが作成された時点で F5 管理ソフトである BIG-IQ に対して テナント カタログ作成 Applications への登録 OpenStack 内で稼働中のインスタンス OpenStack Connectors OpenStack の Roles BIG-IQ が制御する BIG-IP が 動作成される 45 入力が完了すると 自動的に管理ツールである BIG-IQ に対して テナントやカタログ アプリケーションなど さまざまなオブジェクトが自動で登録されます この中で最も重要なのは 画面左下にあるコネクタです また OpenStack の中で動いているデバイスも自動的に作成されます F5 Networks, Inc. 23
3. BIG-IP 上に iapp テンプレートを利 した構成が反映される BIG-IQ は BIG-IP に対して iapp テンプレートを利 した 構成を う ( 名称の後尾に OpenStack Project ID が 動付与される ) 47 BIG-IQ の iapp テンプレートを使って BIG-IP に対し各種設定が流し込まれます F5 Networks, Inc. 24
4. BIG-IP 上で設定情報の確認 BIG-IP に対して Pool Monitor Virtual Server HTTP Profile 等の設定項 が作成される 49 BIG-IQ の iapp テンプレートを使って BIG-IP に対し各種設定が流し込まれます F5 Networks, Inc. 25
まとめ F5 LBaaS plug-in は簡単にセットアップできます 既存環境の BIG-IP Hardware Appliance, 及び F5 BIG-IP VE を OpenStack LBaaS としてご利 頂けます RedHat 社様環境 (RHELOSP) で共同検証済みとなるため 安 してご利 頂けます OpenStack と LBaaS には難しいイメージがあるかも知れませんが インストールとセットアップは比較的簡単に行うことができます また Community 版と Official 版をうまく使うことで OpenStack の中の BIG-IP 既存の物理アプライアンス VE 版のすべてを連携させることができます 今回の内容は すべて RedHat の OpenStack 環境で共同検証済みですので 安心してご利用いただけます F5 Networks, Inc. 26
お問い合わせ窓 について 社の課題が解決できるのか知りたい 積りがほしい 相談に乗ってくれる販売パートナーを紹介してほしい など お気軽に下記の Web フォームよりお問合せ下さい! F5 First Contact( お問い合わせフォーム ) https://interact.f5.com/jp-contact.html 53 F5 Networks, Inc. 27
F5 Networks, Inc. 28