Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

デバイスパッケージを開発してみた @沖縄オープンラボ

642 views

Published on

沖縄オープンラボのWorking Group活動の1つとして、Cisco ACI と OpenStack の LBであるHAProxyを連携動作させるためのDevice Packageの開発に挑戦した

Published in: Technology
  • Be the first to comment

  • Be the first to like this

デバイスパッケージを開発してみた @沖縄オープンラボ

  1. 1. Device Packageを開発してみた @沖縄オープンラボ 2017/05/24 ACI/Tetration友の会 shkimura@cisco.com
  2. 2. アジェンダ • “沖縄オープンラボ” 概要、活動、取り組み • Device Packageおさらい • 開発コード 2
  3. 3. 沖縄オープンラボとは? • 2013年5月 ”一般社団法人沖縄オープンラボラトリ” 設立 • 世界的なIT基盤の変革要素であるSDN技術とCloud技術 の融合を推進する国際研究拠点 • プロジェクトと県内外の学生やエンジニアへ研究成果 や最新の技術を伝える人材育成を 行う • 沖縄県SmartHub構想とともに設立 3 沖縄オープンラボ うるま市津梁パーク https://www.okinawaopenlabs.org/
  4. 4. 沖縄オープンラボ活動フォーカス 4
  5. 5. Cisco ACI オープンソース 連係開発プロジェクト • 2016年度正式Working Group • OOL、NTT Communications、Ciscoの三社にて活動 • NTT Communications ACI機材を沖縄オープンラボDCに移設 • 2016年9月から活動を実稼働開始 • 月例で開発進捗を確認 5 項目 内容 備考 目的 Cisco ACIにてOpenStack LBaaS(HAProxy)への対応を行う ゴール CiscoACIと導入連係を目的としたオープンソース版L4-L7サービス(HAProxy 用)のDevicePackageのサンプルを開発、オープンラボのGitで公開を行う 期間 2016年9月〜2017年3月 体制 PO Cisco 木村 PM 沖縄オープンラボ 吉田(アドックインターナショナル) メンバ 吉田, NTT Communications 棚橋、木村、Cisco 木村、大西、福屋
  6. 6. Device Package – 既存のL4-L7サービス • 物理ネットワークを意識して構成 • 複数のネットワークサービスがアプリケーションのデリバリに関係 • マルチベンダーで の Service Chaining 6 コアルータ スイッチ プロキシサーバ ファイアウォールロードバランサ クライアント アプリケーション
  7. 7. APIC に Device Package (zip) を upload する Device Package – ACIL4-L7サービスの構成 • サービスアプライアンス/デバイス/ノード • Device Package • Device specification (XML) DeviceModel.xml • Device script (py) DeviceScript.py • Service Graphを指定 7 Partner DeviceService Appliance/Device/Node Rest/CLI Device Specification <dev type= “f5”> <service type= “slb”> <param name= “vip”> <dev ident=“210.1.1.1” <validator=“ip” <hidden=“no”> <locked=“yes”> Device Package DeviceSpecDeviceScript
  8. 8. Device Package – APIC統合サービスチェーン 8 EPG APP 20.20.20.101 20.20.20.102 EPG WEB 10.10.10.1 Contract http icmp Chain “WebGraph” どの Function をどう繋げるか Connector Connector Service Graph : WebGraph Function Parameter Device Cluster, Pool
  9. 9. 活動テーマ検討にあたって • 具体的活動テーマの決定 • 基本的にベンダーニュートラルな活動テーマが望ましい • 2016年度のWG活動方針の小変更と、ACIのOpen Source Native性 (OpenStack、Opflex)によりWG化を実現 • L4-L7 Device Package連係の現実 • サポート対象は有償製品 • Device Package提供はCisco - テクノロジーベンダーがサポートとともに 共同開発、確認を行うもの • Device Package連係ACI案件、導入事例はまだまだ少ない • Nginx版のDevice Packageソースコードが存在 https://github.com/FServais/NGINX-Device-Package ↓ • OpenStack LBaaS (HAproxy) 向け DevicePackageを開発 • OpenStackネットワークの制御とLBのデプロイをAPICで制御、自動化 • 動かして見えた制約、ユースケース例を理解する 9
  10. 10. Device Package Compatibility List • Cisco ASA, CheckPoint vSEC Controller, Palo Alto DP, Fortinet, Radware DefensePro, Alteon VA/VX, A10 Thunder, Avi, Citrix NetScaler, F5 BigIP http://www.cisco.com/c/en/us/solutions/collateral/data-center- virtualization/application-centric-infrastructure/solution-overview-c22- 734587.html 10
  11. 11. 開発サンプルの構成と動作イメージ 11 CiscoACI OpenStack1 Leaf1 Leaf2 Spine MGMTNW • ACI Fabricに接続されたOpenStack仮想ネットワーク内にLBを作成 • APICからOpenstackに実装されているRestAPIを用いてLBを作って 使えるようにするまでを自動化 ※ひとまず、アプリケーションネットワークプロファイル、サービスグ ラフによるACI仮想ネットワークサービスチェーンを必要としない実装 OpenStack Neutron LB OpenStack VM Real Server Node (LB Pool) OpenStack Neutron Server REST API 192.168.1.15 192.168.1.18
  12. 12. https://github.com/oolorg/ool-aci- openstacklbaas-devicepackage 12 稼働環境 OpenStack: Liberty LBaaS: v1 APIC: v1.2
  13. 13. https://github.com/oolorg/ool-aci- openstacklbaas-devicepackage 13 !!実開発のための参考コードとして利用のみ!!
  14. 14. OpenStack LBaaS • LBaaS: • OpenStack Neutronサービスプラグイン • HAProxy(オープンソースソフトウェアロードバランサー、HTTP/TCPリバースプロ キシ)デーモンをAgent経由で管理 • LBaaS v1: Juno〜Liberty • LBaaS v2: Kilo〜 • LBaaS OpenStack - Octavia: LBaaS v2 エージェントレス Liberty〜 14 LB Pool作成 neutron lb-pool-create --name test_pool2 --lb-method ROUND_ROBIN --protocol HTTP --subnet-id ada8a739-60c3-4205-8482-b24eb5c950ce LB PoolにRealサーバ追加 neutron lb-member-create --address 192.168.1.15 --protocol-port 80 test_pool2 neutron lb-member-create --address 192.168.1.18 --protocol-port 80 test_pool2 ヘルスモニタ作成 neutron lb-healthmonitor-create --delay 5 --type HTTP --max-retries 3 --timeout 2 ヘルスモニタをLB Poolにアソシエート neutron lb-healthmonitor-associate 7780f9dd-e5dd-43a9-af81-0d2d1bd9c386 test_pool2 SubnetにVIP作成 neutron lb-vip-create --name test_vip --protocol-port 80 --protocol HTTP --subnet-id ada8a739-60c3- 4205-8482-b24eb5c950ce
  15. 15. 開発Device Package 構成 15 … Readme … メインスクリプト:LB, Pool Member作成 DeviceScript.pyへモジュールインポート … OpenStack Neutron REST API call LBaaS環境構成のためのPost Method作成 … OpenStack Neutron REST API call デプロイのためのNeutron subnet_id取得 … Neutron REST API スクリプト用 keystone 認証Token取得 … Device Package必須スクリプト(ファイル名変更不可) スクリプトファイル、ファイル内デバイス、APIの定義 … Device Package必須XMLファイル(ファイル名変更不可) デバイス定義XML、openstackノードインターフェースを指定 … オープンソースHTTPクライアントライブラリ lbaas.py, neutron.py, openstack_base.py
  16. 16. その他:開発期間等 • NGINXサンプルコード解析期間: 約1週間 • コード開発期間: 約3週間 • その他: • プロジェクトゴール最終化のための調整期間 • 基本的ACI+OpenStack環境構築、コード開発に関わる必要ドキュメ ント収集および理解 • 別プロジェクトとの掛け持ち期間含む • トライアンドエラー 16
  17. 17. まとめ • 課題 • LBaaS v2、Octavia非対応 • LB削除機能が実装できていない • 確認できたこと • 公開されたサンプル、資料を元に、DevicePackageの基本開発は可能 • OpenStack LBaaSの機能実装が未成熟(Octivaに期待) • Device PackageによるOpenStackネットワークの自動構成の可能性 ※(再度)実運用での使用を推奨するものではありません! 17
  18. 18. Okinawa Open Days ACI PJ booth Nexus 93180 / ACI Exhibition Okinawa Open Days ACI Project Details Annual Meeting – PJ Result Reporting Annual Meeting – PJ Result Reporting ACI PJ Activities/Details Okinawa Open Days ACI PJ booth
  19. 19. 参照まとめ • OpenStack LBaaS Device Package : 沖縄オープンラボ https://github.com/oolorg/ool-aci-openstacklbaas-devicepackage • Nginx Device Package https://github.com/FServais/NGINX-Device-Package • L4-L7 Compatibility List Solution Overview http://www.cisco.com/c/en/us/solutions/collateral/data-center- virtualization/application-centric-infrastructure/solution-overview-c22-734587.html • Cisco APIC Layer 4 to Layer 7 Device Package Development Guide http://www.cisco.com/c/en/us/td/docs/switches/datacenter/aci/apic/sw/1-x/L4- L7_Device_Package_Development/guide/b_L4L7_Package.html • Service Insertion with Cisco Application Centric Infrastructure http://www.cisco.com/c/en/us/solutions/collateral/data-center- virtualization/application-centric-infrastructure/white-paper-c11-732493.html 19
  20. 20. 20 ご清聴ありがとうございました

×