Openstack Mitaka - Networking Controller e Compute node em diferentes segmentos de rede

1

Sou relativamente novo no Openstack e tenho uma visão muito limitada dos conceitos avançados de rede. Estou tentando configurar uma configuração simples do Openstack Mitaka para o trabalho, seguindo os guias oficiais de instalação. Eu pensei que estava fazendo um bom progresso até chegar ao bit de rede.

Eu tenho a seguinte configuração:

  1. Nó do controlador único em uma máquina virtual VMWare no 10.110. Sub-rede 166.XXX - 2 NICs presentes
  2. Único nó de computação no servidor Bare Metal em 10.110. Sub-rede 167.XXX - 2 NICs presentes

Eu implantei os componentes Keystone, Nova, Glance e Neutron no controlador. Nova-compute service e linuxbridge-agent no nó de cálculo. Tentando obter a configuração de rede trabalhando com o plugin ML2 que foi recomendado no guia de instalação.

Depois de seguir todas as instruções listadas, parece que não consigo executar ping em nenhuma das instâncias de VM que são iniciadas no meu computador nem no nó do controlador. Isso também pode ser o motivo pelo qual não consigo obter uma conexão do console VNC para as instâncias. Posso ver claramente que minha configuração de rede está errada, pois minha instância do Ubuntu fica travada na inicialização, esperando que as interfaces de rede sejam exibidas.

Eu recriei a configuração de rede dentro do Openstack várias vezes, mas não obtive sucesso. Agora, eu limpei tudo e não tenho nenhum provedor ou nenhuma outra rede definida dentro do Neutron. Eu realmente apreciaria se alguém pudesse me guiar através deste processo.

Tenho dúvidas sobre se é possível ter nós de controlador e de computação em diferentes segmentos da LAN. Não consegui encontrar soluções para isso.

A configuração parece ser boa até agora a julgar por esta saída:

neutron agent-list
+--------------------------------------+--------------------+------------+-------------------+-------+----------------+---------------------------+
| id                                   | agent_type         | host       | availability_zone | alive | admin_state_up | binary                    |
+--------------------------------------+--------------------+------------+-------------------+-------+----------------+---------------------------+
| 11ff8610-8eb2-45d5-91e8-d7905beb668c | Linux bridge agent | controller |                   | :-)   | True           | neutron-linuxbridge-agent |
| 370794ac-0091-4908-8293-00d007f7f8be | Linux bridge agent | compute1   |                   | :-)   | True           | neutron-linuxbridge-agent |
| 444eca8d-3a34-4018-97ab-f23925e65713 | DHCP agent         | controller | nova              | :-)   | True           | neutron-dhcp-agent        |
| 90f70ca7-afd2-4127-97f1-f623fac26e29 | Metadata agent     | controller |                   | :-)   | True           | neutron-metadata-agent    |
| ad2a6012-a348-47c7-8ee9-f41401fb048f | L3 agent           | controller | nova              | :-)   | True           | neutron-l3-agent          |
+--------------------------------------+--------------------+------------+-------------------+-------+----------------+---------------------------+

Eu adicionei configurações abaixo que podem ajudar com esse problema.

Nó do controlador:

/ etc / network / interfaces

# The loopback network interface
auto lo
iface lo inet loopback

# The provider network interface
auto ens192
iface ens192 inet manual
up ip link set dev $IFACE up
down ip link set dev $IFACE down

# primary network interface
auto ens160
iface ens160 inet dhcp

Saída do ifconfig:

ens160    Link encap:Ethernet  HWaddr 00:50:56:99:c5:74
          inet addr:10.105.166.87  Bcast:10.105.166.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fe99:c574/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:995476 errors:0 dropped:0 overruns:0 frame:0
          TX packets:639007 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:578268831 (578.2 MB)  TX bytes:522577815 (522.5 MB)

ens192    Link encap:Ethernet  HWaddr 00:50:56:99:14:d4
          inet6 addr: fe80::250:56ff:fe99:14d4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:23276 errors:0 dropped:292 overruns:0 frame:0
          TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1697881 (1.6 MB)  TX bytes:1988 (1.9 KB)
          Interrupt:19 Memory:fd3a0000-fd3c0000

route -n:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.105.166.251  0.0.0.0         UG    0      0        0 ens160
10.105.166.0    0.0.0.0         255.255.255.0   U     0      0        0 ens160

/etc/neutron/plugins/ml2/linuxbridge_agent.ini:     [linux_bridge]

#
# From neutron.ml2.linuxbridge.agent
#

# Comma-separated list of <physical_network>:<physical_interface> tuples
# mapping physical network names to the agent's node-specific physical network
# interfaces to be used for flat and VLAN networks. All physical networks
# listed in network_vlan_ranges on the server should have mappings to
# appropriate interfaces on each agent. (list value)
physical_interface_mappings = provider:ens192

# List of <physical_network>:<physical_bridge> (list value)
#bridge_mappings =


[vxlan]

#
# From neutron.ml2.linuxbridge.agent
#

# Enable VXLAN on the agent. Can be enabled when agent is managed by ml2 plugin
# using linuxbridge mechanism driver (boolean value)
enable_vxlan = True
local_ip = 10.105.166.87
l2_population = True

Nó de cálculo:

/ etc / network / interfaces:

# The provider network interface
auto eno1
iface eno1 inet manual
up ip link set dev $IFACE up
down ip link set dev $IFACE down

# main network
auto enp4s0f3
iface enp4s0f3 inet dhcp

ifconfig:

eno1      Link encap:Ethernet  HWaddr 00:1e:67:d8:ae:36
          inet6 addr: fe80::21e:67ff:fed8:ae36/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:62075 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:10075695 (10.0 MB)  TX bytes:648 (648.0 B)
          Memory:91920000-9193ffff

enp4s0f3  Link encap:Ethernet  HWaddr 00:1e:67:d8:ae:37
          inet addr:10.105.167.134  Bcast:10.105.167.255  Mask:255.255.255.0
          inet6 addr: fe80::21e:67ff:fed8:ae37/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:358572 errors:0 dropped:0 overruns:0 frame:0
          TX packets:243401 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:203461227 (203.4 MB)  TX bytes:75659105 (75.6 MB)
          Memory:91900000-9191ffff

route -a:

root@compute1:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.105.167.251  0.0.0.0         UG    0      0        0 enp4s0f3
10.105.167.0    0.0.0.0         255.255.255.0   U     0      0        0 enp4s0f3

/etc/neutron/plugins/ml2/linuxbridge_agent.ini:

[linux_bridge]


#
# From neutron.ml2.linuxbridge.agent
#

# Comma-separated list of <physical_network>:<physical_interface> tuples
# mapping physical network names to the agent's node-specific physical network
# interfaces to be used for flat and VLAN networks. All physical networks
# listed in network_vlan_ranges on the server should have mappings to
# appropriate interfaces on each agent. (list value)
physical_interface_mappings = provider:eno1

# List of <physical_network>:<physical_bridge> (list value)
#bridge_mappings =


[securitygroup]

#
# From neutron.ml2.linuxbridge.agent
#

# Driver for security groups firewall in the L2 agent (string value)
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

Estes são meus objetivos no que se refere à configuração da rede:

1) Eu não quero usar mais IPs na rede física 2) instâncias de VMs serão alocadas IPs em um segmento de rede virtualizado 3) Algum tipo de rede de sobreposição permitindo que eles se conectem uns aos outros 4) Conectividade de rede para a Internet é necessária

Eu tenho lido sobre o OpenVSwitch e como ele pode ser usado aqui, no entanto, parece bastante complexo e eu não tenho certeza se eu preciso realmente investir esforço para obter essa configuração. Eu apreciaria algumas dicas sobre como isso pode ser configurado.

Realmente aprecie a ajuda. Obrigado!

    
por Code Manure 01.06.2018 / 08:12

0 respostas