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:
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.
/ 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
/ 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!