Управление интерфейсом контейнера IPv4 LXD

Ubuntu 18,04,4
lxd 3,0,3
lxc 3,0,3

У меня уже давно работает несколько контейнеров без проблем. Сегодня я вносил изменения в свою сеть, и один из контейнеров получил DHCP-адрес.

user@localhost:/tmp$ sudo lxc list host_a
+-----------------------+---------+--------------------------+------+------------+-----------+
|         NAME          |  STATE  |           IPV4           | IPV6 |    TYPE    | SNAPSHOTS |
+-----------------------+---------+--------------------------+------+------------+-----------+
| host_a                | RUNNING | 192.168.112.5 (vlan112)  |      | PERSISTENT | 3         |
|                       |         | 192.168.11.8 (eth0)      |      |            |           |
|                       |         | 192.168.11.193 (eth0)    |      |            |           |
+-----------------------+---------+--------------------------+------+------------+-----------+

Интерфейсы 192,168,112,5 и 192,168,11,8 являются исходными интерфейсами, которые существовали и должны оставаться. Интерфейс 192.168.11.193 - это интерфейс, который появился сегодня во время сетевых изменений и который я не могу найти для удаления. Я не нахожу его в контейнере и не могу понять, как удалить его через lxc. Я прибегла к перезагрузке контейнера и узла lxd, но она осталась.

-121--306484- Можно ли настроить DNS путь, чтобы при сбое одного IP-адреса он использовал другой IP? Я намеревался создать SaaS с двумя балансировщиками нагрузки. Если один балансировщик нагрузки опускается, «MySaaSApp.com» указывает на другой балансировщик нагрузки. Может ли это быть достигнуто только через DNS Records? Спасибо!

Я намерен создать SaaS с двумя балансировщиками нагрузки. Если один балансировщик нагрузки опускается, 'MySaaSApp.com' указывает на другой балансировщик нагрузки. Может ли это быть достигнуто только через DNS Records? Спасибо!

0
задан 31 March 2021 в 06:42
2 ответа

№. Или нет вообще.

DNS выполняет балансировку нагрузки по умолчанию, а не аварийное переключение. Если у вас есть несколько данных для данного имени и типа записи, приложения должны использовать все эти данные. Но поскольку это наборы, а не списки, нет никакой гарантии порядка. И записи кэшируются, поэтому через все это у приложений нет «немедленного» способа перехода от неисправного случая к работающему.

Но это исключения. Записи MX упорядочены по полю приоритета, поэтому ожидается, что приложения (то есть клиенты SMTP или MUA / MTA) автоматически переключатся на вторую запись в случае сбоя первой и т. Д. Но это связано с тем, что она поддерживается в спецификациях записи MX , и потому, что она имеет конкретную информацию в записи, приоритет.

То же самое для SRV записей, что позволяет установить балансировку нагрузки и аварийное переключение ... при условии, что приложения разработаны для использования этих записей, что, например, не относится к веб-браузерам, для некоторые уже исторические причины, которые должны быть решены в будущем с новыми типами записи HTTPS и SVCB .

Балансировщики нагрузки в конфигурациях «горячий / горячий» или «горячий / холодный» имеют специальные протоколы для решения этих проблем. Обычно вы используете либо произвольный IP-адрес с некоторой умной маршрутизацией BGP, либо некоторый «виртуальный» IP-адрес, который перемещается между различными системами, который необходимо синхронизировать, чтобы гарантировать, что IP-адрес запрашивается только одним в любой момент времени. Посмотрите, например, на VRRP или на https://www.haproxy.com/blog/failover-and-worst-case-management-with-haproxy/ в качестве примера при использовании HAProxy.

2
ответ дан 24 April 2021 в 01:31

В ответ на ответ Патрика ; Хотя протокол DNS не имеет собственного механизма отработки отказа, довольно много поставщиков DNS поддерживают изменение записей DNS, в том числе путем привязки проверки работоспособности к записи.

Затем вы можете настроить, что example.com преобразуется в example.com 60 IN A 10.0.0.1 , пока веб-запросы к https://10.0.0.1/healthcheck приводят к ответу 200.

Когда нет; затем вернитесь к example.com 60 IN A 10.9.8.1 или аналогичному.

Обратите внимание, что записи DNS должны иметь значение TTL времени жизни (60 секунд в приведенном выше примере), которое определяет, как долго резолверы должны кэшировать запись. Чем короче TTL, тем быстрее истекает срок хранения кэшированных записей и тем быстрее должно произойти аварийное переключение, но также тем выше нагрузка на ваш сервер имен и некоторая дополнительная задержка.
И имейте в виду, что не каждый преобразователь должным образом учитывает записи TTL, а это означает, что в случае сбоя некоторые из ваших пользователей будут разрешать старый IP-адрес намного дольше, чем вы проектировали для ...

См., Например, https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values-failover.html

0
ответ дан 24 April 2021 в 01:31

Теги

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