LINUX.ORG.RU

Haven — система управления Docker

 ,


6

8

Проект Haven представляет собой надстройку над инструментарием Docker и предназначен для управления кластерами (основанными на Swarm) или отдельными нодами; имеется веб-интерфейс. Исходный код распространяется под лицензией Apache 2.0.

Концепция проекта:

  • единый интерфейс, позволяющий работать c множеством кластеров и нод;
  • ориентированность на Docker: продукт умеет работать только с ним, но зато полноценно;
  • автоматизация рутинных операций, таких как обновление и очистка.

Некоторые функции:

  • операции над отдельным контейнером (создание, удаление, запуск, просмотр логов и т. п.);
  • объединение контейнеров в «приложения» для последующего развёртывания в другом окружении;
  • импорт приложений из Compose;
  • создание Swarm-кластеров во время выполнения;
  • работа с реестрами Docker (просмотр, назначение каждому кластеру своего списка реестров);
  • перенос нод между кластерами;
  • пакетные операции обновления контейнеров с возможностью отката;
  • централизованное хранение настроек контейнеров (пример);
  • удаление неиспользуемых образов контейнеров.

>>> Подробности

★★★★★

Проверено: Shaman007 ()

Краткий FAQ:

- да, имею отношение к этому проекту

- да, на лоре я както собирал хотелки: Вот делаем систему управления жизненным циклом образов для docker и есть куча вопросов.

- началось года полтора назад для своих нужд

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

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

сейчас в основном пихают кокпит он что лучше сабжа ?

mx__ ★★★★★ ()

Докатились. Надстройка над надстройкой.

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

Ну да ось тоже надстройка на ядром, а ядро надстройка над ...

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

сабж только вчера оброс публичными исходниками, и вообще это в принципе первая новость о нем

subwoofer ★★★★★ ()

Надстройка над надстройкой и надстройкой погоняет. Нафига?

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

ОС это не надстройка над ядром, а ядро+окружение, которое является средством абстрагирования приложений от железа.

Quasar ★★★★★ ()

Built on top of Docker, Swarm, and Compose, it offers multiple clusters and image registries management and while built on top of Docker, Swarm, and Compose

Yo dawg

sudopacman ★★★★★ ()

Это гденить в серьезном продакшене работает? Или это проект на поиграться?

apmucm ()

Это что-то типа Mesos/Kubernetes? Если да, то чем он лучше/хуже?

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

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

Anakros ★★★★★ ()

Название зачетное.

Но без сравнения с аналогами не взлетит.

alpha ★★★★★ ()

А можно сравнение с Kubernetes, Mesos и тд?

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

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

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

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

Зачем вебинтерфейс?

Для удобства и делегирования обязанностей вестимо.

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

Теперь ждем утилиту управления утилитой управления утилитой управления виртуальными машинами.

А когда выйдет, как мы будем управлят ей? А?

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

Надстройка над надстройкой и надстройкой погоняет. Нафига?

А ты думал хипстеры нужны, чтобы писать что-то полезное? У меня для тебя новости :)

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

То, за что мне деньги платят, умник.

Или ты думаешь, что это сделано бесплатно в свободное от работы время (ц)(тм)?

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

Так что ты написал полезного? Ты-то точно не хипстер?

Anakros ★★★★★ ()

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

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

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

subwoofer ★★★★★ ()

Ух ты, а я думал, что докером уже все наигрались и забросили, как это обычно бывает.

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

Да, точно. Но из ОП все равно не понятно, о чем эта штука, в том топике намного лучше была изложена суть.

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

JFYI

https://github.com/codeabovelab/haven-platform/blob/master/doc/jobs-update.md

Посмотри, как кубернетовцы сделали процесс апгрейда. Манипулируя двумя значениям (max unavailable и max surge) можно описать любую из ваших трех стратегий и даже больше: http://kubernetes.io/docs/user-guide/deployments/#updating-a-deployment

staseg ★★★★★ ()

Да вы там вконец упоролись. Докер, мезос, кубернетес, зукипер где-нибудь сбоку, ранчер, сварм, compose, марафон, haven теперь еще этот (и я ведь наверняка что-то пропустил). Какую проблему решает вся эта шаткая конструкция целиком, ее части по отдельности и почему понадобилось такое большое количество элементов системы - понятно слабо.

slonopotamus ()
Ответ на: JFYI от staseg

Тут немного разные вещи у кбернейтс - blackbox, юзер задает а система что-то там делает. А у нас юзер явно задает _как_ обновлять.

Тем более что в докере есть (или были давно не смотрел) занятные баги - нельзя запустить контейнер использующий тотже порт на ноде который используется другим но остановленным контейнером - тут без явного указания стратегий можно отгрести приключений

subwoofer ★★★★★ ()

Use the following command to start the etcd container:

docker run -d -v /usr/share/ca-certificates/:/etc/ssl/certs \
     -p 4001:4001 -p 2380:2380 -p 2379:2379 --restart=always  \
     -data-dir=data --name etcd0 quay.io/coreos/etcd:v2.3.7  -name etcd0  \
     -advertise-client-urls http://$MASTER_IP:2379,http://$MASTER_IP:4001 \
     -listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001  -initial-advertise-peer-urls http://$MASTER_IP:2380 \
     -listen-peer-urls http://0.0.0.0:2380  -initial-cluster-token etcd-cluster-1 \
     -initial-cluster etcd0=http://$MASTER_IP:2380  -initial-cluster-state new

напомнило шутку про установку генты в три команды.

upcFrost ★★★★★ ()

Отлично! Запости на английском на news.ycombinator.com - там обожают такое

michwill ★★★★ ()

Небезопасно, переписать на раст или закатать в битон

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

битон

Бит, он и в Африке бит, знаете ли... :-)

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

Докатились. Надстройка над надстройкой.

Не ново, netfilter - iptables - ufw(и прочие) давно уже есть.

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

Вы создавали хоть раз вм с помощью virt-install или только через гуй ?

Указание кучи команд с параметрами в одном скрипт файле это хорошая практика. Меньше ошибок делаешь при следующем использовании.

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

ну да, только netfilter это модуль ядра и встроенных средств настройки не имеет, отсюда и растут утилиты для конфигурации: ipfwadm, ipchains, iptables, nftables. А ufw/firewalld/shorewall - это уже ненужные надстройки.

Deleted ()

Как это хозяйство дружит с docker-compose? В readme написано что можно импортировать конфигурацию. Но есть пара вопросов:

Допустим у меня в сорцах есть docker-compose.yml.

1) Могу ли я как-то переимпортировать этот файл при каждом его изменении, насколько это просто делается?

2) Может ли это производится из CI?

Или мне в таком случае Haven не нужен и лучше деплоить с помощью docker-compose на swarm?

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

Вы создавали хоть раз вм с помощью virt-install или только через гуй ?

обычно юзал qemu-system-$arch для qemu, vzctl для openvz и docker для внезапно докера. virt-install не юзал. про наличие адекватного гуя хоть для чего-то из перечисленного не слышал.

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

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

- композ не поддерживает некоторые фичи swarm, и вообще черный ящик потому мы из него лишь первичный импорт поддерживаем, а так есть свой compose-like формат с инклюдами и прочими ништяками

2) Может ли это производится из CI?

- да, там есть api (haven-server:8761/swagger-ui.html)

subwoofer ★★★★★ ()

А системы управления над системой управления у вас нет?

Im_not_a_robot ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.