OpenStack Networking com Neutron
Apresentação: Dualtec
25/07/2015
Inovação Dualtec
Equipe DevOps
William Novais
DevOps e SysAdmin
Email:
[email protected]
Neutron
Visão Geral
O que é o Neutron?
Neutron é o serviço do OpenStack que prove "network como serviço".
É o responsável por criar redes, roteadores e balanceadores de carga virtuais.
Baseado em "plug-ins" (agents)
Prove um framework para que terceiros criem drivers para conectar o neutron a
equipamentos de rede.
Neutron
Estrutura de rede
Gerência (Management)
- Comunicação entre os serviços, onde os serviços como mysql e
mensageria estão escutando.
Dados (Data Network)
- Onde as instâncias falam umas com as outras e com os serviços como
dhcp.
Pública (External Network)
- Usada para expor as APIs do openstack para os clientes e para permitir
que as instâncias sejam acessadas de fora do OpenStack através de ip
flutuante.
Neutron
Estrutura de rede
Neutron
Iproute2
Network Namespace
- Similar a jaulas “jails”
- Cada namespace pode ter suas próprias interfaces de rede, tabelas de
roteamento e regras de firewall.
- Além disso é capaz de rodar processos de forma isolada.
Virtual Ethernet (veth)
- Funcionam em pares e são como tubos, o que entra em uma interface sai pela
outra sem nenhum processamento.
- Podem ser usadas para conectar bridges, por exemplo.
Neutron
Server/Agents
Neutron-server
- Expõe API neutron para usuários
- Passa as chamadas para o plugin (agent) apropriado.
Neutron Agents
- Neutron-dhcp-agent
- Neutron-l3-agent
- Neutron-metadata-agent
- Neutron-lbaas-agent
Neutron
Server/Agents
Neutron-dhcp-agent
- Lança e controla o serviço dhcp para cada rede.
Neutron-l3-agent
- Criação de roteadores virtuais para interconectar as redes e prover ips
flutuantes para as máquinas
Neutron-metadata-agent
- Usado pelo serviço nova-compute
- Fornece informações para as máquinas virtuais sobre elas mesmas.
Inclui informações sobre hostname, chaves públicas (ssh) dentre outras.
Neutron-lbaas-agent
- Criação de balanceadores de carga virtuais usando HAProxy
Neutron
Layer 2 e OpenvSwitch
Em ambientes de nuvem os hypervisors que rodam as máquinas virtuais estão
distribuidos entre vários hosts.
Máquinas virtuais pertencentes ao mesmo segmento de rede podem estar
rodando em diferentes hosts.
É responsabilidade do ambiente emular a rede para as VMs como se estivessem
no mesmo segmento.
No OpenStack a conectividade L2 é
gerenciada por um um “mechanism
driver” e como exatamente é feito
depende do mecanismo utlizado.
O mecanismo que usamos
apresentação é o OpenvSwitch
nesta
Neutron
Layer 2 e OpenvSwitch
- Funciona como um switch virtual.
- O serviço neutron-openvswitch-agent é o responsável por criar as interfaces e
por extender o segmento L2 entre os hypervisors.
- Interfaces de rede das instâncias são conectadas a uma bridge do OpenvSwitch
chamada bridge de integração (br-int).
- O que acontece nesta bridge depende do tipo de driver usado (vlan, vxlan, gre,
entre outros).
- Aqui abordaremos vlan.
Neutron
Layer 2 e OpenvSwitch
Neutron
Layer 3 e OpenvSwitch
Neutron
Namespace
Obrigado
Download

O que é o Neutron?