Aleksey
это ты сейчас так думаешь. но на самом деле знаешь - любое изменение - оно jpeg.
Alexander
склеивает вот те слои в один и добавляет манифест и всё
Aleksey
а если манифест плохой ?
Aleksey
а если при слекйлки конфликты с правами ?
Alexander
теоретически вероятность глюков есть
Alexander
но вряд ли на практике кто-то об этом будет думать
Alexander
вероятность, что метерорит в датацентр попадёт, ведь тоже есть
Alexander
но если это так важно - можно и правда отдельно собрать
Alexander
через acbuild
Aleksey
так вот эта твоя конвертация все и испортит.
Aleksey
но собирать на машине разработчика нельзя
Aleksey
у нег оведь венда
Aleksey
или не дайто бох мак
Alexander
а там пофиг - всё равно вагрант
Aleksey
а значи все снова идет лесом
Alexander
вагрант с виртуалкой, как и докер буквально пару месяцев назад
Alexander
вообще, не сложно иметь отдельный Dockerfile для IDE, для разработки проекта и какой-нибудь билд скрипт для создания образа Rkt с помощью acbuild
Alexander
это всё равно делается 1 раз и потом редко меняется как-либо
Alexander
и это имеет смысл потому что IDE любят запихивать что-то ненужное
Alexander
у меня и с докером так же сейчас - один докерфайл просто для разработки, из него стартует контейнер, который привязан к IDE
Alexander
и IDE туда какие-то хелперы залила зачем-то
Alexander
а второй - почти такой же, для запуска на сервере
Alexander
первый в CMD ничего не запускает (но через IDE я могу в нём запустить dev-сервер), второй запускает нужный мне сервис для продакшена
Alexander
почему первый не запускает dev-сервер сразу - потому что если там вдруг буду делать миграции данных, он выключит этот процесс и с ним всё упадёт, в том числе и миграция
Alexander
если проект маленький - то второй билдится прямо на машине разработчика, если серьёзный - то, конечно через CI
Alexander
ну и вот тут Rkt вполне может влезть и те инструкции для билда в CI можно заменить на .sh с acbuild-командами
Alexander
а если на машине разработчика билдится - тот тут уж лучше докер и потом конвертировать - так проще всем
Anonymous
вторая причина - у меня OS X и там докер работает лучше (более нативно), а для Rkt нужна виртуалка через Vagrant
И то, и другое через виртуалку. В чем проблема запускать ту же виртуалку для rkt?
Alexander
сейчас там какая-то более нативная виртуалка
Alexander
не через виртуалбокс
Alexander
я про Docker for Mac
Anonymous
сейчас там какая-то более нативная виртуалка
Вот и используй эту "какую-то более нативную", в чем проблема?
Alexander
там только докер
Alexander
она ставится вместе с программой докер
Alexander
я не могу там что-то ещё сделать
Anonymous
Xhyve
Alexander
да
Alexander
то есть там всё очень просто работает
Alexander
с Rkt пока сложнее
Alexander
ну и аналогично с поддержкой в IDE - Rkt'а там нет
Alexander
оно может появиться в будущем
Alexander
но вот пока докер выигрывает
Anonymous
Что "да"? Это средство виртуализации, как qemu. Неправильно говорить " использует более нативную ". Правильно говорить " мне лень настраивать ".
Alexander
ну, в маке не принято что-то настраивать
Alexander
за это и любят
Anonymous
ОК
Alexander
перетащил программу в папочку - и она заработала
Anonymous
Папочку
Alexander
да, сама программа - это архив и там всё
Alexander
но я этого не вижу, это всё магия для меня
Alexander
нужно просто перетащить кита и готово
Alexander
на сервере тоже просто, я фактически заменил 4-5 строчек с докером на другие несколько строчек с ркт и готово
Alexander
а если вот на клиенте ставить Rkt и дружить его с IDE - это всё будет менее удобно (конкретно сейчас, завтра может поменяться)
Denis
Парни, а как правильней журнал отфильтровать, чтобы причину посмотреть? Update Strategy: No Reboots Failed Units: 1 user-cloudinit@var-lib-coreos\x2dinstall-user_data.service
Anonymous
Можешь по -u unit.name
Denis
пять сек)
Denis
А что будет unit.name в этом случае?
Denis
user-cloudinit не работает
Denis
полное имя тоже
Denis
Вот рабочая команда: sudo journalctl -xep3
Denis
-- Reboot -- Aug 22 16:16:56 localhost systemd-udevd[243]: RUN{builtin}: 'uaccess' unknown /usr/lib64/udev/rules.d/73-seat-late.rules:15 Aug 22 16:16:57 localhost systemd-udevd[243]: RUN{builtin}: 'uaccess' unknown /usr/lib64/udev/rules.d/73-seat-late.rules:15 Aug 22 16:16:57 localhost kernel: megaraid_sas 0000:01:00.0: Init cmd success Aug 22 16:16:57 localhost kernel: megaraid_sas 0000:01:00.0: INIT adapter done Aug 22 16:16:58 localhost systemd-fsck[933]: fsck failed with error code 8. Aug 22 16:16:58 loadbal1 systemd-udevd[1077]: RUN{builtin}: 'uaccess' unknown /usr/lib64/udev/rules.d/73-seat-late.rules:15 Aug 22 16:16:59 loadbal1 systemd[1]: dev-disk-by\x2dlabel-USR\x2dA.device: Dev dev-disk-by\x2dlabel-USR\x2dA.device appeared twice with different sysfs paths /sys/devices/pci0000 Aug 22 16:16:59 loadbal1 systemd-networkd[1431]: [/etc/systemd/network/00-eno1.network:8] Failed to parse boolean value, ignoring: 9000 Aug 22 16:17:00 loadbal1 systemd[1]: dev-disk-by\x2dlabel-USR\x2dA.device: Dev dev-disk-by\x2dlabel-USR\x2dA.device appeared twice with different sysfs paths /sys/devices/pci0000 Aug 22 16:17:00 loadbal1 systemd[1]: Failed to start Load cloud-config from /var/lib/coreos-install/user_data. -- Subject: Unit user-cloudinit@var-lib-coreos\x2dinstall-user_data.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit user-cloudinit@var-lib-coreos\x2dinstall-user_data.service has failed. -- -- The result is failed. Aug 22 16:17:04 loadbal1 systemd-udevd[1077]: RUN{builtin}: 'uaccess' unknown /usr/lib64/udev/rules.d/73-seat-late.rules:15 Aug 22 16:17:07 loadbal1 etcd2[4161]: failed to write c024db3206d5ed58 on pipeline (dial tcp 10.91.119.198:2380: i/o timeout) Aug 22 16:17:44 loadbal1 systemd[1]: dev-disk-by\x2dlabel-USR\x2dA.device: Dev dev-disk-by\x2dlabel-USR\x2dA.device appeared twice with different sysfs paths /sys/devices/pci0000 Aug 22 16:17:44 loadbal1 systemd[1]: dev-disk-by\x2dlabel-USR\x2dA.device: Dev dev-disk-by\x2dlabel-USR\x2dA.device appeared twice with different sysfs paths /sys/devices/pci0000 Aug 22 16:18:03 loadbal1 systemd[4346]: user@1000.service: Failed at step PAM spawning /usr/lib/systemd/systemd: Operation not permitted -- Subject: Process /usr/lib/systemd/systemd could not be executed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- The process /usr/lib/systemd/systemd could not be executed and failed. -- -- The error number returned by this process is 1.
Denis
Что это за ошибки?
Denis
факоф: $ sudo coreos-cloudinit -validate --from-file /var/lib/coreos-install/user_data 2016/08/22 17:47:08 Checking availability of "local-file" 2016/08/22 17:47:08 Fetching user-data from datasource of type "local-file" 2016/08/22 17:47:08 line 354: error: found a tab character where an intendation space is expected 2016/08/22 17:47:08 line 0: warning: incorrect type for "" (want struct) :)
Anonymous
Alex
Там вроде докер для мака работает на маковом ядре да?
Maxim
нет
Alex
нет
А как? виртуалбокс?
Maxim
просто с виртуалбокса съехали на xhyve
Alex
круть, спасибо. Это многое объясняет
Maxim
$ uname -a Darwin alais.local 15.6.0 Darwin Kernel Version 15.6.0 $ docker run -it --rm alpine uname -a Linux f55a4140d14f 4.4.15-moby
Maxim
вот 4.4.15 - это ядро в линукс-виртуалке-внутри-xhyve
Alex
круть, спасибо еще раз.
Denis
Парни, а вот такой вопрос из нашего обсуждения с Максимом в @kubernetes_ru - как лучше организовать обновление cloud configs в автоматическом режиме? Есть по сути несколько операций: - обновление сервиса с сохранением СС - сохранение файла в ФС с сохранением в CC
Denis
Ansible?
Anonymous
Забирать его по сети при старте?
Denis
Интересно, а как?
Anonymous
Kernel command line: cloud-config-url=http://example.com/user_data. You can find this string using this command cat /proc/cmdline. Usually used in PXE or iPXE boots. Из доки: https://coreos.com/os/docs/latest/cloud-config-locations.html
Denis
Perfect! :) Спасибо
Anonymous
Но имей в виду, что при потери сети или сбое на раздающем сервере, ты не сможешь получить получить конфигурацию