Hálózati szolgáltatások OpenStack környezetben Szabó Gábor mérnök-tanácsadó, Cisco Systems Magyarország Kft.
[email protected] Networkshop, 2014. április 23-25.
Napirend
OpenStack áttekintés
OpenStack hálózati szolgáltatások
Cisco fejlesztések – OpenStack hálózati képességek kiterjesztése
© 2013-2014 Cisco and/or its affiliates. All rights reserved.
Cisco Public
2
Mi is az OpenStack?
OpenStack egy “Infrastructure As A Service (IaaS)” felhő üzemeltetési projekt
Nyílt forráskódú felhő operációs rendszer számítási, tárolási, hálózati és virtualizációs technológiák üzemeltetésére
© 2013-2014 Cisco and/or its affiliates. All rights reserved.
Cisco Public
3
Austin: Inaugural Design Summit
Austin
Cactus Bexar
© 2013-2014 Cisco and/or its affiliates. All rights reserved.
április
szeptember
megalakul
2012
forráskód megnyitása
szeptember
forráskód megnyitása
április
OpenStack
február
NASA: Nebula
2011
Rackspace: Swift
Essex Diablo
Grizzly Folsom
április
július
október
június
április
május
2013
március
október
2010
2010
OpenStack: történelem és fejlődés
Icehouse Havana
Juno
Cisco Public
4
OpenStack szoftver modulok („Projektek”)
Automatizáció („Heat”)
Portál („Horizon”)
Számítási erőforrások (‚Nova”)
Blokkos tároló („Cinder”)
Objektum-orientált tároló („Swift”)
Hálózat („Neutron”)
Guest OS állományok („Glance”)
Azonosítás („Keystone”)
Monitorozás („Telemetry”) (korábbi neve: „Celiometer”)
© 2013-2014 Cisco and/or its affiliates. All rights reserved.
Cisco Public
5
OpenStack hálózati szolgáltatások
© 2013-2014 Cisco and/or its affiliates. All rights reserved.
Cisco Public
6
OpenStack hálózati projekt (Neutron)
Más OpenStack modulok által üzemeltetett eszközök számára biztosít hálózati kommunikációs szolgáltatásokat
Felhő-rendszerek hálózati szolgáltatásai számára biztosít fogalmi keretet és funkciókat
Miért van szükség külön projektre?
A Nova projekt hálózati szolgáltatásai alapszintűek Gazdag topológiai választékot kínáló API Szolgáltatás-készlet bővíthető plugin modulokkal Neutron
Korábbi neve: Quantum
© 2013-2014 Cisco and/or its affiliates. All rights reserved.
Cisco Public
7
Alapvető Neutron API fogalmak
Nova Neutron
Ügyfél_A VM1 30.0.0.2
Ügyfél_B VM1 30.0.0.3
Ügyfél_A VM2 30.0.0.4
Ügyfél_C VM1 30.0.0.5
L2 virtuális hálózat Virtuális alhálózat (30.0.0.0/24)
Hálózat (network): izolált L2 szegmens, Ethernet kereteket továbbít
Alhálózat (subnet): IPv4 vagy IPv6 címtartomány
Port: virtuális hálózat kapcsolódási pontja eszközök csatlakozásához
© 2013-2014 Cisco and/or its affiliates. All rights reserved.
virtuális szerver virtuális port L2 virtuális hálózat virtuális alhálózat
Cisco Public
8
OpenStack logikai hálózati topológiák
Ügyfél_A VM1 30.0.0.2
Ügyfél_B VM1 30.0.0.3
Ügyfél_A VM2 30.0.0.4
Ügyfél_C VM1 30.0.0.5
Osztott hálózat 30.0.0.0/22
Ügyfél_A VM1 30.0.0.2
Ügyfél_B VM1 30.0.0.3
Osztott hálózat 30.0.0.0/24
Ügyfél_C VM1 30.0.1.3 30.0.2.2
Ügyfél_A VM2 30.0.1.2
Osztott hálózat 30.0.1.0/24
30.0.0.1
Ügyfél_D VM1 30.0.2.3
Osztott hálózat 30.0.2.0/24
30.0.1.1 30.0.0.1 30.0.2.1
Fizikai router
Egyetlen osztott hálózat © 2013-2014 Cisco and/or its affiliates. All rights reserved.
Fizikai router
Több osztott hálózat Cisco Public
9
OpenStack logikai hálózati topológiák Ügyfél_A Magánhálózat 10.0.0.0/24
Ügyfél_A VM1 30.0.0.2 10.0.0.2
Ügyfél_A VM2 30.0.0.3 10.0.0.3
Ügyfél_C Magánhálózat 10.0.0.0/24
Ügyfél_C VM1 30.0.0.5 10.0.0.2
Ügyfél_B VM1 30.0.0.4
Ügyfél_C VM2 10.0.0.3
Ügyfél_A VM1 10.0.0.2
Ügyfél_A VM2 10.0.0.3
Ügyfél_C VM1 10.0.1.2
Ügyfél_C Magánhálózat 10.0.1.0/24
Ügyfél_A Magánhálózat 10.0.0.0/24 10.0.0.1
Osztott hálózat 30.0.0.0/22 30.0.0.1
Ügyfél_C VM2 10.0.1.3
10.0.1.1
Szolgáltatói router (virtuális) 30.0.0.2
Külső hálózat 30.0.0.0/22 30.0.0.1
Fizikai router
Fizikai router
Kevert osztott- és magánhálózat © 2013-2014 Cisco and/or its affiliates. All rights reserved.
Szolgáltatói és ügyfél hálózatok Cisco Public
10
OpenStack logikai hálózati topológiák Ügyfél_A VM1 10.0.0.2
Ügyfél_C VM1 10.0.0.2
Ügyfél_A VM2 10.0.0.3
Ügyfél_C VM2 10.0.0.3
Ügyfél_A Magánhálózat 10.0.0.0/24
Ügyfél_C Magánhálózat 10.0.0.0/24
10.0.0.1
10.0.0.1
Ügyfél_A router (virtuális)
Ügyfél_C VM3 10.0.1.2
Ügyfél_C VM4 10.0.1.3
Ügyfél_C Magánhálózat 10.0.1.0/24 10.0.1.1
Ügyfél_C router (virtuális)
30.0.0.2
30.0.0.3
Külső hálózat 30.0.0.0/22 30.0.0.1
Fizikai router
Ügyfél routerek és magánhálózatok © 2013-2014 Cisco and/or its affiliates. All rights reserved.
Cisco Public
11
Neutron szolgáltatások és szerver szerepkörök Felügyeleti hálózat
Felügyeleti hálózat: OpenStack komponensek üzemeltetésére, tárolóeszközök elérésére Adat-hálózat:
dhcp-agent
•különböző szervereken működő VM-ek egymás közti forgalma (VLAN vagy GRE/VxLAN tunnel)
*-plugin-agent *-plugin-agent
*-plugin-agent
l3-agent l3-agent l3-agent
•VM-ek külső hálózatok felé menő forgalma (IP gateway) Azonos szerveren működő VM-ek egymás közötti forgalma helyben megfordul
nova-compute nova-compute nova-compute nova-compute *-plugin-agent *-plugin-agent *-plugin-agent *-plugin-agent
dhcp-agent dhcp-agent
L2B/OVS
Network Node Network Node
Compute Node Compute Node Compute Node
Network Node Adat-hálózat
mysql, rabbit...
Cloud Controller Node API hálózat
Külső hálózat: ezek keresztül kapcsolódnak a VM-ek a külső hálózatokhot / Internethez
© 2013-2014 Cisco and/or its affiliates. All rights reserved.
neutron-server
Compute Node
Külső hálózat
Nagy teljesítményhez több Network Node szükséges
nova-scheduler
keystone
L2B/OVS
Network node L3 gateway / router szerepet lát el a kimenő és VLAN –ok közötti forgalom számára
nova-api
Internet
API hálózat: ezen keresztül érik el a felhasználók az OpenStack portált (Horizon) és a Cloud API-t (REST) Cisco Public
12
OpenStack logikai hálózatok és megvalósításuk
Openstack hálózat: L2 szegmens megvalósítása különböző technológiákkal
Local: egyetlen szerveren belül („all-in-one”)
Flat: Vlan azonosítónélküli szabványos Ethernet
VLAN: 802.1q azonosítóval rendelkező szabványos Ethernet
GRE: Ethernet GRE tunnel felett
VXLAN: Virtual Extensible LAN (Ethernet over UDP) tunnel
Szolgáltatói hálózat (“provider network”):
Openstack adminisztrátor hozza létre
Fizikai hálózatoknak felel meg
Megvalósítás: Flat, VLAN
Ügyfél hálózat (“tenant network”):
Ügyfelek képesek létrehozni, izolált L2 szegmensek
Megvalósítás: VLAN, GRE, VXLAN
© 2013-2014 Cisco and/or its affiliates. All rights reserved.
Cisco Public
13
Neutron – Plugin koncepció Grizzly: monolitikus plugin
Havana: ML2 moduláris plugin
Neutron Server
Neutron Server ML2 Plugin Type Manager
Plugin API Vendor/User Plugin
Other Vendor
Cisco Nexus
Hyper-V
Linuxbridge
Open vSwitch
© 2013-2014 Cisco and/or its affiliates. All rights reserved.
VxLAN TypeDriver VLAN TypeDriver GRE TypeDriver
Optional sub-plugin (Open vSwitch)
API Extension Mechanism Manager
Cisco Public
14
Ügyfél hálózatok – VLAN implementáció
© 2013-2014 Cisco and/or its affiliates. All rights reserved.
eth0
breth0
VM
br-int
VM
Szegmens ID: belső vagy külső (external) VLAN
Adat (Data) hálózat: 802.1Q VLAN tartomány
br-eth0: VLAN transzláció
Külső hálózat
eth1
br-ex
br-int
eth0
eth0 eth0
VM
Qrouter
802.1Q (fizikai)
br-eth0 br-eth0
VM
Adat hálózat
br-int
VM
br-int
VM
Network Node
br-eth0
Compute Node
Cisco Public
15
Ügyfél hálózatok – GRE, VxLAN implementáció Compute Node
Network Node
© 2013-2014 Cisco and/or its affiliates. All rights reserved.
eth0
br-tun
VM
br-int
VM
Külső hálózat
eth1
Qrouter
br-ex
br-int
br-tun
eth0 eth0
VM
eth0
br-tun br-tun
VM
Adat hálózat (fizikai)
br-int
VM
br-int
VM
Szövevényes (full-mesh) GRE/VxLAN tunnel-hálózat
Szegmens ID: GRE/VxLAN Tunnel ID
Adat hálózat: Ethernet (VLAN fejléccel vagy anélkül)
Felügyeleti hálózat is használható Cisco Public
16
VM hálózati kommunikáció – egy csomag élete network-node
compute-node-01
IP Tables/Floating IP
NAT
VM
VM
VM
Qrouter
DHCP DHCP
br-int
tap
br-int
patch-tun
patch-tun
int-br-ex
patch-int
patch-int
phy-br-ex
br-tun
br-tun
eth0
eth0
GRE tunnel
br-ex
eth1
Nyilvános hálózat: 192.168.238.x/24
Felügyeleti hálózat: 10.121.13.x © 2013-2014 Cisco and/or its affiliates. All rights reserved.
Cisco Public
17
Cisco fejlesztések – OpenStack hálózati képességek kiterjesztése
© 2013-2014 Cisco and/or its affiliates. All rights reserved.
Cisco Public
18
Cisco Nexus plugin: L3 Gateway Nexus kapcsolón Felügyeleti hálózat
•
•
•
•
Cisco Nexus kapcsolók SVI interfészei biztosítják a L3 gateway és inter-VLAN routing szolgáltatásokat Hálózati teljesítmény maximalizálása (Network Node Linux hálózati réteg véges teljesítménye) Network Node megmaradó funkciói: L3 kiegészítő szolgáltatások (pl. DHCP) Jelenleg támogatott ügyfél-hálózat implementáció: VLAN
nova-compute nova-compute nova-compute nova-compute *-plugin-agent *-plugin-agent *-plugin-agent *-plugin-agent
dhcp-agent dhcp-agent dhcp-agent *-plugin-agent *-plugin-agent *-plugin-agent l3-agent l3-agent l3-agent
nova-api nova-scheduler neutron-server keystone
L2B/OVS
L2B/OVS Network Node Network Node Network Node
Compute Node Compute Node Compute Node Compute Node
Adat hálózat Külső hálózat
mysql, rabbit... Nexus PIugin Cloud Controller Node
API hálózat
Internet
© 2013-2014 Cisco and/or its affiliates. All rights reserved.
Cisco Public
19
Neutron - Cisco Nexus Plugin előnyök
Automatikus VLAN konfigurálás
Layer 3 Gateway
VLAN-ok konfigurálása a Nexus kapcsolókon Nexus kapcsoló L3 interfész (SVI) hozzárendelése ügyfél VLAN-hoz Nexus kapcsoló végzi a routing-ot -> célhardver szintű teljesítőképesség Nincs szükség a Network Node L3 Agent konfigurálására
Magas rendelkezésre-állás (HA) a szerverek csatlakoztatására
Multi-Chassis Etherchannel (vPC) alkalmazása – redundáns szerver bekötés
© 2013-2014 Cisco and/or its affiliates. All rights reserved.
Cisco Public
20
Tervek: OpenStack és Nexus 1000V
Elosztott virtuális kapcsoló Open vSwitch helyett Hálózati funkciókat egy ponton elég egy ponton konfigurálni vPath Service Insertion/Chaining
VXLAN Overlay Networking
CSR, VPN, Firewall, stb.
Felügyeleti hálózat
nova-compute nova-compute nova-compute nova-compute *-plugin-agent *-plugin-agent *-plugin-agent
nova-compute nova-compute
dhcp-agent
*-plugin-agent *-plugin-agent *-plugin-agent
*-plugin-agent
nova-api nova-scheduler Neutron-server keystone
l3-agent
Compute Node N1000V Compute Node Compute Node Compute Node
VSM/N1000V Compute Node Compute Node Network Node
Adat hálózat Külső hálózat
mysql, rabbit...
Cloud Controller Node API hálózat
Internet
© 2013-2014 Cisco and/or its affiliates. All rights reserved.
Cisco Public
21
Tervek - L3 routing CSR 1000V virtuális routerrel
CSR 1000V router virtuális gépként fut Network vagy Compute Node szerver(ek)en – L3 gateway és inter-VLAN routing szolgáltatások
Felügyeleti hálózat
nova-compute nova-compute nova-compute nova-compute *-plugin-agent *-plugin-agent *-plugin-agent
dhcp-agent
CSR 1000V teljes Cisco IOS szolgáltatáskészletet kínál: VPN, BGP, OSFP, MPLS, stb.
*-plugin-agent
Mind ügyfél, mind OpenStack admin telepítheti / üzemeltetheti
Network Node
*-plugin-agent
nova-api nova-scheduler Neutron-server keystone
CSR 1000V
Compute Node N1000V Compute Node Compute Node Compute Node
VSM/N1000V
Adat hálózat Külső hálózat
mysql, rabbit...
Cloud Controller Node API hálózat
Internet
© 2013-2014 Cisco and/or its affiliates. All rights reserved.
Cisco Public
22
Tervek – VxLAN végződtetés Cisco Nexus kapcsolókon Compute Node
Network Node
© 2013-2014 Cisco and/or its affiliates. All rights reserved.
br-int Külső hálózat
eth0
br-tun
VM
br-int
VM
br-tun
eth0 eth0
VM
eth0
br-tun br-tun
VM
DHCP
Adat hálózat (fizikai)
br-int
VM
br-int
VM
L3 gateway funkció Nexus 7000, Nexus 5600 kapcsolón
VxLAN: nagy skálázhatóság 16M ügyfél hálózat Nexus 7000 végződtetés: 16K
Cisco Public
23
Köszönöm a figyelmet!