Зачем Nova нужен публичный интерфейс?

Я прочитал некоторые пояснения о nova-network и о том, как настроить ее, как это из вики:

Я путаюсь в деталях. Если каждый трафик из экземпляров должен проходить через узел контроллера nova, то почему нам все еще нужен открытый интерфейс для узла nova-compute? Это необходимо?

Что произойдет, когда запрос извне к экземпляру. Например, у меня есть узел контроллера и новый вычислительный узел. В nova-compute node я запускаю экземпляр с веб-сайта Wordpress. Затем кто-то подключается к публичному IP этого экземпляра. Таким образом, запрос идет напрямую от маршрутизатора к узлу nova-compute или от маршрутизатора к узлу контроллера, а затем к узлу nova-compute?

2
задан 3 May 2012 в 00:47

1 ответ

В случае сети nova, работающей на узле контроллера, экземпляры используют этот узел в качестве шлюза к внешнему миру. Открытый интерфейс настраивается на вычислительных узлах, а плавающие (общедоступные) IP-адреса настраиваются непосредственно на вычислительных узлах. Таким образом, общедоступный трафик, привязанный к экземпляру, будет направляться в общедоступный интерфейс на вычислительном узле, а не на контроллер.

Лучшая сетевая модель для использования - FlatDHCP + multi_host. См. этот пост в блоге , в котором он подробно описывается и объясняется, почему это лучший выбор.

Подведем итог: нова-сеть работает на каждом вычислительном хосте. Физический flat_interface (указанный в config, обычно eth1) получает построенный на нем мост, которому назначается IP-адрес в сети частного экземпляра. Используя этот мост, nova-network обслуживает DHCP, DNS и шлюз для всех экземпляров, размещенных на этом вычислительном узле. Физический flat_interface (eth1) должен быть связан с коммутатором, соединяющим flat_interface с другими вычислительными узлами. Это разрешает трафик между экземплярами во внутренней частной сети (например, 10.0.0.0/24).

.

Каждый вычислительный узел также имеет public_interface, указанный в config (по умолчанию eth0). Ожидается, что он будет подключен к общедоступной сети, скажем, 192.168.25.0/24. Как пользователь, вы можете выделить адрес и связать его с работающим экземпляром. Адреса выделяются из пула, который вы настраиваете при первоначальной настройке сети nova. Используя EC2, например:

adam@amebix:~/nova$ euca-allocate-address
ADDRESS 192.168.25.241
adam@amebix:~/nova$ euca-associate-address 192.168.25.241 -i i-00000126
ADDRESS 192.168.25.241  i-00000126

На вычислительном узле 192.168.25.241 добавляется к public_interface в качестве вторичного виртуального IP-адреса, а правила iptables вычислительных узлов настраиваются для маршрутизации трафика на этот адрес на соответствующий пример. Однако группы безопасности по умолчанию не позволяют входящему трафику проходить через него. Вам нужно будет авторизовать порты в группах безопасности, которым назначен экземпляр (через euca-authorize). Это приводит к открытию портов nova-network в наборе правил iptables, соответствующем этому экземпляру.

0
ответ дан 3 May 2012 в 00:47

Другие вопросы по тегам:

Похожие вопросы: