открытый стек с плавающим ip не доступен - PullRequest
0 голосов
/ 02 ноября 2018

описание

После включения dvr две виртуальные машины vip настраиваются с помощью keealived. Когда VIP частной сети смещается, открытый плавающий ip не может быть доступен.

более подробно следующим образом:

Два узла, конфигурация частной сети сохраняется Host1 192.168.1.2 Host2 192.168.1.3 vip192.168.1.4 Vip дрейф в частной сети не проблема, внутренний доступ VIP в частной сети не проблема Проблема заключается в том, что после дрейфа vip внутренней сети внешний плавающий ip, соответствующий этому vip, не может быть доступен, и может быть доступен до дрифта. Феномен: Обновите порт частной сети, к которой перемещается vip. Плавающая сеть может быть использована. Что вызывает эту проблему?

Ссылка на конфигурацию

https://hk.saowen.com/a/4d7a3dcd044eb53ae0fc81e4d1445ba76bbb02423ff6c7b4a53a8ad59945883d

Процесс настройки

Предпосылка: Предположим, что уже есть две виртуальные машины 10.10.10.6, 10.10.10.7, настроенные с помощью keepalived, vip is 10.10.10.201 Сконфигурируйте шаги для поддержки VIP и плавающего IP-доступа в OpenStack:

  1. Группа безопасности плюс протокол vrrp 112

    нейтронная группа безопасности-правило-создать -протокол 112 по умолчанию

  2. Создать vip

    нейтронный порт-create --fixed_ip ip_address = 10.10.10.201 --security group по умолчанию vrrp_net

  3. Привязка vip к плавающему ip

    нейтронный плавающий ip-create --port-id = 3d7e70e9-cfcb-4aa9-95cc-60b5b6b67ec3 admin_floating_net

  4. Добавьте allow_address_pairs к порту виртуальной машины для поддержки нескольких сетевых карт для нескольких сетевых карт.

Запрос порта виртуальной машины 1

список нейтронных портов | grep 10.10.10.6

Обновление порта виртуальной машины 1

обновление нейтронного порта df22ba59-9c58-41a5-9fa3-98b09e644fe5 - список разрешенных_адрес_пар = true тип = dict IP-адрес = 10.10.10.201

Запрос порта виртуальной машины 2

нейтронный порт-лист | grep 10.10.10.7

Обновление порта виртуальной машины 2

обновление нейтронного порта 4c93d5b7-f26f-4136-a785-4db1479dbd81 -> список разрешенных_адресных_пар = true type = dict ip_address = 10.10.10.201

1 Ответ

0 голосов
/ 27 ноября 2018

У нас была такая же проблема в OpenStack Pike. Для нас это кажется исчезнувшим после обновления до Квинса. Какую версию вы используете?

В нашем случае правила iptables для snat / dnat в пространстве имен snat на узлах сети не были обновлены после отработки отказа.

Вы можете проверить это в вашей установке, позвонив по номеру:

ip netns exec snat-<uuid of your router> iptables -t nat -L

Вы должны увидеть одно правило snat и одно правило dnat для вашего плавающего IP.

Еще несколько ошибок и PR в Launchpad для дальнейшего использования:

...