Maksym
Доброе утро Ребят, есть чаты где можно спросить базовые вещи по ci, не обязательно докер? Т.е. бывают затыки типа как более правильно организовать пайплайн, что хранить как артефакт а что лучше налету, как быть с имеджами - один образ для всех окружений или для локал лучше без образа и в таком роде
Sergey
"базовые" у всех свои
Никита
Maksym
чтобы сразу не брать ентерпрайз уровня проект (который в очереди на автоматизацию), взял потренироваться простую ситуацию (относительно). Тестовый стенд Новый джанго апп, миграции, база с данными, несколько окружений - локал, стейджинг, прод. Как услугу для всего необходимого взял gitlab, стейджинг на heroku, прод наверное без докера для более красивого случая. Разработка распределенная (т.е. не один человек и не все в транк пушат - гитфлоу к примеру), стадии тестирования релизов. сразу несколько вопросов 1. при инициализации нового окружения возникает необходимость создавать пользователей (данные приложения/окружения), как или откуда их брать? Описывать в код (инфраструктура как код) как-то не очень красиво, это ведь данные работы, не фикстуры, описывать отдельный пайп и запускать руками - тоже как-то избыточно. Делать все руками - где CI? Таскать дамп - уже не очень все в коде. 2. локальное окружение. Обычно описываю мейкфайл который билдит, ранает что надо (докер композы), открывает шелы контейнеров - все чтонадо для разработки есть. Но не совсем понятно как быть с имеджами которые билдятся на CI - принято чтобы они имели отношение к локальной разработке или это только для рабочих окружений? т.е. указать и имедж и докерфайл, имедж (с тегом :latest) как кеш использовать или что-то в этом роде. 3. как быть с бекапами и миграциями данных которые как данные приложения, не окружения. К примеру если это сайт и там статьи как часть приложения (к примеру CMS, где вроде как и контент но это часть приложения, статик страницы), как это мержится? тут схожу вывод - выносить в код но не всегда есть такая возможность. Помню еще во времена друпулов/вордпресов было вообще страшно (если такой подход еще актуален) вот такие вопросы периодическо возникают и отнимают многосил/времени на поиски/чтение блогов и не всегда информация полезна и актуальна
Maksym
@devops_ru
спасибо, похоже то что надо)
Sergey
дык какой сиай то(
Sergey
тебя и там тоже самое спросят
Sergey
Gitlab/Jenkins/TeamCity?
Maksym
да, гитлаб, CD скорее, но может есть в закладках какие-то книги/наборы практик которые покрывают такие вопросы? Много кних описывают или корпоративную культуку и взаимодействие между отделами (что тоже важно но пока не про это), ли куча воды как настроить и установить докер/дженкинс и возможно где-то будет полезное (но найти не всегда получается). А вот такие практические вопросы периодически возникают, это как пример
Maksym
спасиб, наверное практики лучше относительно конкретной системы брать, тонкости могут отличаться (к прмеру bitbucket pipelines не имеют своего registry и тд) и от этого напрямую меняется флоу. Видимо я сильно не того боку смотреть начал
Sergey
=)
Никита
еще один, как и я, ньюфаг прибыл
Никита
мне пока рано в CI, у меня другой мозголюбли хватает, с докером
Ильдар
https://a.d-cd.net/ca6aea4s-960.jpg
Oleg
Как перезапустить pod?
Lev
Как перезапустить pod?
Тебе в чат по кубернетам, наверное. В описании ссылка
NM
Вот кстати полностью соглашусь тоже куча траблов была https://www.webhive.ru/2018/06/13/what-is-wrong-with-coreos/
NM
Пока ничего лучше Centos в проде для докеров не вижу
NM
Никто не юзал для прода https://blog.selectel.ru/budet-ispolneno-gospodin-admiral/ ?
George
@magnaZ
NM
да было бы замечатенльо, просто куча проблем возникает в обновлении системного окружения когда нужно что то подкрутить к модулям
George
«Установку Kubernetes я проводил с помощью kubeadm. Первым начал ругаться kubelet заявивший при старте, что версия docker-а слишком новая и типа «используйте на свой страх и риск». Блин — это немного не то, чего я ожидал от стабильной системы заточенной на запуск kubernetes.» подтвержу. Но это проблема и не системы, и не куба
George
возможно, просто организационный вопрос, что им нужно лучше синхронизироваться с мейнстримом куба
Andrey
Вот кстати полностью соглашусь тоже куча траблов была https://www.webhive.ru/2018/06/13/what-is-wrong-with-coreos/
"я бы не рекомендовал использовать CoreOS для серьёзных применений" - я бы не стал руководствоваться мнением человека, который даже не понял use-case CoreOS
NM
Соглашусь. ТОлько я думаю что можно было хотя бы ansible там оставить в system image 😉
NM
чтобы даже через REST API работать
Andrey
зачем ансибл, если у них ignition?
NM
переходный период увы, много старого от RHEl like шаблонов развертывания
George
я ссылочку на человека с кореос в проде дал
George
есть еще отдельная телеграм группа
George
в общем-то я ничего гипер-криминального не увидел
Jürgen
ничего скро кореос будет в рхеле по самые уши)
NM
ничего скро кореос будет в рхеле по самые уши)
Я думаю что у IBM будет что то свое 😉
Andrey
у них свой рхел :)
Jürgen
не зря кореось уже начали в шифт засовывать
NM
аааа....вот оно что !
Jürgen
ну так уже и панелька от туда переехала так что кореос будет жить
NM
зато умрет atomic 😉
Jürgen
его уже пару лет депрекейтнуть хотят
NM
Как все начиналось ведь хорошо https://www.redhat.com/en/about/press-releases/red-hat-acquire-coreos-expanding-its-kubernetes-and-containers-leadership
Filipp
привет всем. давно не копался в докере и походу что-то упустил в изменениях. когда я запускаю контейнер docker run --rm -t -i -v /path/to/project:/var/www php:7.0 bash а затем внутри php -S 0.0.0.0:80 -t /var/www то зная IP контейнера, я могу постучатся на этот сервер с хост машины или даже из другого контейнера (будь он в том же default сети). вопрос: что же тогда делает --expose 80 как опция команде run? что с ней, что без нее - я могу достучатся до сервера.
Filipp
нет нет) я специально уточнил, как опция команде run
Filipp
я пока что наблюдаю лишь одно отличие с этой опцией: в колонце PORTS при выводе docker ps я вижу этот порт. без опции - не вижу. но доступ есть что так, что эдак. не понимаю её (опции) истинного предназначения
Filipp
судя по документации, у меня сложилось впечатление, что --expose откроет порт для доступа снаружи контейнера. чтоб не было последствий даже если и были противомерные попытки "левого процесса" открыть порт на "левом" порту. это как я это понимал
George
вероятно, рудимент от старых времен, имхо
✙ DarkKC ✙
судя по документации, у меня сложилось впечатление, что --expose откроет порт для доступа снаружи контейнера. чтоб не было последствий даже если и были противомерные попытки "левого процесса" открыть порт на "левом" порту. это как я это понимал
https://docs.docker.com/engine/reference/builder/#expose The EXPOSE instruction does not actually publish the port. It functions as a type of documentation between the person who builds the image and the person who runs the container, about which ports are intended to be published. To actually publish the port when running the container, use the -p flag on docker run to publish and map one or more ports, or the -P flag to publish all exposed ports and map them to high-order ports.
Filipp
у тебя есть опция -p. Зачем —expose - не могу понять
> у тебя есть опция -p. это разные вещи. мне не нужно паблишить порты контейнера на хост. > Зачем —expose - не могу понять я с этим вопросом пришел сюда. зачем эта опция. вдруг кто-то мне обьяснит
George
https://docs.docker.com/engine/reference/run/#expose-incoming-ports
George
т.е. ВРОДЕ как expose нужен, когда у тебя есть частная сеть МЕЖДУ контейнерами и ты хочешь, чтобы один контейнер ходил в другой, но не через хостовый интерфейс
George
но фактически, по-моему, это никогда не работало. Оно не настраивает правила файрволла, селинукса и прочего. Но может у меня дистрибутивы линукса были не те
George
а линкование контейнеров сейчас вообще депрекейтед
Filipp
невнимательно читаешь
ребята. не будьте столь предвзяты. > читни выше > практичски используется только с опцией -P для открытия всего что экспозед я знаю как использовать EXPOSE из докерфайл опцией -P. я спрашивал о другом. но спасибо за помощь
Filipp
это кажется то, что мне нужно было
Filipp
спасибо за внимание
George
ну, если есть что добавить - добавляй )
George
может и я тоже неправ )
George
@pyToshka а ты что скажешь за expose?
Filipp
ну судя из доки у меня похожее представление было, но я провел эксперимент, и это не подтвердилось. сейчас я вспомнил, что там же куча разных драйверов сети, и вероятно на каком-то из них --expose и нужен будет, т.е. эксперимент у меня не удачный был
Jürgen
эм а что за него сказать он есть))
✙ DarkKC ✙
может и я тоже неправ )
насколько я помню, контейнеры внутри одной докер-сети и без экспоуза видят друг друга полностью... Или я ошибаюсь?
Filipp
потому и задался вопросом "а expose тогда зачем?"
Jürgen
expose это вообще не про внутренюю сеть
George
expose это вообще не про внутренюю сеть
расскажи свою точку зрения
✙ DarkKC ✙
потому и задался вопросом "а expose тогда зачем?"
похоже только как заметки тем кто будет саппортить твои докера, и как указание чо экспозить для -P :)