22
Cisco ACIとOpenStack Group-based Policy (GBP) & OpFlex Takao Setaka @twtko

Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

Embed Size (px)

Citation preview

Page 1: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

Cisco ACIとOpenStack Group-based Policy (GBP) & OpFlex

Takao Setaka @twtko

Page 2: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

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/

今日は基本的にこの立ち位置です

Page 3: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

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

Page 4: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

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)

Page 5: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

インフラリソースをビジネス要件に結びつけるために

Page 6: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

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設定

ネットワークレベルでのデザインと実装

オーバーレイを使ったからといって ネットワークの複雑性は解決しない ソフトウェアで処理するから すぐに構成できる、というわけではない

Page 7: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

Policy! We

Page 8: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

Policy= こうあってほしい

Page 9: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

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

Page 10: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

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

Page 11: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

GBP Open

Page 12: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

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

Page 13: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

RHEL OSP での Group-Based Policy

グループ間の通信ルールをポリシーで制御する

Page 14: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

RHEL OSP での Group-Based Policy

どういう通信(プロトコル・ポート番号・通信方向)ポリシーを、どう処理するのか

グループに適用(提供/利用) ※前ページ参照

Page 15: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

OpFlex Open

Page 16: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

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を「ポリシーによるネットワーク管理」という仕組みに対応させる

Page 17: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

OpFlexを少し詳細に:構成要素

ポリシーとエンドポイントに基づく管理機能を実装 (基本的にはACIそのもの)

ポリシーレポジトリ [PR] • システム全体のポリシーを管理する

• ACIにおいてはAPIC(および部分的にはLeafノード)がその役割を担う

ポリシーエレメント [PE] • 論理的に抽象化されたポリシーの反映を実行する要素

• エンドポイントに対する処理をレポジトリに確認する役割を担う

• 抽象化されたポリシーを具体的な構成に変換する役割も担う

• 実装形態はそれぞれのデバイスにおいて異なっていて構わない

エンドポイントレポジトリ [EPR] • 現時点のエンドポイント情報(IDや配置状況など)を管理する

• ACIにおいては、ネットワーク内に分散データベースとして保持される (これによりパフォーマンスと可用性の両面を提供する)

オブザーバー • 統計情報、障害情報、イベント情報などを各PEから収集する

• ACIにおいては、APICがその役割を担う

ポリシー レポジトリ

[PR]

ポリシーエレメント[PE] (エージェント)

エンドポイント レポジトリ [EPR]

オブザーバー (監視)

ポリシ

ーの

解決

ポリシ

ーの

アップ

デー

エン

ドポ

イン

トの

通知

エン

ドポ

イン

ポリシ

ーの

アップ

デー

ステ

ータ

ス通

ポリシーエレメント[PE]

ポリシ

ーの

通知

Page 18: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

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

ポリシーの解決 ポリシーのアップデート エンドポイントの通知 エンドポイント ポリシーのアップデート

ステ

ータ

ス通

オブザーバー

統計情報 イベント情報 障害情報

ステータス通知

Page 19: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

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

Page 20: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

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対応

Page 21: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex

OpFlexとオープンソース

OpFlex と OpenDaylight

ODL Group Policy plug-in を コミュニティベースで開発中 (Cisco, IBM, Midokura, Plexxiなど)

コミュニティ版ではOpFlexを含む様々な Southbound APIをサポート予定 (OpFlexを一切使用しないOpenFlow 実装なども可能)

コントローラ実装をOpenDaylight側に、 スイッチ実装をOpen vSwitch側に搭載

Page 22: Cisco ACI and OpenStack - Group-based Policy (GBP) & OpFlex