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-Я намерен создать SaaS с двумя балансировщиками нагрузки. Если один балансировщик нагрузки опускается, 'MySaaSApp.com' указывает на другой балансировщик нагрузки. Может ли это быть достигнуто только через DNS Records? Спасибо!
№. Или нет вообще.
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.
В ответ на ответ Патрика ; Хотя протокол 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