Upload
takao-setaka
View
1.327
Download
4
Embed Size (px)
Citation preview
Cisco ACIとOpenStack Group-based Policy (GBP) & OpFlex
Takao Setaka @twtko
Ciscoの OpenStack Neutron 対応
役割 シスコ製品 タイプ ドライバ
L2 Nexus 物理スイッチ Neutron Nexus メカニズムドライバ
Nexus 1000v 仮想スイッチ Neutron N1kv ドライバ
SR-IOV 物理サーバ Neutron UCS VM-FEX メカニズムドライバ
L3/Firewall/VPN CSR 1000v 仮想ルータ Neutron L3 プラグイン/ドライバ Neutron F/W and VPN サービスドライバ
L2/L3/Service APIC SDNコントローラ Neutron APIC メカニズムドライバ Neutron L3 プラグイン/ドライバ
シスコ製品の OpenStack 対応 詳細については、以下URLを参照ください “Cisco Product integrations with OpenStack” https://developer.cisco.com/site/openstack/downloads/openstack-integration/
今日は基本的にこの立ち位置です
Network Node
Compute Node
Open vSwitch
Virtual Router
Compute Node Compute Node
Controller Node
Network Nodeの役割をすべてオフロードする
OpenStackネットワーク概念図 (DVRもありますが)
Open vSwitch
VM VM VM
Management Network
(API Network) External Network
Data Network
Network Nodeの役割をすべてオフロードする
ネットワーク経路としてのNetwork Nodeは不要 (ボトルネック・シングルポイント排除)
Controller Node
基本サービス
• Keystone • Glance • Nova Mgmt • Horizon
ネットワーク 基本サービス
• Networking • ML2 Plugin • OVS Driver • APIC Driver • DHCP
オプションサービス
• Cinder • Swift • Heat • Ceilometer
サポートサービス
• MySQL • RabbitMQ
Compute Node Compute Node Compute Node
Compute Node
基本サービス
• Nova Compute
• Hypervisor
ネットワーク 基本サービス
• Networking • ML2 Plugin • OVS Agent • APIC Host
Agent
データ通信用NIC 管理通信用NIC データ通信用NIC 管理通信用NIC
ACI (Nexus 9000 Policy-base Fabric)
インフラリソースをビジネス要件に結びつけるために
ACI ってなに? - そもそもの目的に立ち返ってみた
• アプリケーションが必要とするネットワークを実現するために
IaaS/P
aaS
DB
APP
WEB
アプリケーションレベルのデザイン
DB (ベアメタル)
APP (仮想マシン)
WEB (仮想マシン)
ユーザー アクセス用L3
ユーザー アクセス用L2
ユーザー アクセス用FW
ユーザー アクセス用LB
WEB-APP間FW
APP用LB
WEB-APP間Private L3
APP-DB間FW
APP-DB間Private L2
サブネット
プロトコル
ACL
QoS
LB設定
仮想 ルーティング
VLAN VXLAN
FW設定
ネットワークレベルでのデザインと実装
オーバーレイを使ったからといって ネットワークの複雑性は解決しない ソフトウェアで処理するから すぐに構成できる、というわけではない
Policy! We
Policy= こうあってほしい
OpenStackにPolicyを!!:GBPとOpFlex
OpenStack
Orchestration
Cisco ACI
Controller 2
Controller 3
Controller 1
Hypervisor
Multi-vendor Open Source APIC Plugins
APIC Nexus 9000
Open vSwitch OpFlex
Project 2 vm
vm
vm
vm
Hypervisor
vm4
Project 1 Project 2 Project 3
vm5
vm6
vm3
vm4 vm4 vm5 vm6
Hypervisor
vm4
Project 1 Project 2 Project 3
vm5
vm6
vm3
vm4 vm4 vm5 vm6
Project 1 vm
vm
vm
vm
Project 3 vm
vm
vm
vm
Plugin Plugin Plugin
OpFlex OpFlex
管理連携
=G
BP
ホスト連携
=O
pFle
x
OpenStack連携 – Group Based Policy (GBP) OpenStackにACIが実現した「ポリシーによるネットワーク管理」という考え方を実装
DNS AD
Outside Connectivity
Firewall Firewall
Policy
ポリシーを実現するネットワークの自動構成 APIC
Application Policy Infrastructure Controller
APIC
App DB Web
外部 ネットワーク接続
Firewall
QoS
Firewall
QoS
Firewall
Load Balance
Policy
Fabric +
Overlay
OpenStack
GBP Open
Group-Based Policy (GBP) のポリシーモデル 現在のGBPで定義されているモデル概要図
L3 Policy
Policy Rule Set
Policy Rule
Policy Rule
Service Chain Policy
Classifier Policy Action
Policy Classifier
Policy Action
L2 Policy
Group
Policy Target
Policy Target
Policy Target
Provided Rule Sets
Node Node
L2 Policy
Group
Policy Target
Policy Target
Policy Target
Consumed Rule Sets
Service Policy
Application Policy Network Service
100%オープンソース
(Apache License)
コミュニティベースでの
多くの開発者による開発
アプリケーション視点での
管理性を実装
http://group-based-policy.readthedocs.org/en/latest/usage.html
RHEL OSP での Group-Based Policy
グループ間の通信ルールをポリシーで制御する
RHEL OSP での Group-Based Policy
どういう通信(プロトコル・ポート番号・通信方向)ポリシーを、どう処理するのか
グループに適用(提供/利用) ※前ページ参照
OpFlex Open
OpenStack Controller
Open vSwitch + OpFlex
Hypervisor
vm4
Project 1 Project 2 Project 3
vm5 vm3
vm5 vm6
OVS + OpFlex Agent
APIC ML2
VLAN VXLAN
ポリシー制御を仮想スイッチにまで広げる
Hypervisor側仮想スイッチもACIと統合管理
Floating IP / NAT 対応予定 (2015Q4予定)
ACI GUIにおけるVMMドメインとしての連携管理
Service Redirection (L4-7連携)
VLAN VXLAN
VLAN VXLAN
OpFlex Agent
OpenStack連携 – OpFlex Open vSwitchを「ポリシーによるネットワーク管理」という仕組みに対応させる
OpFlexを少し詳細に:構成要素
ポリシーとエンドポイントに基づく管理機能を実装 (基本的にはACIそのもの)
ポリシーレポジトリ [PR] • システム全体のポリシーを管理する
• ACIにおいてはAPIC(および部分的にはLeafノード)がその役割を担う
ポリシーエレメント [PE] • 論理的に抽象化されたポリシーの反映を実行する要素
• エンドポイントに対する処理をレポジトリに確認する役割を担う
• 抽象化されたポリシーを具体的な構成に変換する役割も担う
• 実装形態はそれぞれのデバイスにおいて異なっていて構わない
エンドポイントレポジトリ [EPR] • 現時点のエンドポイント情報(IDや配置状況など)を管理する
• ACIにおいては、ネットワーク内に分散データベースとして保持される (これによりパフォーマンスと可用性の両面を提供する)
オブザーバー • 統計情報、障害情報、イベント情報などを各PEから収集する
• ACIにおいては、APICがその役割を担う
ポリシー レポジトリ
[PR]
ポリシーエレメント[PE] (エージェント)
エンドポイント レポジトリ [EPR]
オブザーバー (監視)
ポリシ
ーの
解決
ポリシ
ーの
アップ
デー
ト
エン
ドポ
イン
トの
通知
エン
ドポ
イン
ト
ポリシ
ーの
アップ
デー
ト
ステ
ータ
ス通
知
ポリシーエレメント[PE]
ポリシ
ーの
通知
OpFlexを少し詳細に:それぞれの役割
ネットワークをポリシーに基づいて制御するための仕様を標準化するプロトコル
ポリシーエレメント[PE]
論理モデル (サブセット)
root
group
group
コンクリート モデル
Port VLAN
Interface
Network Device
変換 構成
ポリシーレポジトリ[PR]
論理モデル
root
group
group
…
…
…
…
…
エンドポイントレポジトリ[EPR]
エンドポイントグループ Group A Group B
・EP1 ・EP2 ・EP3 ・EP5
・EP7 ・EP8 ・EP11 ・EP15
・EP4 ・EP6 ・EP9 ・EP10
・EP11 ・EP12 ・EP13 ・EP14
ポリシーの解決 ポリシーのアップデート エンドポイントの通知 エンドポイント ポリシーのアップデート
ステ
ータ
ス通
知
オブザーバー
統計情報 イベント情報 障害情報
…
ステータス通知
OpFlexのメリット:仮想スイッチへの適用
OpFlexとvLeaf (仮想スイッチにまでポリシー管理の対象を広げる)
仮想スイッチにおいてOpFlexエージェントが 動作することによって、ACIファブリック内に おけるポリシーに基づく管理の仕組みが 仮想スイッチに拡張される(=vLeaf)
各Hypervisor毎にOpFlexに対応
Hypervisor 対応方法
VMware ESXi AVS (Application Virtual Switch)
Microsoft Hyper-V Hyper-V Agent
Open vSwitch OpFlex Agent
OpFlexとオープンソース
「どうあるべきか」というポリシーを定義して利用するためのオープンソースフレームワーク
OpFlex エージェント
OpFlex (ポリシー管理)
MODB (Managed Objects Store)
OVS Render Plugin (ポリシー適用)
Open vSwitch
OVSDB OpenFlow
Flow Table
Datapath Software/Hardware
Datapath
OpFlexはOpenDaylightの一部としてオープンソース化
• OpFlexライブラリおよびMODBはすべてのデバイス間で 再利用することが可能
• レンダリング部分は特定デバイスごとに用意する必要がある
Open vSwitch 2.4リリースにおいて GloupOpFlex対応予定
Linux kernel (3.20)においてVXLAN-GBP対応
OpFlexとオープンソース
OpFlex と OpenDaylight
ODL Group Policy plug-in を コミュニティベースで開発中 (Cisco, IBM, Midokura, Plexxiなど)
コミュニティ版ではOpFlexを含む様々な Southbound APIをサポート予定 (OpFlexを一切使用しないOpenFlow 実装なども可能)
コントローラ実装をOpenDaylight側に、 スイッチ実装をOpen vSwitch側に搭載