Denis
А чем Rkt в своём конфиге отличается от Dockerfile?
Denis
Можешь показать пример?)
Alexander
из конфигов у меня там только авторизация на докерхабе и всё
Alexander
просто json
Denis
Какой нибудь из туториала?
Denis
Что нибудь
Alexander
вот пример
Alexander
#ExecStart=/usr/bin/docker run --name byvshie -p 17100:8001 -v byvshie-media:/usr/src/app/www/htdocs/media -e ENV=production -e DATABASE_HOST=172.17.0.1 -e DATABASE_PORT=48002 --cpuset-cpus="4,5" lorddaedra/entropia:byvshie-latest ExecStart=/usr/bin/taskset -c 4,5 /usr/bin/rkt --insecure-options=image run --port=8001-tcp:17100 --volume byvshie-media,kind=host,source=/var/lib/docker/volumes/byvshie-media/_data --mount volume=byvshie-media,target=/usr/src/app/www/htdocs/media --set-env=ENV=production --set-env=DATABASE_HOST=172.17.0.1 --set-env=DATABASE_PORT=17102 docker://lorddaedra/entropia:byvshie-latest
Alexander
вверху как было с докером, внизу как стало с Rkt'ом
Alexander
то есть те же параметры, просто немного иначе запихиваются в командную строчку
Alexander
ну, вот из наблюдений, при указании имени volume'а нельзя использовать точки, я их заменил на дефисы
Alexander
byvshie-media нельзя было бы написать как byvshie.media
Alexander
а в докере можно
Alexander
ну ещё нет встроенной возможности ограничить ядра, это через taskset
Alexander
при конвертации из докера он порты называет как 8001-tcp если там был порт 8001
Alexander
если сам собираешь через acbuild - то, конечно, любое название можно дать
Denis
Странно)
Alexander
у меня сейчас все контейнеры запущены путём конвертации докер-образа в .aci
Alexander
то есть они все собирались через Dockerfile'ы
Anonymous
апдейты в кореос - бомба
Anonymous
поменял канал - пришел апдейт, сделал рестарт
Anonymous
свежий докер)
Etki
глубоко не копал, но контейнеры с uwsgi, nginx, postgresql запускаются ок
ну конечно это изнутри контейнера приходит директива на клонирование, в бинарник пшп случайно затесался баг, который коннектится к апишке менеджера контейнеров и дублирует текущий
Aleksey
апдейты в кореос - бомба
как с управляемостью ?
Aleksey
сервисы при этом разъехались ?
Anonymous
у меня маленький сетап на 3 ноды без сервисов пока, вчера засетапил, сегодня на другой канал переключался. апдейт сервис увидел апдейт, сам его накатил по рестарт полиси рестартанул ноды с локом. Удобно
Anonymous
надо будет сервисов поднять и посмотреть как они разъезжаться будут, да
Alexander
сейчас я просто пока оставил этот контейнер на докере
Alexander
мне интересно, что там с сеткой
Alexander
кто как делает
Alexander
варианты разные есть
Alexander
мне бы как попроще
Alexander
Марину в баню
Alexander
Превентивно
Anonymous
А кто как настраивает хосты уже после сетапа? ansible?
Anonymous
или cloud-config правите и запускаете coreos-cloudinit?
Anonymous
terraform?
Aleksey
@lorddaedra я встречал от вас мнене что systemd прекрасен и вы его фанат
Aleksey
и что это единственный вариант для 2016 года.
Aleksey
но скажите же мне чем его мониторить ?
Aleksey
где информация метрического характера ?
Aleksey
сколько раз перезаускалась служба ? сколько времени работал скрипт ?
Aleksey
где вот это все ?
Alexander
@lorddaedra я встречал от вас мнене что systemd прекрасен и вы его фанат
насчёт фанатизма - systemd лучше, чем upstart и sysvinit
Aleksey
ок. лучше. пусть.
Aleksey
но хуже банального monit с точки зрения не запуска системы, а управления системой...
Alexander
управляется через systemctl, есть стандартные команды start, stop, status, restart
Alexander
можно разбить проект на разные сервисы, объединить их в 1 .target и поставить зависимости, определяющие порядок запуска
Aleksey
Саша, ну мониторинг же?
Alexander
например, чтобы СУБД всегда запускалась раньше, чем nginx
Aleksey
сколько раз падала служба ?
Aleksey
точнее не так
Aleksey
сколько раз системд ее перезапустил ?
Alexander
если оно там падает - он умеет перезапускать
Alexander
ну и ещё есть watchdog
Alexander
WatchdogSec= Configures the watchdog timeout for a service. The watchdog is activated when the start-up is completed. The service must call sd_notify(3) regularly with "WATCHDOG=1" (i.e. the "keep-alive ping"). If the time between two such calls is larger than the configured time, then the service is placed in a failed state and it will be terminated with SIGABRT. By setting Restart= to on-failure, on-watchdog, on-abnormal or always, the service will be automatically restarted. The time configured here will be passed to the executed service process in the WATCHDOG_USEC= environment variable. This allows daemons to automatically enable the keep-alive pinging logic if watchdog support is enabled for the service. If this option is used, NotifyAccess= (see below) should be set to open access to the notification socket provided by systemd. If NotifyAccess= is not set, it will be implicitly set to main. Defaults to 0, which disables this feature. The service can check whether the service manager expects watchdog keep-alive notifications. See sd_watchdog_enabled(3) for details. sd_event_set_watchdog(3) may be used to enable automatic watchdog notification support.
Aleksey
Саша, ну простой вопрос. Сколько раз перезапустил то ?
Alexander
по данному вопросу я не смогу чего-то конкретное сказать- у меня вообще нет никакой системы мониторинга, она не нужна моим проектам, там тупо проверка того, работает ли конкретно сейчас на таком-то порту сайт или нет, возвращается 200 статус или нет, вот и весь мониторинг
Alexander
просто сторонний SaaS это мониторит и отправляет смски если что-то не работает
Alexander
но, наверное, как-то можно вытащить эти данные, если нужно
Alexander
я просто не углублялся в эти вещи
Aleksey
ну тоесть сисемд в году посвященном мониторингу и управляемости сервисов, когда все с ума сходят по метриам ну умеет две важные вещи. 1. рассказывать как у него идут дела 2. http api. docker всё это делает. но он плохой. так ?
Alexander
а вот у CoreOS как раз-таки есть какой-то сервис для управления systemd через http api или как-то так
Alexander
в CoreOS есть Fleet, это как глобальный systemd уровня кластера
Alexander
там идёт взаимодействия с systemd каждой ноды
Alexander
я бы посоветовал покопать его и посмотреть, как они там это сделали технически
Alexander
предполагаю, что там как раз и отыщется этот http api
Alexander
или какой-то его близкий аналог
Alexander
> docker всё это делает. но он плохой. так ? докер хороший стартап)
Alexander
просто лично мне он не очень нравится, каждому своё
Aleksey
докер инструмент который реализует функционал.
Aleksey
тот же системд посзволяет задать порядок исполнения команд запуска.
Alexander
про мониторинг systemd - не знаю, насколько красивое решение, но можно опрашивать status и там будет Active: active (running) since Tue 2015-01-27 19:41:23 EST; 22h ago
Aleksey
можно сказать что бы команда назапуск субд была отдана раньше команды на запуск приложения.
Alexander
то есть если изменилась эта дата - значит, сервис или падал или перезапускался
Aleksey
но _нельзя_ сказать что бы команда на запуск приложения была отдана после запуска субд.
Alexander
про systemd - я не считаю его идеальным, но когда вопрос стоит, что лучше, systemd vs docker или systemd vs upstart или systemd vs sysv, то я бы предпочёл systemd
Aleksey
а в докере можно будет скоро.
Alexander
ну, я не хейтер докера)