@ru_docker

Страница 31 из 610
Magistr
08.07.2016
09:16:39
есть тот же k8s зачем самому его писать и собирать грабли

Alexander
08.07.2016
09:17:00
если кластер - то да, лучше что-то такое ставить

если одиночный сервер - свой костыль будет проще поддерживать

Magistr
08.07.2016
09:17:53
свой костыль всегда сложней поддерживать

Google
Magistr
08.07.2016
09:18:37
ну да чужой сложней а чужой еще и индуский вообще ад

а вообще есть готовые инструменты пользуйтесь

Alexander
08.07.2016
09:19:38
k8s и mesos - это клёвые вещи, я очень за, но если нужно просто (пере)запустить службы на 1 сервере - разве не будет оверхёдом ставить всё это на одиночный сервер?

своё решение, генерирующее .service-файлы напитонить довольно просто

Magistr
08.07.2016
09:20:20
когда у тебя 2 контейнера тогда и любой инит скрипт, а когда уже 3 и больше то надо делать нормально

Alexander
08.07.2016
09:20:22
это будет небольшой скрипт в пределах 100 строк

если у нас одиночный сервер, мы хотим BGD, тогда каким-то образом (например, через консоль или боту в телеграмме или HipChat'е) мы посылаем команду upgrade 1.2.3 (номер версии) скрипту , он делает следующее: берёт шаблоны Postgres, Nginx, uWSGI для service-файлов контейнеров (допустим, у нас три контейнера - база, основной код и статика/медиа + какой-нибудь прокси, который нужен ичключительно для переключения трафика для BGD), подставляет туда этот номер версии 1.2.3 (допустим, там есть слово VERSION везде в командах и он его заменяет вот этот 1.2.3) копирует их в /etc/systemd/system/ делает systemctl daemon-reload делает systemctl enable ... для каждого service-файла делает systemctl start ...-1.2.3 - это поднимает контейнеры далее патчит upstream на балансировщике и делает его reload (допустим, там nginx), в итоге трафик перестаёт идти на старые контейнеры, и идёт на новые останавливаем старые контейнеры, удаляем старые service-файлы вот и весь скрипт в а .service-файлах у нас пулл, стоп, рм, старт контейнера (не важно, что там - Rkt/Docker/что-то ещё)

мне кажется, написать этот скрипт проще, чем что-то внедрять

а, да, кроме версии надо передавать ещё идентификатор проекта, если проектов тут на сервере больше 1

Magistr
08.07.2016
09:38:58
ну да написать свой клон ansible проще )) чем с полпинка 1й командой поставить k8s которые делает это да еще и граничные условия ради тебя учли и соломки подложиди

Google
Alexander
08.07.2016
09:40:31
да всё равно что-то дописывать придется, вот эти системы умеют с hipchat интегрироваться чтобы туда выкладывать отчёты или получать оттуда команды?

просто если задача элементарная - проще самому 100 строчек написать, чем разбираться в чужом коде

в сложных случаях, конечно, стоит ставить те системы

Magistr
08.07.2016
09:41:54
попробуй потом говори что придеться.. интеграции с чатами это вот самое ненужное что есть

для элементарной задачи bgd есть элементарный инструмент k8s и все, если хочешь потратить время разработчика на копирование это работы ну твое желание только пользы это никому непринесет

Alexander
08.07.2016
09:46:29
ну это такой довольно классический спор о том, что проще - конфигурировать что-то или программировать

впрочем, k8s - хорошая система и она мне нравится, когда-нибудь с ней тоже разберусь)

к слову, всё ещё больше упрощается, если BGD не нужен - тогда .service файлы делаются 1 раз и обновление проекта происходит куда проще

а в случае, когда мы хотим не использовать systemd вообще, видимо, придётся или где-то в Evernote'е хранить эти команды со всеми параметрами и копипастить оттуда или делать alias в /root/.bashrc

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

Magistr
08.07.2016
11:01:37
Зачем вообще тогда разговаривать о сайтах визитках, там ничего ненужно

А там где появляются задачи для докера уже нужно думать, и делать норм

ptchol
08.07.2016
13:10:47
Слушайте, а можно примаунтить контейнер собранный как вольюм для другого контейнера ?

Алексей
08.07.2016
13:11:56
volumes_from ?

ptchol
08.07.2016
13:12:13
Суть такая, что есть публичный имидж, он довольно толстый и сложный, поэтому тащить на саппорт его не хочется. Там внутри лежит код на питоне, и этому коду можно через envvar указать нечто вроде "Additional_libraray_path". Так вот, эти либы хочется собирать и таскать в отдельном конейтенере.

Вольюмс фром вроде как примаунтит теже тома, что примаунчены к другому контейнеру, нет ?

Алексей
08.07.2016
13:12:58
нет

оно примаунтит тома того контенера

ptchol
08.07.2016
13:13:50
ну да, но само содержимое контейнера же я не смогу увидеть.

R-omk
08.07.2016
13:14:11
сможешь, для этого и нужен volumes_from

Google
R-omk
08.07.2016
13:14:27
иначе зачем он вообще

Алексей
08.07.2016
13:15:31
volumes_from как раз оно.

ддля реализации концепции data_only контейнер

ptchol
08.07.2016
13:17:41
тоесть смысловая нагрузка опции volumes_from вроде как "том сделанный из имиджа" а не "тома вытащенные из имиджа"ю

Алексей
08.07.2016
13:18:44
как раз тома вытащенные из имиджа

просто в дата контейнере тебе надо объвить директорию с нужными тебе данными как volume

и у тя получается аццкая конструкция которая работает как раз как тебе надо

Alexander
08.07.2016
13:37:01
Зачем вообще тогда разговаривать о сайтах визитках, там ничего ненужно
ну, вот в качестве апгрейда сервера для шареда на докер

допустим, условно, есть у вас веб-студия с manаged-shared'ом, надо же как-то от shared'а вперёд двигаться

Алексей
08.07.2016
14:11:23
в Dockerfile сделать директиву VOLUME

и всё

Алексей
08.07.2016
14:11:40
ну и указать на нужную тебе директорию конечно

R-omk
08.07.2016
14:48:18
в Dockerfile сделать директиву VOLUME
Верно ли что контейнер с данными можно обновить без остановки того кто его использует?

Вряд ли конечно.. volume именован и привязан к конкретному контейнеру

Алексей
08.07.2016
14:51:36
но кейс интересный

а если там открытые файлы ?

а если на запись ?

R-omk
08.07.2016
14:52:06
Ну я поразмыслил и решил что нет.. темболее открытые файлы

Google
R-omk
08.07.2016
14:52:48
На самом деле довод о том что у волума есть имя и связь абсолютно убедителен

Алексей
08.07.2016
14:52:49
я так себе делал. у меня php-fpm был одним контерфенром а код другим

но монтировал я его на ro

и перезапускал пачкой

R-omk
08.07.2016
14:53:43
я так себе делал. у меня php-fpm был одним контерфенром а код другим
Мне примерно так же нужно, что бы еще те же данные в nginx были на случай внезапной статики

Алексей
08.07.2016
14:53:52
ага да

R-omk
08.07.2016
14:54:17
Но я спроектировал с полным перезапуском и переключением через haproxy

Потому как переливать файлы налету вообще не есть правильно

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

Aleksandr
08.07.2016
16:01:55
парни, а кто нибудь использовал это - www.weave.works ??? в связке swarm + compose ?

Admin
ERROR: S client not available

Алексей
08.07.2016
16:06:55
парни, а кто нибудь использовал это - www.weave.works ??? в связке swarm + compose ?
зачем ? оно поверх libpcap. скорость сети по тестам что то типа 21мегабит

Aleksandr
08.07.2016
16:07:17
где? ткните пальцем

про 21 мегабит

Алексей
08.07.2016
16:08:22
где? ткните пальцем
тесты легко ищутся.

Aleksandr
08.07.2016
16:11:41
а overlay как на 1 гигабите например, сколько выжать можно будет?

Evgeny
08.07.2016
16:11:48
980

Google
Aleksandr
08.07.2016
16:12:03
откуда такие цифры?

Evgeny
08.07.2016
16:12:10
с моей инсталяции

с двух точнее

Алексей
08.07.2016
16:12:33
с моей инсталяции
а чего на шлюзе и как шлюзуешь ?

докером ?

Evgeny
08.07.2016
16:12:45
overlay - это внутри сети

R-omk
08.07.2016
16:13:25
Да там ходить далеко не надо, там вся сеть на цпу работает

Aleksandr
08.07.2016
16:14:31
получается, самое быстрое и чтобы не ело cpu - это бридж на хост машине ?

Kirill
08.07.2016
16:14:51
логично, как по мне

Evgeny
08.07.2016
16:15:40
--net=host

Kirill
08.07.2016
16:16:37
--net=host
не всегда это стоит делать, насколько я заметил

Evgeny
08.07.2016
16:18:08
Это быстрее всего

Алексей
08.07.2016
16:19:40
overlay - это внутри сети
оверлей все равно надо шлюзовать

Evgeny
08.07.2016
16:19:50
Это докером, да

Алексей
08.07.2016
16:19:53
кто то же должен снять udp

ага

R-omk
08.07.2016
16:20:01
overlay - это внутри сети
Да ладно, как ты столько 980 выжал? Небось цпу половина на это расходуется

Алексей
08.07.2016
16:20:03
тоесть ядром по факту

либо сетевуха умеет офлоад

Алексей
08.07.2016
16:20:33
но я таких не видел

Aleksandr
08.07.2016
16:21:16
просто вопрос, разворачивать прод,как там с сетью, на которой нагрузка может быть по 300-500 мегабит. сможем ли такой трафик доставить в контейнеры...

Страница 31 из 610