@kubernetes_ru

Страница 165 из 958
Victor
30.04.2017
19:38:47
ладно, спасибо за советы) глупо идти против best practiсe, поэтому пока вместо понимания смирюсь)

интересно было бы послушать мнение @idvoretskyi как разработчика, так сказать, из первых уст

Andrey
30.04.2017
19:40:03
ладно, спасибо за советы) глупо идти против best practiсe, поэтому пока вместо понимания смирюсь)
Нельзя мириться. Сломай систему, наступи на грабли, а уже только потом смирись )

Google
Andrey
30.04.2017
19:43:17
Тогда я наверно контекста не понял, сори

Fike
30.04.2017
19:43:50
Все равно под состоит из контейнеров и "ой, завалилось" начнется с выхода контейнера

Так ладно прекращаю писать непонятное

Andrey
30.04.2017
19:44:42
Не факт что падение контейнера приведет к решедулингу или ещё каким реакциям

Повиснет в статусе completed и все ;(

Я про "падение" с кодом 0

Victor
30.04.2017
19:48:21
вопрос, как задумывалось - билдить приложение в образ all-in-one или настраивать микросервисы и мапить туда исходники?

Ihor
30.04.2017
19:49:26
зависит от приложения, но по-нормальному - микросервисы

Fike
30.04.2017
19:50:29
Google
Victor
30.04.2017
19:50:42
зависит от приложения, но по-нормальному - микросервисы
вот и у меня сейчас на микросервисах, но сообщество отговаривает)

Fike
30.04.2017
19:50:54
да, я понимаю, что под переподнимается целиком в случае чего

Ihor
30.04.2017
19:51:29
для оператора куба
да без разницы. Кубернетес не оперирует контейнерами непосредственно

Fike
30.04.2017
19:51:40
как он тогда работает-то? )

Ihor
30.04.2017
19:52:05
мало того, в случае с решениями типа virtlet - даже о контейнерах речь не идет

да, контейнеры под капотом. Но если мы говорим именно о единице для operations - это pod. Внутри него контейнеры, но это другой уровень абстракции

Fike
30.04.2017
19:54:02
с виртлетом не работал, но я все-таки глубокую внутрянку тогда имел в виду.

Ihor
30.04.2017
19:54:37
да, тогда контейнеры (или что там внутри пода)

Victor
30.04.2017
19:55:27
@idvoretskyi подскажите способы мапить, если не сложно. в идеале, хотелось бы собирать volume, давать ему label с версией и монтировать в контейнер

Ihor
30.04.2017
19:55:41
Оффтоп: аналогично люди заблуждаются когда говорят что с помощью Kubernetes управляют приложениями. Kubernetes менеджит сервисы, не приложения. Приложения - на уровень выше сервисов

Victor
30.04.2017
19:56:19
да

Fike
30.04.2017
19:56:32
Ihor
30.04.2017
19:56:50
а зачем их мапить в вольюм? Есть же git и прочие svn

Victor
30.04.2017
19:57:01
а зачем их мапить в вольюм? Есть же git и прочие svn
с фронтом не всё так гладко выходит, там extjs, его предварительно собирать надо, и в планах так и сделаю, но пока хотел просто собраные файлы замапить и попал в тупик

Andrey
30.04.2017
19:59:13
Ложи в configmap (шутка, не надо ;)

Victor
30.04.2017
19:59:28
-_-

не до такой уж степени я и профан)

Ihor
30.04.2017
20:00:04
ну можно в вольюм, почему​ б и нет

Google
Ihor
30.04.2017
20:00:43
но лучше собирай готовый имейдж - так проще будет (если я правильно понимаю проблему)

Victor
30.04.2017
20:02:52
ну так и советуют. только сейчас у меня имейдж nginx, на котором фронт, и все урлы api и rest перенаправляются на fpm, на котором бэк. а придется из всего этого один образ собирать

что по идее идет вразрез с философией докера, где один сервис - один образ

Fike
30.04.2017
20:04:37
я бы просто роутер добавил входным сервисом

либо контейнер со статикой им сделал

Artem
30.04.2017
20:07:29
Действительно, что мешает воткнуть ещё один nginx перед ними который будет разруливать запросы?

В образах и роллбэк гораздо удобнее делать в случае косячного билда

Victor
30.04.2017
20:10:05
т.е. билдить fpm с мапом гита, nginx со статикой и еще nginx для роута?

Artem
30.04.2017
20:26:38
ну статику модно наверное замонтировать через volume

Fike
30.04.2017
20:26:46
зачем

Artem
30.04.2017
20:27:01
ну чтобы образы не обрастали

Fike
30.04.2017
20:27:21
вместо этого будет обрастать человек, менеджащий инфраструктуру

Artem
30.04.2017
20:27:39
мало ли у них там пару гигов мусора в статике

Fike
30.04.2017
20:27:44
деплойменты тоже из деплойментов станут чем-то странным

Artem
30.04.2017
20:27:57
ну а так да, просто статику в образах можно держать тоже

Fike
30.04.2017
20:28:03
разве два гига - это сильно неподъемно?

Artem
30.04.2017
20:28:50
ну смотря для кого, я просто привык что у меня образы по 50-200мб на сервисах

у всех по разному конечно

Fike
30.04.2017
20:31:10
да, держать надо больше, но это все равно дешевле, чем лишнее звено вводить

hardware is cheap, people are not

Google
Victor
30.04.2017
20:56:47
А собрать два образа? Nginx+front и fpm+back?
сейчас так и работает. точнее, fpm не билдится, там имейдж с хаба и мап гита, а nginx да, буду билдить

Victor
30.04.2017
20:58:34
https://kubernetes.io/docs/concepts/storage/volumes/#gitrepo

Konstantin
30.04.2017
21:00:03
Спасибо

А собирать в образ не лучше/быстрее?

Victor
30.04.2017
21:02:46
зависит от ваших предпочтений, если хотите микросервисы, то мапить. однако, в ходе дискуссий выяснилось, что подход со сборкой обдного образа со всем на борту гораздо популярнее

полистайте переписку выше)

Zon
30.04.2017
21:16:04
зависит от ваших предпочтений, если хотите микросервисы, то мапить. однако, в ходе дискуссий выяснилось, что подход со сборкой обдного образа со всем на борту гораздо популярнее
Всё-таки предложено несколько контейнеров. Роутер ( или ингресс ) под с nginx и data container с собранным фронтом, под с fpm и data container с собранным беком. Итого 3 пода и 5 контейнеров. С ингрессом - 2 пода и 4 контейнера. При деплое пересобираются два из них, с сорцами.

Ибо мапить нужно не из гита, а из другого контейнера

Admin
ERROR: S client not available

Zon
30.04.2017
21:18:15
https://docs.docker.com/engine/tutorials/dockervolumes/ родная докеровская дока на эту тему

Victor
30.04.2017
21:24:02
Ибо мапить нужно не из гита, а из другого контейнера
простите, а зачем?) куб сам зафетчит и создаст вольюм

Zon
30.04.2017
21:31:20
простите, а зачем?) куб сам зафетчит и создаст вольюм
Это хорошо, если в репе только нужный код. Но у многих в репе ещё и тесты, например. Их удобно версионировать вместе.

Victor
30.04.2017
21:32:31
у большинства в репах тесты, только я не понял, что плохого мапить вместе с тестами

Victor
30.04.2017
21:34:20
не подходит в случае фронта, там extjs и его надо предварительно собирать

Let Eat
30.04.2017
21:35:31
в кубе единица работы - это контейнер. контейнер неделим, и для куба нет разницы, завалился контейнер из-за недочетов сборки или ошибки синтаксиса в приложении
не контейнер, а под. Под перезапустится при смене volume . так что вполне можно исходники примонтировать и оставаться идеологически верным

Zon
30.04.2017
21:35:59
не подходит в случае фронта, там extjs и его надо предварительно собирать
Вот в таких случаях, как раз дата-контейнер и нужен. Если нет сборки, зависимостей и тд - можно и напрямую, но ощущение неконсистентности остаётся

Google
Zon
30.04.2017
21:36:36
собирайте в init container
И старт будет проходить сильно дольше

Victor
30.04.2017
21:36:59
собирайте в init container
не понял, о чем речь

Let Eat
30.04.2017
21:37:22
не понял, о чем речь
https://kubernetes.io/docs/concepts/workloads/pods/init-containers/

И старт будет проходить сильно дольше
ну если не хотят контейнер со скомпилированными исходниками собирать, то где-то же должно оно компилироваться же

Zon
30.04.2017
21:39:58
ну если не хотят контейнер со скомпилированными исходниками собирать, то где-то же должно оно компилироваться же
Где-то должно. Но это настолько неконсистентно, зависимо от внешних модулей, что лучше всё-таки собрать образ

Я давно не смотрел в пхп, но у них там разве менеджер зависимостей не появился?

Victor
30.04.2017
21:41:42
инит-контейнеры в рамках деплоя тож работают?

Let Eat
30.04.2017
21:43:22
инит-контейнеры в рамках деплоя тож работают?
да, везде где есть PodSpec работают, даже в Job :)

Victor
30.04.2017
21:44:47
а объясните на пальцах, как в кубе мапить данные с одного контейнера на другой

Zon
30.04.2017
21:45:45
а что, кто-то еще не складывает все зависимости в гит рядом с кодом?
Спрошу наших скала девелоперов, может мы что-то не так делаем

Let Eat
30.04.2017
21:47:00
а объясните на пальцах, как в кубе мапить данные с одного контейнера на другой
никак :( есть хак: в init container перелить то что хочется в emptyDir и пото её замапить в другие контейнеры

Victor
30.04.2017
21:47:26
а ссылки есть почитать?

Let Eat
30.04.2017
21:47:40
Спрошу наших скала девелоперов, может мы что-то не так делаем
забыл про джавистов, да они так не делают. выруливают локальным artifactory кажется , но всё равно боль

а ссылки есть почитать?
хз, попробуйте сами, тм просто. command переопределяет entrypoint контейнера, так что можно запустить образ с данными которые хочется раздать другим контейнерам в поде и в качестве команды указать /bin/cp в emptyDir volume, который потом подцепляете к остальным конетйнерам в поде

Victor
30.04.2017
21:50:30
ох, магия.. не люблю магию в данном её проявлении)

Fike
30.04.2017
22:14:13
Короч

Не нужно ничего выносить из контейнера в другой контейнер и на хост

Это от дьявола

Исключение только для хранилищ

Страница 165 из 958