Presentation is loading. Please wait.

Presentation is loading. Please wait.

OpenStack networking – Neutron (quantum)

Similar presentations


Presentation on theme: "OpenStack networking – Neutron (quantum)"— Presentation transcript:

1 OpenStack networking – Neutron (quantum)
Университет ИТМО Олег Лазо 1

2 Программа OpenStack и Neutron Архитектура Neutron Модели Neutron

3 Программа OpenStack и Neutron Архитектура Neutron Модели Neutron

4 OpenStack: основные компоненты, которые формируют комплексное решение IaaS
Compute (Nova) Создание и управление VM Dashboard (Horizon) Портал самообслуживания Identity (Keystone) Система аутентификации и авторизации Network(Neutron) обеспечивает «сеть как сервис» (NaaS) Image (Glance) Управление имиджами Block Storage (CInder) Object Storage (Swift) петабайты безопасного, надежного хранения 4 4 4

5 Neutron-NaaS *-as-a-Service Capability OpenStack Service Compute Nova
Swift (Objects) Storage Cinder (Block) Glance (Images) identity Keystone Network Neutron 5 5

6 Архитектура OpenStack

7 Типовая загрузка VM

8 Neutron и виртуализация сети
1.hypervisor 2.nova-scheduler 3.nova-computes 1.neutron-server 2.plugin 3.agents 8 8 8

9 Программа OpenStack и Neutron Архитектура Neutron Модели Neutron

10 Общая схема Neutron

11 Типовая модель Neutron
Management network. Используется для внутреннего взаимодействия межу компонентами OpenStack. IP адреса этой сети должны быть доступны только внутри Data центра.  Data network. Предназначена для передачи данных VM в рамках развертывания облаков. Требования к IP-адресации в этой сети зависят от используемого плагина Neutron. External network. Используется для обеспечения доступа VMs в Интернет. IP-адреса в этой сети должны быть аннонсированы в сети Интернет. API network. Предоставляет все интерфейсы API OpenStack, в том числе API Neutron. IP-адреса в этой сети должны быть аннонсированы в сети Интернет. Это может быть и та же сеть, что и External Network. Здесь может быть и подсеть Neutron, использующей часть диапазона IP- адресов, под свои нужды. Типовая модель Neutron from

12 Еще одна модель Neutron
DHCP L3 Еще одна модель Neutron

13 С несколькими агентами

14 Мульти-хостовая модель
DHCP агент обслуживает только локальные VMs L3 агент обслуживает локальные VMs и плавающие IPs Мульти-хостовая модель

15 Компоненты Neutron (для ovs, qemu и linux bridge plugin)
Осуществляет API и их расширения Применяет сетевую модель Сети, подсети и порты IP адресация для каждого порта Plugin агент Запущен на каждой compute node Соединяет instances с сетевым портом DHCP агент В multi-host режиме, запущен на каждой compute node (отложенный) Старт/атоп DHCP сервер Поддерживает DHCP конфигурацию L3-агент Для реализации floating IPs и другие функции L3, такие как NAT Один на сеть Metadata-агент Работает между Neutron L3-агентом и Openstack nova metadata API сервером metadata-agent l3-agent Neutron server & plugin Plugin agent DHCP agent DB Queue Note: база данных (DB) и диспечер очередей сообщений (Queue) могут быть использованы другими службами OpenStack 15 15 15

16 Уровни Neutron сервера
Поставщик может добавлять расширения для увеличения функциональности Neutron API and extensions Common service (Validation, Authn, Authz) Neutron Core Plugin API Поставщик специальных plug-in или open source plug-in: linux bridge plugin openvswitch plugin nicira plugin Plugin DB device 16 16 16

17 Программа OpenStack и Neutron Архитектура Neutron Модели Neutron

18 Основные модели Neutron
18

19 Neutron LbaaS модель * * * 19 port Vip HealthMonitor Pool Member
subnet Neutron LbaaS модель 19

20 Сеть и физические связи
Модель виртуальной сети в Neutron Физическая сеть (Identified by name :) Сетевые подключения provider network Tenant network GRE и локальные подключения не имеют физической сети VLAN Flat GRE local Локальные подключения для devstack одного поля Linux bridge plug-in не поддерживает GRE Понимание различий Neutron provider сети и сети tenant 20

21 Другой путь рассмотрения сети
Shared internal networks internal Private internal networks Только fixed IPs выделяются здесь external Private external networks Shared external networks Здесь можно выделять floating IPs и маршрутизатор должен иметь доступ к сети общего пользования private Только владелец tenant может создавать порты здесь. Другие tenants, кроме владельца tenat также могут создавать порты. shared 21

22 Пример сети с fixed IPs (ovs plug-in)
Host A network A local Vlan ID 1 network C local Vlan ID 3 int-br-eth1 br-int patch-tun patch-port veth int-br-eth2 network B local Vlan ID 2 phy-br-eth1 patch-int phy-br-eth2 Physnet1 vSwitch br-eth1 Physnet2 vSwith br-eth2 br-tun GRE eth1 eth2 Physical net1 vlan ID 1000 physical net2 Flat GRE network VM ports DHCP ports GRE host C host B local vlan id <-> tunnel id done by br-tun flow local vlan id <-> physical net vlan id done by physical net and br-int vSwitch 22

23 Пример сети с fixed IPs (linux bridge plugin)
Host A Network A (vlan 1) Network B (vlan 2) Network c tun Brq<net_id> Brq<net_id> Brq<net_id> veth veth eth1.1 eth1.2 Dhcp namespace (qdhcp-<net_id>) Dhcp namespace (qdhcp-<net_id>) Dhcp namespace (qdhcp-<net_id>) eth1 eth2 physical net3 Flat Physical net1 vlan ID 1 physical net2 Vlan ID 2 VM ports DHCP ports host C 23

24 FloatingIP и маршрутизатор
Vm /24 gw: /24 Floating IP, фиксированный порт на фиксированной IP сети Порт, подключеный к интерфейсу маршрутизатора, должен иметь адрес из сети шлюза FloatingIP порт Router interface /24 External network gw_port /24 Floating ip: /24 internal nework router external network vswitch br-ex Vm /24 gw: /24 eth0 l3_agent Для VM маршрутизатор используется для доступа снаружи и позволяет VM на разных подсетях или сетях получать доступ друг к другу с плавающим IP. Также используется для доступа VM во вне. 24

25 Пример сети с fixed IP и маршрутизатором (ovs plugin)
Host B L3-agent ovs-neutron-agent dhcp-agent Host A ovs-neutron-agent network A local Vlan ID 3 network C local Vlan ID 2 network A local Vlan ID 1 network C local Vlan ID 3 br-int br-int external network D binding: local network B local Vlan ID 1 network B local Vlan ID 2 br-ex Physnet1 vSwitch br-eth1 Physnet2 vSwith br-eth2 br-tun Physnet1 vSwitch br-eth1 Physnet2 vSwith br-eth2 br-tun GRE GRE eth0 eth1 eth1 eth2 eth2 public net Physical net1 vlan ID 1000 VM ports physical net2 Flat DHCP ports Router interface ports Router gateway and flaoting ip ports 25

26 Программа OpenStack и Neutron Архитектура Neutron Модели Neutron

27 Использование частей AMQP компонентами Neutron
Dhcp agent neutron-server get_active_networks get_network_info get_dhcp_port release_dhcp_port release_port_fixed_ip update_lease_expiration Plugin agent Neutron Rest API (resource CRUD) get_device_details update_device_down tunnel_sync network_delete tunnel_update port_update q-agent-notifier- network-delete_fanout fanout q-agent-notifier- tunnel-update_fanout fanout q-agent-notifier- port-update_fanout fanout Exchange: Neutron topic dhcp Queue: q-agent-notifier- network-delete_fanout _{uuid4} q-agent-notifier- tunnel-update_fanout _{uuid4} q-agent-notifier- port-update_fanout _{uuid4} q-plugin <host.>dhcp Comsumer: neutron-server Dhcp agent Plugin agent 27

28 Последовательность загрузки VM с использованием Neutron компонент
28

29 Доступ к Metadata Compute node Network node Control node Data network
VM Network node Control node L3 agent namespace qrouter-<xy> Or DHCP agent namespace qdhcp-<xxx> nova-api-metadata neutron-ns-metadata-proxy unix socket neutron-metadata-agent Management network

30 Mulitihost Compute node Compute node Control node Data network
DHCP qdhcp-xx namespace neutron-ns-metadata-proxy neutron-metadata-agent unix socket Compute node VM neutron-dhcp-agent neutron-l3-agent neutron-<l2>-agent nova-compute DHCP qdhcp-xx namespace neutron-ns-metadata-proxy neutron-metadata-agent unix socket Compute node VM neutron-dhcp-agent neutron-l3-agent neutron-<l2>-agent nova-compute external network Control node Management network 30

31 LbaaS компоненты neutron.conf:
service_plugins = neutron.services.loadbalancer.plugin.LoadBalancerPlugin lbaas_agent.ini: interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver device_driver = neutron.services.loadbalancer.drivers.haproxy.namespace_driver.HaproxyN SDriver Management network Network node neutron-lbaas-agent Control node neutron-<l2>-agent Neutron-server Pool namespace xx haproxy Data network

32 У меня все. Вопросы и пожелания?


Download ppt "OpenStack networking – Neutron (quantum)"

Similar presentations


Ads by Google