Многоузловая установка Devstack
Последние несколько дней я пытался запустить установку devstack. Я пытаюсь выполнить настройку нескольких узлов, чтобы протестировать некоторые новые плагины. Я столкнулся с проблемой в сети. Если в случае успеха PUBLIC_INTERFACE не используется.
Руководства, которые я использовал
- DevStack Neutron Специально нейтронный с OpenVSwitch
- DevStack Multi Node
Ряд других. Я занимался этим несколько дней и перепробовал множество блогов и руководств по документации.
Моя настройка
У меня есть два физических узла, с которыми я работаю, с двумя сетевыми картами.
- Внешняя 10.0.0.96/28 Это не общедоступная, а внутренняя локальная сеть. В идеале я хочу, чтобы эта сеть была доступна для вычислительных экземпляров, но не по умолчанию.
- Внутренний 192.168.0.0/24 Это сеть управления, которую я настроил или которая была задана. Это прямая связь между двумя вычислительными узлами. Я хотел, чтобы об этом говорили API-интерфейсы Openstack, чтобы горизонт был доступен по предыдущей сети.
Я пробовал псевдоним интерфейс, настройка openvswitch br-ex, обе сети, типичный мост, динамическая конфигурация. Для комбинации PUBLIC_INTERFACE и HOST_IP. Независимо от того, как я его настраиваю, он всегда заканчивается одинаково. Где интерфейс, который я определяю, не может говорить ни с чем другим.
В качестве примера я просто запустил конфигурацию с PUBLIC_INTERFACE как Внутренний. После Devstack успешно работает. Мне не удалось пропинговать второй вычислительный узел или наоборот. Я сбросил базу данных открытого коммутатора, очистив все конфигурации портов, и он снова работает.
Я чувствую, что в настройке DevStack есть что-то очень простое, но мне не повезло. Я хочу, чтобы один узел выполнял роль контроллера и вычислял, а второй строго вычислял.
Конфигурация хост-сети
Контроллер + вычислительный узел
auto ens2f0
iface ens2f0 inet static
address 10.0.0.98
netmask 255.255.255.240
gateway 10.0.0.97
auto ens2f1
iface ens2f1 inet static
address 192.168.0.1
netmask 255.255.255.0
Вычислительный узел
auto ens2f0
iface ens2f0 inet static
address 10.0.0.99
netmask 255.255.255.240
gateway 10.0.0.97
auto ens2f1
iface ens2f1 inet static
address 192.168.0.2
netmask 255.255.255.0
Я также настроил сервер DHCP на узле контроллера. Для много внутренних и внешних адресов.
Devstack local.conf
Контроллер + вычислительный узел
[[local|localrc]]
GIT_BASE=${GIT_BASE:-https://git.openstack.org}
HOST_IP=192.168.0.1
SERVICE_HOST=192.168.0.1
MYSQL_HOST=192.168.0.1
RABBIT_HOST=192.168.0.1
GLANCE_HOSTPORT=192.168.0.1:9292
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
## Neutron options
Q_USE_SECGROUP=True
FLOATING_RANGE="192.168.0.0/24"
FIXED_RANGE="10.0.0.0/24"
Q_FLOATING_ALLOCATION_POOL=start=192.168.10,end=192.168.0.250
PUBLIC_INTERFACE=ens2f1
# Open vSwitch provider networking configuration
Q_USE_PROVIDERNET_FOR_PUBLIC=True
OVS_PHYSICAL_BRIDGE=br-ex
PUBLIC_BRIDGE=br-ex
OVS_BRIDGE_MAPPINGS=public:br-ex
Вычислительный узел
[[local|localrc]]
HOST_IP=192.168.0.2
SERVICE_HOST=192.168.0.1
MYSQL_HOST=192.168.0.1
RABBIT_HOST=192.168.0.1
GLANCE_HOSTPORT=192.168.0.1:9292
ADMIN_PASSWORD=secret
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
# Services that a compute node runs
ENABLED_SERVICES=n-cpu,rabbit,q-agt
## Open vSwitch provider networking options
PHYSICAL_NETWORK=default
OVS_PHYSICAL_BRIDGE=br-ex
PUBLIC_INTERFACE=ens2f1
Q_USE_PROVIDER_NETWORKING=True
Любой вклад приветствуется. Я стремлюсь к реализации openvswitch. Потому что тестируемый мной плагин основан на открытом vswitch.