Я использую docker-compose для запуска небольшого гарема контейнеров в поддержку приложения. Ключом к этому является использование внутреннего распознавателя DNS Docker (например, db resolves для внутреннего контейнера базы данных). Я использую частную мостовую сеть, созданную с помощью docker network .

Мне интересно, есть ли простой и прямой способ, без бюрократии Кубернетеса и того, чтобы воспользоваться механизмом обнаружения DNS при распределении контейнеров по нескольким физическим серверам. Один из вариантов - просто создать отдельную установку Docker и частную сеть на другом сервере, и эти контейнеры будут обновлять записи DNS для себя на моем сервере PowerDNS при запуске, и для этого существует механизм. Тем не менее, я предпочитаю использовать обнаружение DNS в Docker.

Любые указатели будут оценены!

2 ответа2

0

Да, вы можете достичь этого с помощью роя Docker. Docker swarm предлагает решение для ограничения ограничений в докере с такими привлекательными функциями, как:

  • Он использует Docker Engine CLI для создания множества Docker Engines, где вы можете развертывать сервисы приложений без каких-либо дополнительных инструментов оркестровки. -Swarm - это группа Docker Engines.
  • Swarm Manager автоматическое масштабирование для достижения желаемого состояния - легкое увеличение и уменьшение
  • Обнаружение служб. Узлы диспетчера Swarm присваивают каждой службе в Swarm уникальное DNS-имя и балансы загрузки запущенных контейнеров. Вы можете запросить каждый контейнер, работающий в рое, через DNS-сервер, встроенный в рой.
  • Постоянное обновление и безопасность - каждый узел в рое применяет взаимную аутентификацию и шифрование TLS для защиты связи между собой и всеми другими узлами.

Как видите, он имеет поддержку HA для многоузловых и мастер-узлов. Чтобы начать работу с Docker Swarm, прочтите руководство Docker Swarm 101 . Если вы уверены в Docker Swarm, прочитайте руководство по началу работы с Kubernetes, чтобы погрузиться в Kubernetes

0

Я бы посоветовал вам заглянуть в Docker Swarm, по моему опыту его проще настроить. Он также должен хорошо распространяться из вашего текущего docker-compose.yml .

У вас уже должен быть Swarm, если вы используете недавний Docker-движок, вам просто нужно включить его, запустив docker swarm init . Вы можете попробовать это на play-with-docker .

Возможно, вы захотите взглянуть на Github Брета Фишера для некоторых образцов. Это репо является сопроводительным материалом для курса Udemy автора, который, imo, также дает хороший обзор.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .