LINUX.ORG.RU
ФорумTalks

Docker и его альтернативы - Кажется, я что-то начал понимать

 ,


0

2

Добрый день.

Существует Docker и существуют его альтернативы, допустим, AWS Firecracker.

Как я думал это должно работать

  • Ставим Docker
  • Ставим Containerd
  • Ставим Firecracker
  • Ставим Firecracker-containerd
  • Настраиваем Containerd, чтобы он запускал контейнеры с помощью firecracker
  • Находим какой-нибудь пример для docker-compose
  • Запускаем docker-compose

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

Как это работает на самом деле

  • Ставим Docker
  • Ставим Containerd
  • Ставим Firecracker
  • Ставим Firecracker-containerd
  • Находим какой-нибудь пример для docker-compose
  • Импортируем все нужные docker-образы в формат firecracker
  • Думаем, как организовать сеть для каждого Docker контейнера

Может есть способ, как подружить это все вместе???

★★★

Ответ на: комментарий от Spoofing

Это потом будет обязательно.

я же хочу разобраться как сейчас, потому что в 2014 году было все просто:

вот тебе докер и ты хк-хк и в продакшн.

Сейчас же слава ИБникам, здесь появилось разделение - docker, containerd, различные механизмы запуска.

Кажется, все же можно пристоить под капот Докера firecracker. Но нужно дочитать документацию до конца, а там ее много.

Nurmukh ★★★ ()
Ответ на: комментарий от Nurmukh

Кажется, все же можно пристоить под капот Докера firecracker.

Зачем? Это ж просто разные форматы контейнеров. Причем firecracker по умолчанию в KVM пускается, он изначально микровиртуалка, а не контейнер, по сути. То, что он может в containerd это уже другое.

cocucka ★★★★★ ()
Ответ на: комментарий от Spoofing

docker это всего лишь плагин к k8s, ставь k8s и будет всё из коробки.

что.

GOMO88 ()

У тебя смешались понятия. docker - контейнеризация, firecracker - виртуализация. Одно cgroups второе kvm.

Какую ты задачу пытаешься решить?

GOMO88 ()

Я из полного и абсолютного приверженца докера, когда он только появился, превратился в полного его отрицателя.

Причин тому две: 1) очень не нравится мне куда это все катится. 2) пока разбирался в глюках докера выяснил как вообще работают эти ваши линуксы под капотом и понял что докер не нужен, так то. От слова вообще.

alex07 ()
Ответ на: комментарий от zloelamo

На сегодняшний вечер моя стратегия такова:

  • запускаю минимальную виртуалку в firecracker
  • внутри виртуалки запускаю docker
  • внутри докера запускаю контейнеры.

Но я думал, что есть более родные механизмы. Вроде и есть docker runtime, который поддерживает многое, но как оказалось, что нельзя.

Nurmukh ★★★ ()
Ответ на: комментарий от cocucka

Ну да, деды chroot’ились и нам велели.

Дело не в chroot’e. Дело в том как его используют сейчас подавляющее большинство погроммистов на сервере. Мне иногда плакать хочется когда я вижу такое.

Какие то виртуализации, контейнеры, кубернетесы, совершенно немыслимо кривые кластеры из говна и желудей… Рядом сидит шизофреник-дегенерат (под виндой и с putty, ага), который гордо называет себя devops и утверждает что вот сам, один, в одиночку управляет HA установкой из 20ти серверов, потратил на ее установку 10 минут нажав 10 раз на кнопку Next. Не то что эти ваши бородатые одмины-тормоза которые всю жизнь только штаны протирают. А так то вообще он курсы на Ютубе закончил и сразу понял что ничего сложного во всем этом нет.

Ах да, и как правило все это он делает для того чтобы его коллеги (такие же шизоиды) развернули связку java + MariaDB для обработки 5000 HTTP запросов в сутки. И вот это сейчас был пример из реальной жизни.

(Но это все конечно зависть с моей стороны)

alex07 ()
Последнее исправление: alex07 (всего исправлений: 1)
Ответ на: комментарий от xperious

а поподробнее?

Я не встречал еще ситуации в которой его использование было бы оправдано.

Точнее нет, встречал одну. Если надо выделить одну вм, чтобы на ней крутился зоопарк из стороннего самописного софта на который нет документации и который «как то работает, да и ладно». Вот тут докер подходит, да.

Во всех остальных ситуациях докер использовался крайне низкоквалифицированными работниками которые в основном занимаются тем что из Stackoverflow делают copy/paste в Idea.

Хотя конечно должны быть какие то узкие ситуации где и k8s нужен. Я вот например также считаю что и GCP/AWS и проч. такое же зло. Однако я знаком с человеком которому бывает нужно одномоментно 8000 ядер для обсчета данных и он ими пользуется, тут вопросов нет, надо, значит надо.

alex07 ()
Ответ на: комментарий от alex07

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

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

cocucka ★★★★★ ()
Ответ на: комментарий от theNamelessOne

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

dada ★★★★★ ()
Ответ на: комментарий от cocucka

у тебя просто нормального девопса не было

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

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

Если большинство пользователей инструмента дегенераты, то это не значит, что инструмент дерьмо и «нинужен». Просто он упрощает что-то до уровня, пригодного для использования даже обезьяной.

Совершенно верно. Только вот беда в том что в случае с докером все эти девопсы подаются под соусом не пользователей, но еще и настройщиков, наладчиков и администраторов этих инструментов. Докер это не MS Word, это сложнейшая абстракция над ОС. И если человек не знает что такое партиция или TCP/IP стек, то давать ему управлять докером это самоубийство.

Мне на полном серьезе заявляли что «не, ну а че такого что мой вордпресс крутится под рутом в докере? он же в контейнере, значит изолирован, значит безопасно».

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

А с этим я и не спорю. Просто не видел этого в реальной жизни, зато видел «реальные высоконагруженные системы с маштабированием, отказоустойчивостью и непрерывной интеграцией» с нормальной командой толковых админов, которые при упоминании докера сначала ехидно улыбаются, а потом пожимают плечами «зачем мол?».

Про людей которые на k8s делают какой то MVP, причем стоимость этого MVP на 90% как раз и складывается из стоимости этой инфраструктуры я вообще молчу, это за гранью добра и зла.

alex07 ()
Последнее исправление: alex07 (всего исправлений: 1)
Ответ на: комментарий от alex07

Опыт у меня вообще богатый. И как показывает жизненный опыт всем на все наплевать.

Но есть и положительные моменты - все сложное сейчас было абстрагировано и ушло под капот. Теперь не надо думать о ядрах, выборе архитектуры, компиляции пакетов (вспоминаю свою молодость и сборку gentoo по ночам). Теперь берешь контейнер, х00к-х00к и в продакшн. Молодежь как акыны, что видит, то и пихает. А более опытные товарищи вдумчиво собирают свои образы контейнеры.

Основная задача - предоставить более защищенный механизм для запуска докеров/кубернетеса.

Выделять для каждого докер-домена по виртуальной машине - это слишком накладно. Поэтому был выбран firecracker. Чтение документации показало, что есть еще дополнительный механизм firecracker-containerd. Специальный механизм, который для докера выделяет отдельную виртуальную машину, внутри которой запущен runc, который запускает контейнер.

Но этот механизм не работает через докер, то есть через firecracker-ctr контейнер даже запускается и сеть есть. Но вот через докер нельзя запустить. Написал на github issue, может объяснят мне, что к чему.

Nurmukh ★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)