В чем разница между docker compose и kubernetes?



во время погружения в Docker, Google Cloud и Kubernetes, и без четкого понимания всех трех из них, мне кажется, что эти продукты перекрываются, но они несовместимы.



например, файл docker compose должен быть переписан, чтобы приложение могло быть развернуто на Kubernetes.



может ли кто-нибудь предоставить грубое описание высокого уровня, где Docker, Docker Compose, Docker Cloud и Kubernetes перекрываются и где один зависит от другие?

973   3  

3 ответов:

настройки:

Docker-это контейнерная технология, которая позволяет вам контейнеризировать ваши приложения. Docker является ядром для использования других технологий.

Docker Compose:

позволяет настраивать и запускать несколько контейнеров docker. Это в основном используется в качестве помощника, когда вы хотите запустить несколько контейнеров docker и не хотите запускать каждый из них отдельно с помощью docker run .... Docker compose используется для запуска контейнеры на то же самое хоста.

Докер Рой:

Docker swarm предназначен для запуска и подключения контейнеров на несколько узлы. Docker swarm-это инструмент управления и оркестровки контейнерных кластеров. Он управляет контейнерами, работающими на нескольких хостах, и делает такие вещи, как масштабирование, запуск нового контейнера при сбое, сетевые контейнеры ...

Докер Рой докер в производстве. Это уроженца настройки инструмент оркестровки, который встроен в двигатель Докер.

файл docker swarm с именем stack file очень похож на файл docker compose.

Kubernetes:

инструмент оркестровки контейнеров, разработанный Google. Цель Kubernetes очень похоже, что Рой Докер.

Docker Cloud:

A уплачено служба предприятия "докер", что позволяет создавать и запускать контейнеры на облачных серверах или локальных серверах. Он предоставляет веб-интерфейс и центральную панель управления для запуска и управления контейнерами, предоставляя все функции docker в удобном для пользователя веб-интерфейсе.

обновление:

Docker cloud "частично" прекращено

службы в облаке Docker, обеспечивающие управление приложениями, узлами и кластерами swarm, будут закрыты 21 мая... автоматизированные сборки и службы хранения реестра, не будут затронуты и будут по-прежнему доступны

кроме @yamenk это!--5--> ответ, я хотел бы добавить несколько деталей, вот что может помочь людям с их пути понимания Kubernetes.

короткий ответ:

  • docker-compose: Это это принимает файл YAML, который описывает ваш мульти-контейнер приложения и поможет вам создать,start / stop,удалить эти контейнеры без необходимости вводить несколько docker ... команды.
  • Kubernetes: это платформа для управления контейнерными рабочими нагрузками и службами, что облегчает как декларативную конфигурацию, так и автоматизацию. Что? Продолжай читать...

Docker Compose

(из документов): Compose-это инструмент для определения и запуска приложений докеров с несколькими контейнерами. С помощью Compose можно использовать файл YAML для настройки служб приложения. Затем, с помощью одной команды, вы создайте и запустите все службы из своей конфигурации.

создать и команды для управления всем жизненным циклом приложения:

  • запуск, остановка и восстановление служб
  • Просмотр состояния запущенных сервисов
  • поток вывода журнала запущенных служб
  • выполнить одноразовую команду для службы

Kubernetes

Kubernetes-это контейнер оркестратор вроде Docker Swarm, Mesos Marathon, Amazon ECS, Hashicorp Nomad. Контейнерные оркестраторы-это инструменты, которые объединяют хосты вместе, чтобы сформировать кластер, и помогают нам убедиться, что приложения:

  • отказоустойчивые,
  • можно масштабировать и делать это по требованию
  • оптимально использовать ресурсы
  • можно обнаружить другие приложения автоматически, и общаться друг с другом
  • доступны из внешний мир
  • смогите уточнить / откат без любого времени простоя.

многие люди утверждают, что Kubernetes трудно узнать. Это потому, что он решает ряд проблем, и люди пытаются понять, не зная всех предпосылок. Это все усложняет. Начните складывать кусочки головоломки вместе, читая о понятиях / терминах, таких как:

  • 12-фактором приложений,
  • автоматическое binpacking,
  • самовосстановления,
  • горизонтальное масштабирование,
  • обнаружение служб и балансировка нагрузки,
  • автоматические откаты и откаты,
  • секреты и управление конфигурацией,
  • системой хранения

и потому, что есть много разных вещей вокруг контейнеров и их управления, следите за родным ландшафтом Clound:

интерактивная версия здесь: пейзаж.cncf.Ио/

enter image description here

первое различие между контейнерным движком и контейнерным оркестратором.

docker Это контейнерный движок, он заставляет вас создавать и запускать обычно не более одного контейнера, локально на вашем ПК для целей разработки.

docker-compose это утилита Docker для запуска нескольких контейнеров и позволяет им совместно использовать Тома и сети через функции Docker engine, работает локально для эмуляции состава службы и удаленно на кассет.

Kubernetes-это платформа оркестровки контейнеров, она заботится о запуске контейнеров и улучшении функций движка, чтобы контейнеры могли быть составлены и масштабированы для обслуживания сложных приложений (вроде PaaS, управляемых вами или облачным провайдером). Основная функция Kubernetes состоит в том, чтобы отделить инфраструктуру от приложения с помощью контейнеров, а также открыта для других движков, которые Docker, например, могут запускать контейнеры с помощью rkt или cri-o.

облако Докер также предложение PaaS, которое позволит вам запускать и организовывать контейнеры через docker API движка.

Теперь в зависимости от ваших потребностей, уровня контроля над инфраструктурой и целевой аудиторией вы можете использовать либо Kubernetes на baremetal, либо Azure ACS или Google GKE и т. д...

надеюсь, что это помогло :) С уважением

Comments

    Ничего не найдено.