Hálózati szolgáltatások OpenStack környezetben Szabó Gábor mérnök-tanácsadó, Cisco Systems Magyarország Kft. gabszabo@cisco.com 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 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 Cisco Public 3
OpenStack: történelem és fejlődés 2010 március május június július Rackspace: Swift forráskód megnyitása NASA: Nebula forráskód megnyitása OpenStack megalakul Austin: Inaugural Design Summit 2010 október 2011 február április szeptember 2012 április szeptember 2013 április október április Austin Bexar Cactus Diablo Essex Folsom Grizzly Havana Icehouse 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 ) Cisco Public 5
OpenStack hálózati szolgáltatások 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 Korábbi neve: Quantum Neutron Cisco Public 7
Alapvető Neutron API fogalmak Nova 1 30.0.0.2 Ügyfél_B 1 30.0.0.3 2 30.0.0.4 1 30.0.0.5 virtuális szerver Neutron L2 virtuális hálózat Virtuális alhálózat (30.0.0.0/24) virtuális port L2 virtuális hálózat virtuális alhálózat 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 Cisco Public 8
OpenStack logikai hálózati topológiák 1 30.0.0.2 Ügyfél_B 1 30.0.0.3 2 30.0.0.4 1 30.0.0.5 1 30.0.0.2 Ügyfél_B 1 30.0.0.3 2 30.0.1.2 1 30.0.1.3 30.0.2.2 Ügyfél_D 1 30.0.2.3 Osztott hálózat 30.0.0.0/22 Osztott hálózat 30.0.0.0/24 Osztott hálózat 30.0.1.0/24 Osztott hálózat 30.0.2.0/24 30.0.0.1 30.0.1.1 30.0.0.1 30.0.2.1 Fizikai router Fizikai router Egyetlen osztott hálózat Több osztott hálózat Cisco Public 9
OpenStack logikai hálózati topológiák Magánhálózat 10.0.0.0/24 Magánhálózat 10.0.0.0/24 1 10.0.0.2 2 10.0.0.3 1 10.0.1.2 2 10.0.1.3 1 30.0.0.2 10.0.0.2 2 30.0.0.3 10.0.0.3 Ügyfél_B 1 30.0.0.4 1 30.0.0.5 10.0.0.2 2 10.0.0.3 Magánhálózat 10.0.0.0/24 10.0.0.1 10.0.1.1 Magánhálózat 10.0.1.0/24 Osztott hálózat 30.0.0.0/22 30.0.0.1 Szolgáltatói router (virtuális) Külső hálózat 30.0.0.0/22 30.0.0.2 30.0.0.1 Fizikai router Kevert osztott- és magánhálózat Fizikai router Szolgáltatói és ügyfél hálózatok Cisco Public 10
OpenStack logikai hálózati topológiák 1 10.0.0.2 2 10.0.0.3 1 10.0.0.2 2 10.0.0.3 3 10.0.1.2 4 10.0.1.3 Magánhálózat 10.0.0.0/24 Magánhálózat 10.0.0.0/24 Magánhálózat 10.0.1.0/24 10.0.0.1 router (virtuális) 30.0.0.2 10.0.0.1 10.0.1.1 router (virtuális) 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 Cisco Public 11
Neutron szolgáltatások és szerver szerepkörök Felügyeleti hálózat: OpenStack komponensek üzemeltetésére, tárolóeszközök elérésére Adat-hálózat: különböző szervereken működő -ek egymás közti forgalma (VLAN vagy GRE/VxLAN tunnel) -ek külső hálózatok felé menő forgalma (IP gateway) Azonos szerveren működő -ek egymás közötti forgalma helyben megfordul Network node L3 gateway / router szerepet lát el a kimenő és VLAN ok közötti forgalom számára dhcp-agent dhcp-agent dhcp-agent l3-agent l3-agent L2B/OVS Network Node Network Node Network Node Adat-hálózat Felügyeleti hálózat L2B/OVS nova-api nova-scheduler neutron-server keystone mysql, rabbit... Cloud Controller Node Külső hálózat API hálózat Külső hálózat: ezek keresztül kapcsolódnak a -ek a külső hálózatokhot / Internethez Nagy teljesítményhez több Network Node szükséges 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 Cisco Public 13
Neutron Plugin koncepció Grizzly: monolitikus plugin Havana: ML2 moduláris plugin Neutron Server Plugin API Vendor/User Plugin Neutron Server ML2 Plugin Type Manager API Extension Mechanism Manager Optional sub-plugin (Open vswitch) GRE TypeDriver VLAN TypeDriver VxLAN TypeDriver Open vswitch Linuxbridge Hyper-V Cisco Nexus Other Vendor Cisco Public 14
Ügyfél hálózatok VLAN implementáció Network Node br- br- br Adat hálózat 802.1Q (fizikai) br- Qrouter br-ex eth1 Szegmens ID: belső vagy külső (external) VLAN Adat (Data) hálózat: 802.1Q VLAN tartomány br-: VLAN transzláció Külső hálózat Cisco Public 15
Ügyfél hálózatok GRE, VxLAN implementáció Network Node br-tun br-tun br-tun Adat hálózat (fizikai) br-tun Qrouter br-ex eth1 Külső hálózat 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
hálózati kommunikáció egy csomag élete compute-node-01 network-node IP Tables/Floating IP NAT Qrouter DHCP DHCP tap patch-tun patch-tun int-br-ex br-tun patch-int br-tun patch-int br-ex phy-br-ex eth1 GRE tunnel Felügyeleti hálózat: 10.121.13.x Nyilvános hálózat: 192.168.238.x/24 Cisco Public 17
Cisco fejlesztések OpenStack hálózati képességek kiterjesztése 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) dhcp-agent dhcp-agent dhcp-agent l3-agent l3-agent L2B/OVS Network Node Network Node Network Node Adat hálózat L2B/OVS nova-api nova-scheduler neutron-server keystone mysql, rabbit... Nexus PIugin Cloud Controller Node Jelenleg támogatott ügyfél-hálózat implementáció: VLAN Külső hálózat API hálózat Internet Cisco Public 19
Neutron - Cisco Nexus Plugin előnyök Automatikus VLAN konfigurálás VLAN-ok konfigurálása a Nexus kapcsolókon Layer 3 Gateway 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 Cisco Public 20
Tervek: OpenStack és Nexus 1000V Elosztott virtuális kapcsoló Open vswitch helyett Felügyeleti hálózat Hálózati funkciókat egy ponton elég egy ponton konfigurálni vpath Service Insertion/Chaining dhcp-agent l3-agent nova-api nova-scheduler Neutron-server keystone VXLAN Overlay Networking CSR, VPN, Firewall, stb. Compute VSM/N1000V Node Network Node Adat hálózat Compute Compute N1000V Node Node mysql, rabbit... Cloud Controller Node Külső hálózat API hálózat Internet Cisco Public 21
Tervek - L3 routing CSR 1000V virtuális routerrel CSR 1000V router virtuális gépként fut Network vagy szerver(ek)en L3 gateway és inter-vlan routing szolgáltatások CSR 1000V teljes Cisco IOS szolgáltatáskészletet kínál: VPN, BGP, OSFP, MPLS, stb. Mind ügyfél, mind OpenStack admin telepítheti / üzemeltetheti dhcp-agent CSR 1000V VSM/N1000V Network Node Felügyeleti hálózat Compute Compute N1000V Node Node Adat hálózat nova-api nova-scheduler Neutron-server keystone mysql, rabbit... Cloud Controller Node Külső hálózat API hálózat Internet Cisco Public 22
Tervek VxLAN végződtetés Cisco Nexus kapcsolókon Network Node br-tun br-tun DHCP br-tun br-tun Adat hálózat (fizikai) Külső hálózat 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!