openstackに注⽬! big-ipのlbaasプロビジョニング解説 · neutron lbaas vpnaas fwaas...
TRANSCRIPT
F5 Networks, Inc. 1
OpenStackに注⽬!BIG-IPのLBaaSプロビジョニング解説
<補足説明 / メモ>
F5 Networks, Inc. 2
3
• SDNコントローラ連携の取組み
• LBaaSプラグインソフトウェア概要
• BIG-IQ OpenStackプラグインのインストール⼿順
• OpenStack、BIG-IQ、BIG-IP 設定イメージ
Agenda
<補足説明 / メモ>今回は、OpenStackのLBaaSに関して、実際にBIG-IPと連携するときにどのような手順が必要になるのか。インストールとオペレーションの方法についてご紹介します。
F5 Networks, Inc. 3
SDNコントローラ連携の取組み
<補足説明 / メモ>
F5 Networks, Inc. 4
7
BIG-IQOPEN REST APIs
LAYER 2-3 レイヤー 4-7
SDN Controller(オーケストレータ等)
BIG-IQSecurity™
BIG-IQCloud™
BIG-IQDevice™
コントロール・プレーン(制御メッセージ)
アプリケーション・プレーン(ユーザインタフェース)
データ・プレーン(ハードウェア/ソフトウェア)
Softw
are-
Defin
ed D
ata
Cent
er
Service Chaining
NVGRE VXLAN Etc…Virtual Networks
SDNコントローラによる制御ネットワークサービス
(SDN・REST対応)
ACI
<補足説明 / メモ>SDNを実現するためにさまざまな技術とオーケストレーションツールが世に出てきています。SDNのコントローラーは、具体的にはOpenFlowというプロトコル等を使ってネットワークを制御していますが、現状ではL2、L3といった低いレイヤーの部分にフォーカスしており、それより上位のL4、L7の設定に関してはまだまだ機能が不足しているというのが現状です。
そこでF5がこのほどリリースしたのが「BIG-IQ」という管理ツールが有効なソリューションです。BIG-IQを既存のSDNのオーケストレーションツールとうまく連携することで、L4、L7部分をより柔軟にコントロールすることが可能になります。
F5 Networks, Inc. 5
9
管理製品との連携強化F5 BIG-IQ: 次世代マネジメント・ソリューション
F5テクノロジの集中管理を⽬的とした新しいマネジメント製品 多様なテクノロジを管理する事を⽬的 更に、F5製品と様々なネットワーク管理製品、クラウドオーケストレーションツールとのインターフェースとなる位置づけ
BIG-IQ Cloud
BIG-IQ プラットフォームインテリジェントな管理フレームワーク
BIG-IPデバイス
BIG-IQ Security Additional Modules
<補足説明 / メモ>BIG-IQは2つの役割を持っています。1つは、BIG-IPの集中管理ツールとして複数のF5製品を統合管理すること。もうひとつがOpenStackだけでなく、VMwareのNSX、Amazonといった、さまざまなクラウド環境とのインターフェイスの役割を担うことです。
F5 Networks, Inc. 6
11
OpenStackとの連携
REST API
REST API
PLUG-IN FOR
BIGIQ
HTTPサービスA
HTTPサービスB
HTTPSサービスC
OpenStack⽤サービス
ネットワークサービス(SDN)
BIG-IQ
<補足説明 / メモ>図は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. 7
LBaaSプラグインソフトウェア概要
<補足説明 / メモ>
F5 Networks, Inc. 8
15
Deployment & ScalingHEAT
IdentityKEYSTONE
MeteringCEILOMETER
ComputeNOVA
Image ServiceGLANCE
Object StoreSWIFT
NetworkNEUTRON
LBaaS VPNaaS FWaaS
L2/L3 DHCP DNS
StorageCINDER
Man
agem
ent C
onso
le H
ORI
ZON
OpenStack と F5
<補足説明 / メモ>
OpenStackは、さまざまなソフトウェアコンポーネントから成り立っているオーケストレーションツールですが、今回F5が連携するコンポーネントは、OpenStackの中でネットワークを管理するNEUTRON。そのプラグインとしてLBaaSが実装されています。
F5 Networks, Inc. 9
17
• 2種類のLBaaS プラグインを提供• Official版
• BIG-IQ 4.4,4.5からダウンロード可能• /cloud-plugins/openstack/lbaas
• Community版• DevCentralからダウンロード• https://devcentral.f5.com/d/openstack-neutron-lbaas-driver-and-
agent?download=true
Officially Supported と Community-supported
<補足説明 / メモ>
F5が現在提供しているLBaaSのプラグインは2種類あります。ひとつがOfficial版で、BIG-IQに同梱されているプラグイン。もうひとつがCommunity版とで、F5のコミュニティサイトである「DevCentral」で公開されているプラグインになります。
F5 Networks, Inc. 10
19
設定ガイド• https://support.f5.com/kb/en-us/products/big-iq-cloud/manuals/product/bigiq-lbaas-
openstack-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版のプロビジョニング
Official版
<補足説明 / メモ>Official版の設定ガイドはF5が運営しているナレッジサイト「AskF5」で公開されています。また現在サポートしているバージョンは、OpenStackではGrizzlyもしくはHavanaです。BIG-IPのOS「TMOS」ではバージョン11.3以降がサポート対象となります。このプラグインを使うことで、基本的にはOpenStackの中で作った仮想インスタンス、OpenStackの中で動いているBIG-IPを使ってLBSaaSを構築することが可能になります。
F5 Networks, Inc. 11
21
設定ガイド• https://devcentral.f5.com/d/openstack-neutron-lbaas-driver-and-
agent-readme?download=true
Version Compatibility• LBaaSプラグイン: for Havana/Icehouse• BIG-IP : TMOS v11.5+• BIG-IQ不要
特徴• BIG-IP Hardware Appliance,及びVE版のプロビジョニング
Community版
<補足説明 / メモ>
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. 12
23
• OpenStack ML2 pluginを導⼊することで、3rd 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と連携するための、スタンドアロンサービス
F5 LBaaS Plugin 概要
NEUTRON SERVICE
ML2 PLUGINF5
PLUGINDRIVER
F5 PLUGINAGENT
<補足説明 / メモ>
これらプラグインには、2種類のコンポーネントが含まれています。ひとつがF5のプラグインドライバで、OpenStackの中で定義したロードバランサのオブジェクトモデルを、BIG-IPのオブジェクトに変換、通訳してくれるものです。もうひとつはF5プラグイン デバイスエージェントです。こちらは実際にOpenStackからBIG-IP、あるいはBIG-IQに対してREST通信を行うプロセスそのものになります。
F5 Networks, Inc. 13
25
簡易動作フロー
1. OpenStack 管理GUI(Horizon)より、ロードバランサーの設定を実施
2.OpenStack NeutronからREST通信を⾏い、BIG-IQ上にテナントやカタログを⾃動作成
3.BIG-IPに対して、iAppsテンプレートを利⽤した構成が作成される
REST通信
<補足説明 / メモ>
これらのプラグインを使うフローについてご紹介します。まず、管理者がOpenStackの「Horizon」というGUIを使って、ロードバランサのオブジェクトの設定を行います。各種パラメータを入力すると、その内容がBIG-IQに伝わります。BIG-IQはOpenStackから来た内容を紐解き、テナントやカタログといったBIG-IPの設定に必要なオブジェクトを自動で生成します。
そしてすべてのオブジェクトが生成されたら、「iApps」というテンプレートを使って設定を流し込みます。管理者からはOpenStackの画面しか見えませんが、内部ではREST通信が行われており、双方向で情報がやり取りされています。
F5 Networks, Inc. 14
27
内部詳細ワークフロー
OPENSTACK GUIHORIZON
LBAAS DRIVER NEUTRON NEUTRON DB
LBAAS AGENTNEUTRON
BIG-IQNOVA
1. OpenStack GUI (Horizon)より設定
2. HorizonがLBaaS Callを実施し、F5 Driverに送信 3. F5 DriverがDBに変更通知
4. F5 DriverがAgentに対してRPC Callを実施
5. F5 AgentがBIG-IQに対してCallを実施
7. F5 AgentはBIG-IQよりレスポンスを得る
8. F5 AgentはF5 Driverに対してRPC callをおこない、DriverがDBに対して変更を通知
BIG-IPNOVA
6. BIG-IQはiApp経由でBIG-IPに設定を実施
①
② ③
④
⑤⑥
⑦
⑧
⑧
<補足説明 / メモ>内部の詳細フローです。Horizon GUIから各種パラメータを入力すると、F5のドライバもしくはエージェントに内容が伝わり、BIG-IQからBIG-IPに対して通信が行われます。大まかに言って上段の部分をRPCで制御しており、下段はRESTで通信の制御を行っています。
F5 Networks, Inc. 15
BIG-IQ OpenStackプラグインのインストール⼿順
<補足説明 / メモ>
F5 Networks, Inc. 16
31
• Openstack環境確認• Havana リリースであること• ML2(Modular Layer 2)がNeutronのCoreプラグインとなっていること
• /etc/neutorn/neutron.confcore_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
BIG-IQ Openstack Plugin インストールに当たって
OpenStack
BIG-IP
<補足説明 / メモ>
ここで解説するインストール手順は、BIG-IQのプラグインを使ったものになります。この場合、いくつかの前提条件があります。まずOpenStackの環境は、GrizzlyもしくはHavanaのバージョンであること。そして、OpenStackの中に「Coreプラグイン」という、プラグインを設定する項目がありますが、
こちらをML2(モジュラーレイヤー2)のCoreプラグインに指定する必要があります。
IcehouseやJunoといったバージョンではデフォルトの設定がML2になっているのですが、GrizzlyやHavanaの場合はデフォルトではないので、手動で変更してください。そしてBIG-IPですが、はじめにOpenStackの中の仮想インスタンスとして立ち上げる必要があります。また、iAppをはじめにインストールしてください。
F5 Networks, Inc. 17
33
• BIG-IQ v4.4本体から、pluginパッケージを取得し、OpenStack環境にコピー• /cloud-plugins/openstack/lbaas• Debian(.deb) or RedHat(.rpm)形式のパッケージを⽤意
• コントローラとネットワークホストに対して、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
BIG-IQ Openstack Plugin インストール⼿順BIG-IQ
OpenStack
<補足説明 / メモ>
実際のインストール手順です。まずBIG-IQに含まれるOpenStackの各種パッケージ、現在Debian形式とRedHat形式の両方をご用意していますが、こちらをOpenStackのコンピュートノードもしくはネットワークコントローラノードにコピーする必要があります。あとはRPM形式でインストールするだけですので、比較的作業は簡単です。
F5 Networks, Inc. 18
35
• Neutron構成ファイル(/etc/neutron/neutron.conf)の編集
BIG-IQ Openstack Plugin インストール⼿順
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
2. service_providers
service_plugins =neutron.services.loadbalancer.plugin.LoadBalancerPlugin,neutron.services.l3_router.l3_router_plugin.L3RouterPlugin,neutron.services.firewall.fwaas_plugin.FirewallPlugin
1. service_plugin
OpenStack
<補足説明 / メモ>
インストールが終了しましたら、設定をいくつか編集する必要があります。まずはNeutron全体を定義している「neutron.conf」というファイルで、この中の2カ所を修正します。1つ目はservice pluginsというところでロードバランサの定義を行います。2つ目が重要なのですが、service providersというところで、デフォルトではオープンソースのHAプロキシが定義されていますが、こちらをコメントアウトしてF5形式のフォーマットに変更する必要があります。
F5 Networks, Inc. 19
37
• プラグイン構成ファイルである、/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の記載
BIG-IQ Openstack Plugin インストール⼿順
主な変更箇所の設定例bigiq_hostname = 10.3.58.25bigiq_admin_username = adminbigiq_admin_password = adminopenstack_keystone_uri = http://10.3.58.10:5000/openstack_admin_username = adminopenstack_admin_password = passwordbigip_management_username = adminbigip_management_password = admin
OpenStack
<補足説明 / メモ>インストールが終了しましたら、設定をいくつか編集する必要があります。まずはNeutron全体を定義している「neutron.conf」というファイルで、この中の2カ所を修正します。1つ目はservice pluginsというところでロードバランサの定義を行います。2つ目が重要なのですが、service providersというところで、デフォルトではオープンソースのHAプロキシが定義されていますが、こちらをコメントアウトしてF5形式のフォーマットに変更する必要があります。
F5 Networks, Inc. 20
39
BIG-IQ Openstack 各種サービスの起動と確認1. F5 Agent serviceの開始
# /etc/rc.d/init.d/f5-device-lbaas-agent restartRestarting f5-device-lbaas-agent (via systemctl): [ OK ]
2. Neutron serverの再起動#service neutron-server restartRedirecting 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 || +--------------------------------------+--------------------+--------------------------------------------------------------+-------+----------------+
OpenStack
<補足説明 / メモ>ここまでの編集作業が完了したら、あとはサービスを再起動することでロードバランサのエージェントを起動することができます。具体的には、F5エージェントのサービスの開始、Neutronのサービスの再起動、ロードバランサのエージェントの起動確認です。設定ファイルが間違っていなければ、画面下の赤文字のようにF5専用のロードバランサエージェントがOpenStackの中で起動します。
F5 Networks, Inc. 21
OpenStack、BIG-IQ、BIG-IP 設定イメージ
<補足説明 / メモ>
F5 Networks, Inc. 22
43
1. OpenStack上で、ロードバランサーの設定を実施
1. OpenStack GUI管理画⾯より、ネットワーク管理内のロードバランサーを選択プールの追加を選択
2. プロバイダーの部分にF5(デフォルト)と表⽰されることを確認各種設定項⽬を選択
<補足説明 / メモ>
ここまでの編集作業が完了したら、あとはサービスを再起動することでロードバランサのエージェントを起動することができます。具体的には、F5エージェントのサービスの開始、Neutronのサービスの再起動、ロードバランサのエージェントの起動確認です。設定ファイルが間違っていなければ、画面下の赤文字のようにF5専用のロードバランサエージェントがOpenStackの中で起動します。
F5 Networks, Inc. 23
45
2. BIG-IQ上に、テナントやカタログが⾃動作成される
プールが作成された時点で、F5管理ソフトであるBIG-IQに対して、・テナント、カタログ作成・Applicationsへの登録・OpenStack内で稼働中のインスタンス・OpenStack⽤Connectors・OpenStack⽤のRoles・BIG-IQが制御するBIG-IPが⾃動作成される
<補足説明 / メモ>
入力が完了すると、自動的に管理ツールであるBIG-IQに対して、テナントやカタログ、アプリケーションなど、さまざまなオブジェクトが自動で登録されます。この中で最も重要なのは、画面左下にあるコネクタです。また、OpenStackの中で動いているデバイスも自動的に作成されます。
F5 Networks, Inc. 24
47
BIG-IQはBIG-IPに対して、iAppテンプレートを利⽤した、構成を⾏う(名称の後尾にOpenStack Project IDが⾃動付与される)
3. BIG-IP上に、iAppテンプレートを利⽤した構成が反映される
<補足説明 / メモ>
BIG-IQのiAppテンプレートを使って、BIG-IPに対し各種設定が流し込まれます。
F5 Networks, Inc. 25
49
4. BIG-IP上で設定情報の確認BIG-IPに対して、・Pool・Monitor・Virtual Server・HTTP Profile等の設定項⽬が作成される
<補足説明 / メモ>
BIG-IQのiAppテンプレートを使って、BIG-IPに対し各種設定が流し込まれます。
F5 Networks, Inc. 26
まとめ
• 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. 27
53
「⾃社の課題が解決できるのか知りたい」「⾒積りがほしい」「相談に乗ってくれる販売パートナーを紹介してほしい」など、お気軽に下記のWebフォームよりお問合せ下さい!
お問い合わせ窓⼝について
F5 First Contact(お問い合わせフォーム)https://interact.f5.com/JP-Contact.html
F5 First Contact(お問い合わせフォーム)https://interact.f5.com/JP-Contact.html
<補足説明 / メモ>
F5 Networks, Inc. 28
<補足説明 / メモ>