Замечательный мир контейнеров. В последнее время не так много компаний, которые уже контейнелировали свои приложения, либо находятся в процессах этого. Получение изображения для строительства на вашем ноутбуке и запуска его в качестве контейнера — отличный первый шаг. Редко это приложение, состоящее из одного изображения. Вместо этого ваше приложение «стек» обычно состоит из фронтального, заднего, базы данных и, возможно, какой-либо очереди. Вам нужна возможность позволить контейнерам в вашем стеке общаться, а также иметь возможность быть независимыми, обновленными, масштабированными и контролируемыми. Здесь полезно программное обеспечение для оркестровки, но оно поставляется в нескольких ароматах и формах. Решение, когда и зачем использовать определенный, может быть сложно. Давайте посмотрим на несколько наиболее распространенных вариантов и когда и почему вы их используете.
Docker Compose
Docker Compose (Docker-Compose), как правило, распределяется с Docker. Вы можете определить свою конфигурацию приложения с несколькими контентаре как код через один файл YAML.
- Плюсы:
- Контейнеры общаются в своей собственной сети
- Начните и остановитесь с одной командой
- Минусы:
- Вы запускаете свое приложение на одном хосте
- Полезно, когда:
- Раскрытие приложения для тестирования на разработку и интеграции
- Может легко работать в инструментах и трубопроводах CI/CD
Docker Swarm
Docker Swarm следует за тем же синтаксисом YAML, что и сочинение с некоторыми дополнительными функциями, такими как устойчивость и избыточность. Это также позволяет вам управлять контейнерами по нескольким физическим или виртуальным машинам.
- Плюсы:
- Тщательно следует за синтаксисом YAML с докером YAML
- Можно управлять на нескольких машинах
- Минусы:
- Не предоставляет простой в использовании вариант хранения за пределами томов Docker
- Плохой мониторинг
- Полезно, когда:
- Вы не хотите тратить много времени на изучение нового синтаксиса или установки
Kubernetes
Kubernetes-это структура оркестровки с открытым исходным кодом, разработанную Google и в настоящее время поддерживаемая Облачной вычислительной фондом.
- Плюсы:
- Последовательная конфигурация как код между локальными и облачными реализациями
- Обеспечивает постоянное время безотказной работы с быстрыми развертываниями
- Придерживается принципалов об неизменной инфраструктуре
- Обеспечивает декларативную конфигурацию
- Обеспечивает автоматическое и ручное масштабирование
- Распределяет нагрузку и выполняет проверки здоровья
- Минусы:
- Процесс установки и обучение Синтаксис требует времени
- Приложения должны быть обновлены, чтобы обеспечить URL -адреса жизни и готовности
- Полезно, когда:
- Вам нужен очень доступная структура выполнения приложения на уровне производственного уровня
Вывод
Иногда ответ-это комбинация, в которой Docker-Compose используется для локального тестирования трубопроводов, а Kubernetes используется в более высоких средах, таких как QA и производство. Орхестральная структура, которую вы выбираете, будет в значительной степени определяться вашими целями по сравнению с инфраструктурой и сложностью, которые будет представлено каждое решение. Иногда докеров-композита недостаточно, а в других случаях Kubernetes может быть излишним. Вы должны взглянуть и решить, какое решение удовлетворяет ваши потребности с точки зрения бюджета, сложности и затрат на обучение.
Оригинал: «https://dev.to/leading-edje/container-orchestration-what-to-choose-when-and-why-2c16»