octavia: какому IP назначен балансировщик нагрузки?

Пытаюсь понять, как устроена Октавия. Я создал балансировщик нагрузки в сети vlan. Ему был присвоен адрес 10.40.0.7. Когда я делаю список балансировщиков openstack, я вижу vip_address 10.40.0.7, который не назначен никаким амфорам.

Я хочу понять, где отображается адрес балансировщика нагрузки. Это не хозяин. Я не могу использовать ssh по этому адресу. Возможно, это драйвер амфоры, но что именно? Я не могу найти этот адрес ни в каком пространстве имен. Я не вижу, чтобы он был назначен ни одному мосту. На что это назначено?

Спасибо

Ранга


person LostInTheFrequencyDomain    schedule 16.11.2018    source источник


Ответы (1)


Это не хозяин.

Это хозяин! Амфора - это просто сервер новых звезд - то же самое, что и при запуске openstack server create. Разница в том, что амфора принадлежит проекту service, поэтому вы увидите ее, только если запустите (как администратор) openstack server list --all-projects. Например:

$ openstack --os-cloud as_me loadbalancer list
+--------------------------------------+---------+----------------------------------+-------------+---------------------+----------+
| id                                   | name    | project_id                       | vip_address | provisioning_status | provider |
+--------------------------------------+---------+----------------------------------+-------------+---------------------+----------+
| 64a6a56d-beeb-4ee2-b495-1cdc26ffd399 | test_lb | 0ac1e30189da48b387cf3c2f5582b2a3 | 10.254.0.6  | ACTIVE              | octavia  |
+--------------------------------------+---------+----------------------------------+-------------+---------------------+----------+

$ openstack --os-cloud as_admin server list --all-projects | grep amphora
| f6cd75fe-8513-4aae-bee9-af9362525703 | amphora-50dddb41-decf-4b3b-bb7a-f35a751d74af | ACTIVE | lb-mgmt-net=172.24.0.16; test_lb_net=10.254.0.11; test_net1=10.0.1.5; test_net0=10.0.0.4  | octavia-amphora-13.0-20181107.1.x86_64 | octavia_65  |

Если вы посмотрите на этот сервер, вы увидите, что у него несколько IP-адресов:

  • Тот, который вы назначили ему при создании балансировщика нагрузки, и
  • Сетевой адрес управления
  • Адреса в любых подсетях, к которым он привязан

Вы можете подключиться к амфоре по ssh, используя сетевой адрес управления. Вы должны иметь возможность получить к нему доступ со своих контроллеров. Вам понадобится соответствующий ключ ssh; где найти это, вероятно, во многом зависит от того, как вы установили что-то. Я использую tripleo, и похоже, что при установке используется ~/.ssh/id_rsa от пользователя стека для ssh-ключа amphora.

[controller ~]$ ssh -i amphora_private_key [email protected]
Last login: Thu Nov 15 22:01:16 2018 from 172.24.0.6
[cloud-user@amphora-7d48e10b-5ba4-42c9-bcd5-941d224b2a46 ~]$

Обновить

VIP балансировщика нагрузки назначается интерфейсу внутри пространства имен на амфоре. Учитывая приведенную выше конфигурацию, я вижу:

[root@amphora-50dddb41-decf-4b3b-bb7a-f35a751d74af ~]# ip netns
amphora-haproxy (id: 0)
[root@amphora-50dddb41-decf-4b3b-bb7a-f35a751d74af ~]# ip netns exec amphora-haproxy ip a
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc pfifo_fast state UP group default qlen 1000
    link/ether fa:16:3e:07:d2:26 brd ff:ff:ff:ff:ff:ff
    inet 10.254.0.11/24 brd 10.254.0.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet 10.254.0.6/24 brd 10.254.0.255 scope global secondary eth1:0
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fe07:d226/64 scope link
       valid_lft forever preferred_lft forever
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc pfifo_fast state UP group default qlen 1000
    link/ether fa:16:3e:21:9a:d1 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.4/24 brd 10.0.0.255 scope global eth2
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fe21:9ad1/64 scope link
       valid_lft forever preferred_lft forever
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc pfifo_fast state UP group default qlen 1000
    link/ether fa:16:3e:2a:63:58 brd ff:ff:ff:ff:ff:ff
    inet 10.0.1.5/24 brd 10.0.1.255 scope global eth3
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fe2a:6358/64 scope link
       valid_lft forever preferred_lft forever
person larsks    schedule 16.11.2018
comment
Я могу использовать ssh в амфору. Однако у меня есть адрес, не относящийся ни к одной амфоре. Я вижу VIP-адрес в списке балансировщика нагрузки openstack. К чему это приписано? Я могу войти в амфоры. - person LostInTheFrequencyDomain; 16.11.2018
comment
Думаю, я нашел свой ответ. Он назначается порту openstack. - person LostInTheFrequencyDomain; 16.11.2018
comment
Правильно. Когда вы openstack loadbalancer show используете балансировщик нагрузки, вы можете увидеть идентификатор порта. - person larsks; 16.11.2018
comment
Все еще ищу абстракцию IP, которой соответствует порт (т.е. это пространство имен, пара veth в пространстве имен или виртуальное устройство ... что именно?) - person LostInTheFrequencyDomain; 16.11.2018
comment
VIP назначается интерфейсу в пространстве имен на амфоре. Подробности см. В моем обновлении ответа. - person larsks; 16.11.2018
comment
Ух ты. Спасибо. Разъясняет тайну. Мне нравится знать, как все работает концептуально, прежде чем я что-то использую. - person LostInTheFrequencyDomain; 16.11.2018