Назад | Перейти на главную страницу

Openstack Mitaka - сетевой контроллер и вычислительный узел в разных сетевых сегментах

Я новичок в Openstack и очень мало разбираюсь в расширенных сетевых концепциях. Я пытаюсь настроить простую установку Openstack Mitaka для работы, следуя официальным руководствам по установке. Я думал, что добился неплохих успехов, пока не добрался до сети.

У меня такая конфигурация:

  1. Один узел контроллера на виртуальной машине VMWare на 10.110.0.166.XXX подсеть - присутствуют 2 NIC
  2. Единый вычислительный узел на сервере Bare Metal на 10.110.167.XXX подсеть - присутствуют 2 сетевые карты

Я развернул компоненты Keystone, Nova, Glance и Neutron на контроллере. Сервис Nova-compute и linuxbridge-agent на вычислительном узле. Попытка настроить сеть с помощью подключаемого модуля ML2, рекомендованного в руководстве по установке.

После выполнения всех перечисленных инструкций я не могу проверить связь ни с одним из экземпляров виртуальной машины, запущенных ни с моего компьютера, ни с моего узла контроллера. Это также может быть причиной того, что я не могу получить консольное соединение VNC с экземплярами. Я ясно вижу, что моя сетевая настройка неверна, так как мой экземпляр Ubuntu застревает при загрузке, ожидая появления сетевых интерфейсов.

Я воссоздавал сетевую настройку в Openstack несколько раз, но безуспешно. Прямо сейчас я все очистил и у меня нет провайдера или каких-либо других сетей, определенных в Neutron. Я был бы очень признателен, если бы кто-нибудь мог провести меня через этот процесс.

Я сомневаюсь, можно ли располагать контроллеры и вычислительные узлы в разных сегментах LAN. Не удалось найти решения для этого.

Судя по этому выводу, настройка пока что хороша:

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          |
+--------------------------------------+--------------------+------------+-------------------+-------+----------------+---------------------------+

Ниже я добавил конфигурации, которые могут помочь с этой проблемой.

Узел контроллера:

/ и т.д. / сеть / интерфейсы

# 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

Вывод 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

маршрут -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

Вычислительный узел:

/ и т.д. / сеть / интерфейсы:

# 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

маршрут -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

Что касается настройки сети, то это мои цели:

1) Я не хочу больше использовать IP-адреса в физической сети 2) Экземплярам виртуальных машин будут выделены IP-адреса в виртуализированном сегменте сети 3) Какая-то наложенная сеть, позволяющая им подключаться друг к другу 4) Сетевое подключение к Интернет требуется

Я читал об OpenVSwitch и о том, как его можно здесь использовать, однако он кажется довольно сложным, и я не уверен, действительно ли мне нужно прилагать усилия для получения этой настройки. Я был бы признателен за некоторые советы о том, как это можно настроить.

Очень признателен за помощь. Спасибо!