Задать вопрос

Kuber vs rancher vs docker?

Коллеги, добрый день. В свете последних тенденций хочется перейти на что-то "модное" как докер или кубернетс. Из-за этого возникает вопрос - а куда идти-то?

В моем понимании докер позволяет сделать очень простую оркестрацию своим swarm/stack методом (прямо сейчас на дев стенде я использую связку portainer+swarm. первый управляет docker-compose из gui, второй все "оркестрирует"), однако с ним проблема в том, что докер совсем не следит за состоянием самих нод - если одна ООМится, ушла и тп, то докер сможет задеплоить контейнер на новой, однако даже если остается 1/5 нод, то он постарается запихнуть все-все контейнеры в нее (возможно это настраивается на уровне лимитов, но как по мне они работают не всегда корректно).

Как я понимаю, эту проблему решает кубернетс - это некая надстройка(??) (тут не совсем все-таки понятно, что это до конца) над докером, которая будет следить за состоянием своих PODов, мигрировать контейнеры и т.п.

Есть для "простых" - rancher. Сейчас он кажется работает только с кубером и представляет собой GUI для управления (хотя тут встает вопрос - зачем, если есть стандартный Kubernets gui от гугла). Или ранчер делает что-то еще, тут вопрос.

Собственно, у меня вот такие мысли и размышления по этому поводу. Мне хочется избавиться от проблемы докера (особенно когда сворм все запихивает на одну оставшуюся ноду), и попрпобовать что-то новое.
Что бы вы посоветовали и почему? Почему кубер, а не ранчер. Или наоборот.
И есть ли адекватные gui для управления кубером?
Спасибо.
  • Вопрос задан
  • 8480 просмотров
Подписаться 15 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 4
@MherArsh
Илья, посмотри на ютюбе и прочти на хабре блог компании Флант, они молодцы, все расскажут нормально, и понятно, а если кратко:
Докер это сущность где запускаются приложения, это что то типа виртуалки но это не виртуалка а изоляция процессов контейнера, это движок, где работает приложение, все.
Для управления множеством контейнеров, и для очень многих вещей (не буду повторяться, посмотришь) нужен аркестратор, их несколько, самый популярный это kubernetes.
Rancher в свою очередь является инструментом для установки kubernetes, в старых версиях у них был свой аркестратор, на выбор, но потом его закрыли.

А про ui забудь)) ты через него ничего не сделаешь, у ранчера более менее продвинутый ui, но пользы очень мало.

Удачи тебе!
Ответ написан
@dimagusarov1
Kubernets это как swarm только swarm плохой и умер.
gui от гугла никто не юзает, rancher более продвинутая штука, можно создавать кластера, управлять и тд.
и внутри ranchera кубер, т.е. ты можешь сетапить кубер ранчером или кубспеем или кубадмом... но там везде кубернетес)
Ответ написан
voidnugget
@voidnugget
Программист-прагматик
совсем не следит за состоянием самих нод - если одна ООМится


Уже пофиксили через HEALTHCHECK / STOPSIGNAL в Dockerfile. Да и давно работает стандартый OOM.

Как я понимаю, эту проблему решает кубернетс - это некая надстройка(??)


Нет, кубер это в первую очередь средство управления ресурсами, причём любыми...
Так как есть CRD и custom controller'ы, c Operator Framework'oм.

ComCast, например, управляет железом для стриминга и соответствующим SDN полностью в рамках K8S.

Для кубера придумали довольно много всякого (говна в том числе), что бы упростить деплой и способ описания жизненного цикла приложений.

Пока ничего лучше Operator Framework поверх Argo / Spinnaker не знаю.

Есть для "простых" - rancher.


Rancher сам по себе только деплоит Kubernetes класстер на пачку серверов, мониторит его, а также позволяет немного бэкапить, накатывать простенькиие Helm Chart'ы.

Потому в 99% случаев всё сводиться к "Terraform'у ручками" и к самописным Custom Node Driver'ам.

Вот что реально можно и стоит автоматизировать на Rancher'e так это Cluster Nodes Autoscaling, когда ранчер сам в Node Pool добавляет / удаляет машин по текущим метрикам и делает соответствующий rebuild всякого...

Практической пользы от rancher'a в случае использования Kubernetes as a Service хостингов не много, если часто не приходиться клонить / обновлять / удалять пачки кластеров и переносить всё с одного хостинга на другой, ну там с подвала в GCP / AWS и наоборот.

Мне хочется избавиться от проблемы докера (особенно когда сворм все запихивает на одну оставшуюся ноду), и попрпобовать что-то новое.


Можно жить в проде и без докера - он используется только для сборки образов.

Пробуйте Kata Containers под gVisor в Kubernetes (получается довольно секурно).
Сам Kubernetes можно запустить например не в докере а в Nomad'e (так делает Sony).

И есть ли адекватные gui для управления кубером?


Кроме ранчера не видел больше ничего ...
Сам пишу им конкурента сейчас.
Ответ написан
@vitaly_il1
DevOps Consulting
Kubernetes - это оркестрация для докер, помимо поддержания нужного кол-ва контейнеров K8S умеет деплоить разными способами, делать auto-scaling несколькими способами, и т.д.
Я бы посоветовал начать с Kubernetes.
Rancher в моем понимании это "надстройка" над Kubernetes, которая должна облегчить deploy / upgrades, работать с multi-cluster configuration и в целом создать "более умный" API.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы