Двач.hk не отвечает.
Вы видите копию треда, сохраненную 18 ноября в 21:55.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
image.png102 Кб, 800x450
DevOps CI CD devops 3210621 В конец треда | Веб
В этом треде обсуждаем темы, связанные с DevOps.

Ставим Kuberpenis, прокладываем CI/CD Canalización, получаем удовольствие от своей работы (но не в финтехе)

В тред приглашаются все причастные и интересующиеся

Прошлый тред >>2936757 (OP)
2 3210626
Почему я делаю
RUN npm install prisma
и получаю прибавку к весу докер образа 170мб?
На сайте npm написано призма распакованная весит 10мб.
4 3210787
>>210753
Интересно, спасибо.
5 3210795
>>210626

>RUN npm install prisma


тред называется Devops, а не "Отель у брошенного брошенного девопсами программиста"
6 3210876
>>210795
А девопс как расшифровывается, напомни?
7 3211055
>>210876
Девопс-тред, это когда девопсы сами обсуждают проблемы реализации того, за что им заплатили. Если у тебя нет девопса - найми.
8 3211089
>>211055
Двачаю. Мне за такие объяснения 480к плотют, а эта >>210626
хитрожопая гнида пытается нас обокрасть.
9 3211093
>>210626
Потому что у тебя в контейнере еще и ос
10 3211133
>>210626
Чистки кэн ноды и линуха, ставь ноду которая с альпиновским дистром
11 3211135
кэн короче, сплю уже
12 3211221
Знали бы вы, как я хочу выкатиться из фронтенда в бекенд или девопсину к последнему так вообще шел годами, но потом проебался
13 3211316
>>211221
Брысь отсюда, неудачник. Этот тред только для белой кости айти индустрии.
14 3211626
ДевОпсеры, расскажите вашу историю переката, откуда пришли и как проходили этот путь?
15 3211630
>>211626
Пока никак, я вкатун сисдамин, юзавший линукс 10 лет на десктопе и на серваках для селфхоста
16 3211633
>>211630
Сколько по времени сисадминишь? На работе только линух или всякие докеры нджинксы тоже есть?
17 3211677
>>211633
На работе хуйня, даже вспоминать не хочу с какими блядьми мне проходиться работать и проходить humiliation ritual
18 3212784
COPY package.json .
RUN --mount=type=cache,target=/root/.npm \
npm install --omit=dev

Вот это ---mount=type=cache
это же троллинг да?
Меняем 1 символ в package.json и там следующий шаг инвалидируется. Маунт должен что-то кешировать, но по ощущениям он всё заново качает, когда ВООБЩЕ ничего не поменялось, я меняю например версию апп только.
19 3212987
>>212784
Я короч написал скрипт который генерирует 2 раза package.json для докера.
1 раз мы генерируем старые зависимости. И запускаем npm install И этот файл обычно не меняется.

Потом мы добавляем новые пакеты, и еще раз делаем npm install и это происходит уже на новом слое докера. И там ставятся только новые зависимости.

В итоге всё старое закешировано и всё быстро билдится. И оригинальный package.json мы можем как угодно портачить он не обсирает нам установку зависимостей.
image.png69 Кб, 320x180
20 3212996
>>212784
>>212987
Внатуре произошел троллинг. Надо не /root/.npm кешировать а your/project/node_modules
тогда и скрипт этот нахуй не нужен.
/root/.npm это папка которую предлагает кешировать мастер установщик докера.
sage sage sage 21 3215491
sage

Такой же тред уже существует. ОП-хуй, ты на кой хуй это делаешь? Зачем ты копируешь треды из треда в тред? Ты же долбоёб?

Кому интересно, погуглите по паре постов тута по сайту 2ch.hk, сразу найдёте. Я такой же видел 2020 г., наверняка есть и раньше.
shampoo shampoo 22 3215494
shampoo

Кук-у
23 3216515
Чем вы перезапускаете докер на проде для деплоя? Кроме кубернетисов.
24 3216586
>>216515
опеншифт
25 3216599
>>216586
Это кубернетисы.
Я вот думаю, может хук сделать в гите. Но билдим мы всё равно на машине программиста и это никак не привязано к гиту получается. Так что хук это тупо. Остается только руками скрипт запускать.
64073196.jpg91 Кб, 415x579
26 3216639
Для Голанга актуален пикрил? Или там совсем по-другому пишут код?

А то у меня есть эта книжка на бумаге, думаю, полезно ли будет прочесть.
27 3216657
>>216639
Сорян, тредом ошибся.
28 3216914
>>216515
Дергаю скрипт по ssh через gitlab-ci, в скрипте сорт оф канари релиз:
1) тагается рабочий образ как :backup
2) делается pull / up
3) ждётся 3 минуты, дёргается хэлсчек
4) если хэлсчек не хэлсчек, то перетагивается образ из бэкапа и делается up

Евангелисты говорят, правда, это не тру силки смузитек, что правильно шарить docker-remote-acess и всю логику по перезапуску держать локально у себя, но я живу по принципу работает - не трогай.

>>216599

>билдим мы всё равно на машине программиста и это никак не привязано к гиту получается


А что за registry? Как пушите? Я думаю надо привязываться к нему, как основному хранилищу состояния.
29 3216930
>>216914

>registry


Docker hub?

>Как пушите?


docker push
30 3216931
>>216930
То есть смена версии на докерхабе - повод дёрнуть ручку?
А на проде прямо сырой докер или композ?
31 3216934
>>216931

>То есть смена версии на докерхабе - повод дёрнуть ручку?


Получается так.
Композ.
32 3216940
>>216934
Просто засунь в планировщик раз в 15 минут: docker compose -f /path/to/docker-compose.yaml up --pull, он автоматом рестаратёнт апу, если в реестре образ обновится.
Или docker compose pull appname и потом up, если не хочется чтобы для других сервисов без запиненых версий обновы тягались.
33 3216951
>>216940
А я могу вообще получается свой докерхаб поднять как-то?

>раз в 15 минут


А может там хуки какие-то есть тоже?
34 3217706
Пошерстил вакансии на вкат, заметил, что например указана дефолт пятидневка, но «реагировать на инциденты 24/7».
Это же хуйня, не? У меня на нынешней батрачке есть дежурства, но они посменные хотя бы.
А так на выхах комп обнимать какая-то ебанутая идея выходит
sage 35 3218525
>>217706
Терпи.
36 3218764
>>216940
Я короч поднял приватный докер регистри. И там хуки есть можно, когда пуш происходит перезапускать контейнер. Для этого надо написать сервис...
37 3219546
>>218764
Написал скрипт который слушает и рестартует докер после пуша.
Этого достаточно чтобы устраиваться девопсом куда-то или нет?
38 3219663
>>217706
Хуй знает, Я ответственнен за инфру своего отдела (но не за кубы в которые мы деплоим часть софта), бывает раз в месяц из дежурки звонят. Когда только пришёл было сильно хуже т.к. инфра работала через очко (одни деплои руками по рдп в иис под виндой чего стоят)
39 3219665
>>216599
Практика говна, собирать рабочие образы на личных тачках это пиздец. Один раз настроить билдер, раскурить как работает подман/канико и жить как белые люди
40 3219691
>>219665

>собирать рабочие образы на личных тачках это пиздец


Ты скозал? Суть докера в том что нет разницы личная это тачка или нет.
У меня вот комп мощнее чем сервер. Гит хук я умею настраивать чтобы билдить после мерджа в мастер, просто это хуйня.
Можно сразу же проверить у себя на машине что всё работает.
41 3219707
>>219691
Если твоя задача задрать в небеса бас фактор всей команды, то вопросов не имею.
Для тестов же есть стейдж контур, но судя по твоим тейкам ты пилишь в соло какой то говнопроект в котором даже стадии тестирования нет
42 3219724
>>219707

>задрать в небеса бас фактор всей команды


Потому что я единственный человек в мире который может прочитать докерфайл?
43 3219750
>>210621 (OP)
Куда жмать чтоб в PHP это сделать? Чтобы туда сюда, тырым-пырым и в продакшон, чтобы Обба и обана-на. Ну ты понял.
44 3219752
>>216639
Голанг это доп. язык, а не основной. Люди его учат имея базу эту.
45 3221968
https://stackoverflow.com/questions/43559619/docker-compose-how-to-mount-path-from-one-to-another-container
Я вот так же сделал. Проблема в том что когда мы пулим новый образ. То тома остаются старые. Насколько я понял после тестов. Если мы удаляем тома, а потом композом запускаем, то встает как надо. Так и надо постоянно тома эти удалять?
46 3222003
>>221968
Шарить файлы между контейнерами через вольюмы как то костыльно, в будущем это очевидные проблемы даст.
Даже сейчас тебе придётся с каждыйм деплоем кастовать либо docker compose rm либо вообще docker compose down -v
47 3222004
>>221968
Если что посыл о том что вообще шарить вольюмы это выстрел в ногу
48 3222023
>>222004
А как какать? Мне надо чтобы нжинкс раздавал статику и проксировал остальное. Нжинкс берет эти файлы из другого контейнера через том.
49 3222041
>>222023
Сделай 2 nginx:
- Отдающий статику.
- Реверс прокси.
Что как маленький то.
Умение декомпозировать - это первое чему надо учиться в ИТ.
50 3222042
>>222041
А отдающий статику нжинкс откуда будет брать файлы?
51 3222045
>>222023
докидываешь слой с своими файлами и конфигом в образ нжинкса, деплоишь
52 3222050
>>222045
Это в сто раз сложнее чем через тома расшарить.
53 3222055
>>222050
Ты присрал костыли и по другому не делал. Мнение твоё стоит примерно ничего.
Посмотрим как ты потом свои костыли в кубы будешь доставлять и поддерживать версионирование
54 3222061
>>222055
По другому это сбилдить апп, потом из билда вытащить в хост файлы, потом сбилдить нжинкс.
Вместо просто сбилдить апп.
Не нужны мне копрокубы.
55 3222064
>>222061
лол. Нужен всего лишь один докерфайл с 2 стейджами и 2 команды - билд и пуш.

Расскажи нам лучше как сейчас твой деплой работает
56 3222067
>>222064
Как мне в одном докерфайле 2 образа сбилдить?

>Расскажи нам лучше как сейчас твой деплой работает


sh скрипт который пулит апп образ, останавливает композ, удаляет тома и запускает композ.
57 3222070
>>222067
Извини, но нахуй два образа? Нужен один образ в который будет сложен результат первого стейджа. Я хуй знает как ещё понятнее писать, может так "Нужен всего лишь ОДИН докерфайл с 2 СТЕЙДЖАМИ и 2 команды - билд и пуш"
Ладно, забей хуй. Я понял что ты любитель писать говно в котором только ты сможешь разобраться, вместо использования того что юзают все и везде
58 3222071
>>222070
У меня некст.жс приложение и нжинкс. Надо 2 контейнера. Значит надо 2 образа. Сейчас мне нужен 1 образ потому что нжинкс я беру голый. Конфиг нжинкса это том, ssl ключи это тома и файлы которые надо раздать это 2 тома.
59 3222073
>>222071
Последний раз кормлю и пусть остальные тебя развлекают

https://github.com/nginx-proxy/nginx-proxy
https://kubernetes.io/docs/concepts/services-networking/ingress/
60 3222075
>>222073

>пук

61 3222079
>>222073
Не, это ты какой-то дурачок. В докер туториале с первого дня говорят бери голый постгрес и делай том для бд. В нжинкс доке написано бери голый нжинкс и делай том с конфигом.
Нет ему надо билдить свой нжинкс. Как? А хуй его знает.
image.png64 Кб, 1104x737
62 3222084
63 3222086
>>222084
Выше читай ебанашка и вот >>222061
64 3222795
Сделал распределенное приложение которое по кнопке в админке раскидывает деплои в дочерних серверах. Я уже сеньор девопс или ещё нет?
65 3222954
>>222795
Это же просто кнопка в кубах +под/-под у деплоймента
66 3222957
>>222954
У меня нет кубов.
67 3223045
>>222795
Нет, но разряд на КМС по велоспорту выполнил
68 3223102
>>223045
Такой велосипед хочет кабан.
А девопсы вообще умеют программировать или только душнить?
69 3223119
>>223102
Сделай нам костыльный велосипед который развалится при первом чихе, использовать любые технологии уже ставшие индустриальным стандартом строго ЗАПРЕЩАЕТСЯ
©не выдуманный кабан о котором невозможно молчать
70 3223125
>>223119

> который развалится при первом чихе,


Да не трясись ты ничего не развалится.
16309461145290.jpg93 Кб, 1181x897
71 3223162
>>222795
Кто угодно может называться кем угодно. Это открытый рынок. Ты можешь назвать себя хоть сениор единорогом. Хоть черепахой. Хоть Уорреном Баффетом. Никто не пойдёт и не будет проверять, действительно ли ты единорог или Баффет. Ты даёшь кликухи сам себе. Если тебя это успокоит, я могу назвать тебя величайшим девопсом во вселенной. Дело лишь в клиентах. Кто готов купить твои услуги. И в твоих финансовых возможностях. Просто какая-то кликуха не делает тебя Игорем Сечиным и вряд ли ты когда-либо подаришь яхту "принцесса Ольга" своей бабе.
72 3223247
>>223162
#девопсвыумеюттолькодушнить
73 3223270
>>223247
#девопссельскоготуалета #неткубам #ненавижуиндустриальныестандарты
74 3223283
>>223270
Какую функцию выполняют кубы и зачем они мне нужны?
76 3223309
>>223302
Кто сказал что мне нужно скалабили оркестретинг и другие базворды?
77 3223544
Даже роллбак без кубов сделал. Откатился на коммит старый, докер взял из кеша старый образ и я его запушил и все роллбекнулось.
78 3223950
>>223544
Что это дает бизнесу?
То что когда ты уволишься все твои потуги будут выброшены в мусор. А новому сотруднику придется разворачивать стандартную систему в нуля, потому что в недокументируемой кривой говнине какого-то васяна разобраться будет невозможно, ведь в ней шаг влево-вправо - не работает ничего.
И вот для бизнеса пришлось оплатить твои изобретения велосипедов, а в итоге оказаться в той же точке.
Ты думаешь люди используют кубернетисы исключительно потому что не смогли в костылестроение? А не потому что кубернетисы - это современный стандартный декларативный язык инфраструктуры?
79 3223959
>>223950
Кубернетес тем временем все ещё выполняет 0 нужных функций.
Инбифо: пукнуть базвордами в ответ на это пост. У меня за 10 лет в айтишке максимальная стойкость к базвордам и меня нельзя ими впечатлить.
80 3223980
>>223950
Ты зачем-то пытаешься убедить зелень что костыли плохо, а стандарты хорошо
81 3224167
>>223980
Больше конформизма тупости и духоты.
82 3224175
>>223959
Хотя какие нахуй 10. Все 15 можно считать. Щас мне 35 почти выпустился я в 20 лет. Работать я начал еще в институте.
Щас бы мне слушать пердикса который хочет вертолет в проект тащить чтобы было ИНДУСТРИАЛЬНО. Это не аргумент блядь долбоебы.
83 3224185
>>223980
>>224167
>>224175
Хуя дебилы.
157356826126109664512x432.webm1,9 Мб, webm,
512x432, 0:49
84 3224198
>>224185
Я теперь знаю чем девопсов валить на собесах. Они не могут ответить всем тредом нахуй нужен кубернетес.
85 3224206
>>224198

>нахуй нужен кубернетес.


Чтобы у тебя жопа горела.
86 3224221
>>224206
Справедливо.
87 3224566
>>223959

>Кубернетес тем временем все ещё выполняет 0 нужных функций.


- Однотипный деплой и ундеплой (удаление) практически чего угодно.
- Ролинг абдейт который не надо изобретать.
- Оркистрация, а значит не нужно прикреплять сервисы к нодам и ходить потом в них прописывать ойпишнечки друг друга. (consul + templater или etcd + conf.d - каинды того же самого - прописывания).
- Нетворкинг полиси поверх незакрепленных за нодами подов.
- Сервайс мешь - безопасность, трейсинг, разные фитчи с управление трафиком.
- Паттерн k8s оператор давший ранее невероятные вещи, вроде zalando.
- Гарантии для бизнеса в работоспособности и актуальности технологии в будущем.
>>224175
Старше тебя, пиздюка, на 3 года.
88 3224567
>>224566
Чекай, тебе харкнут "понаписал баззвордов, по делу ничего" или "зачем мне всё это если я могу насрать башем" мы же тут не в девопс тред а в цирке нахуй
1721318534594.jpg51 Кб, 640x720
89 3224622
90 3224623
>>224567

> Чекай, тебе харкнут "понаписал баззвордов, по делу ничего" или "зачем мне всё это если я могу насрать башем"


В чем ты не прав?
91 3224624
>>224566
Твой пост сложнее всех моих баш скриптов бтв.
1721761427322.jpg157 Кб, 800x600
92 3229223
Здравствуйте. Я заранее извиняюсь за нескромный и возможно часто задаваемый вопрос, но хотелось бы услышать на него ответ.

Почему так мало вакансий? Посмотрел что есть в Москве, по итогу вижу пару вакансий без опыта, остальные с опытом сисадмина, плюс знание языков программирования.

Спасибо.
93 3229233
>>229223
Прикинь одного девопса на сколько программистов хватит?
Куча программистов к тому же вполне себе нормально могут написать полный пайплайн сборки+деплоя и им нужна только рабочая инфра, гайды ака линия партии и порой консультация.
Я не девопс по должности, рядом только стоял. На работе есть 2 кластера шифта, в продовом 10+к подов, обслуживает кластеры, реджистри, кэши, прокси, гитлаб парочка команд
94 3229264
>>229223

>Почему так мало вакансий? Посмотрел что есть в Москве, по итогу вижу пару вакансий без опыта, остальные с опытом сисадмина, плюс знание языков программирования.



Потому что девопс с нуля хуже, чем разработчик взявшийся девопсить.
95 3229990
>>229223

>Почему так мало вакансий?


>Посмотрел что есть в Москве, по итогу вижу пару вакансий без опыта, остальные с опытом сисадмина, плюс знание языков программирования.


1. Как понять "МАЛО". На хедхантере 5 тысяч вакансий. Это дохуя.
2. Без опыта люди не нужны. Подумай сам. Если вакансий 5 тысяч штук, а претендентов 10 тысяч. Вопрос: куда пойдут остальные 5 тысяч человек? Ответ: нахуй.
3. В данный момент спрос на девопсеров полностью удовлетворён. Нет никакого дефицита на рынке.
4. Если нет дефицита на рынке, какой смысл обучать?
5. Девопсер - это ответственная должность. Начинающий рукожоп может принести компании огромные убытки, так как простой сервиса очень дорого обходится. Поэтому все нанимают ОПЫТНЫХ.
96 3230226
>>229990
Ты зачем сейчас меня так расстраиваешь?
97 3230748
>>210621 (OP)
Анончики, раскидайте зелёному непонимающему

Сейчас гребу обычным сисадмином-эникеем в галере, по мере сил и умений ковыряю наш онпрем на кластере proxmox, немного пишу кривенькие пипелине и докерфайлы, пушу базовые образы в харбор. Про ансибл и терраформ вообще нихуя не знаю

Расскажите бездарю, что и сколько надо вкусить и распробовать, что бы съебать на джуна девопса в кратчайшие сроки потому что я пиздец заебался параллельно с дрочкой ямликов еще и картриджи менять и технику закупать. Не шучу.

Заранее спасибо, люблю вас <3
изображение.png1,8 Мб, 1080x1080
98 3231380
С праздником, котаны!
99 3231390
>>230748
У тебя уже всё есть на джуна,
Сам вкатывался на джуна девопера со стеком линук ансибл докер
Проще всего будет по тестовому, бери спамом откликом и сделай четкое резюме, где не будет "менял картрижды, сопроводжал ЦЕЛЫЙ офис"
100 3234563
Не по теме, но в линухтреде никто не ответит.

Есть два default gw и один NetworkManager, который раздает им метрику по порядку подключения, а мне надо, чтоб метрика была статичной, чтоб у eth0 был приоритет всегда выше, чем у usb0, при любых переключениях.
Как это лучше сделать или чем заменить NetworkManager? Systemd нету, mx-linux.
Снимок экрана 2024-07-29 в 23.21.17.png407 Кб, 748x738
101 3234878
Господа анонимусы, хочу запустить сайт на питоне на одном серваке (без кубера), но в докере, чтобы в случае каких-либо проблем при обновлении можно было быстро откатиться на предыдущую версию. Да и проще так, чем на сервере все сервисы разорачивать ручками.

Docker Hub и прочие сервисы для хранения образов не хочу использовать, как и поднимать свой. Пока мне пришло в голову 2 варианта, как это все деплоить:

1. Самый простой - на сервер подтягивать код с гита, там же билдить и перезапускать контейнер.

2. Билдить локально, копируя код проекта в образ, через docker save сохранять образ, rsync'ом доставлять его на сервер и через docker load загружать.

Какой вариант более правильный? И как сделать правильно, если оба говно?
102 3234966
>>234563
Если это разные коннекшены, то ты можешь передать им приоритеты в опции connection.autoconnect-priority
А так пока непонятен твой сетап.
https://networkmanager.pages.freedesktop.org/NetworkManager/NetworkManager/nm-settings-nmcli.html
Я бы тут или посмотрел ipv4/ipv6.routing-rules, или выключил бы вообще дефолты (never-default) и настроил их бы опцией gateway, или прибыл бы коннекшен к конкретному интерфейсу - connection.interface-name.
103 3235291
Подскажите, где можно получить базу про rabbitMQ и kafka , вроде вещи нужные, но найти какие-то обучалки адекватные не смог.
Насколько про них сейчас на собесах спрашивают?
104 3235594
>>234966
Спасибо большое. C nmcli получилось.
105 3237847
>>235291
У рэббита очень хорошая и понятная дока. Про кафку не знаю
106 3238513
Вот какой вопрос. Настроил дднс для удалённого доступа, пробросил порты чтобы роутер все запросы по адресу перенаправлял на сервак. На серваке стоит nginx прокси манагер и с него уже на разные поддомены раскиданы всякие сервисы. Можно ли как-то в подобной системе без впнов сделать удалённый доступ ко второму устройству в той же сети?
107 3238534
С какими траблами можно столкнуться в 3х мастерной сборке к3с которые решил бы к8с?
108 3252272
Ну что, притихли, петухи? Все сидите по своим сберам и всякое говно руками по стэндам таскаете?
109 3252316
Расскажите вкратце, я могу вместо изучения кубернетиса раз-раз и быстренько освоить nomad?

Почитал доку по диагонали и не понял каким образом в этой схеме работает сеть? Как мне забубенить отказоустойчивый сайт? Что происходит когда один из nomad-ов отключается?
110 3252325
>>252316
Сможешь, наверное, но зачем? По нему же три с половиной вакансии, а кубер уже давно стандарт отрасли
111 3252378
>>252325
Речь о "вкате" не идет.
Я хочу себе.
Да даже если вкат, почему бы не уметь иногда запустить Nomad?
Как я понимаю, он сильно проще кубера, а главные возможности те же
112 3252393
>>252378
Ну ты ж в любом случае, будешь инвестировать свое время и внимание на изучении технологии. Лучше выбрать более перспективную.
Кубер сейчас как линукс - если сильно в кишки не лезть и не решать сложные задачи, то довольно простой и много готовых солюшенов.
Даже если в этот тред придешь и кто-то тут будет, то по куберу подскажет, а по номаду уже вряд ли.
Так что думай.
113 3252394
>>252378
То есть вопрос больше звучит что проще селфхостить k8s, k3s или nomad?
114 3252397
>>252394
Очевидно k3s, он на дешманской впске нормально живет, а при необходимости можно перехать на кубер. Микросервисный пет без логично делать на k3s и tilt

мимо
115 3252398
>>252397
Микросервисный пет логично делать на k3s и tilt

фикс
116 3252402
>>252397

>tilt


Надо будет посмотреть. У нас сейчас локальная разработка на k3d и makefile, меня они оба заебали. Makefile в какую-то сраную портянку превратился, особенно проблема джобы с автотестами запускать.
117 3252407
>>252402
Надо только нормально слои в докерфайлах написать, чтобы при изменении кода лишних действий не было. Установка зависимостей один слой независящий от кода, компиляция другой слой.
118 3252408
>>252407
То есть, с верфом эта хуйня не особо будет сочетаться?
119 3252414
>>252378
k3s поднимается в одну команду если не нужен ha
120 3252415
>>252408
Наверно можно совместить, но зачем? Это для локалной разработки, чтобы сразу в кубере разрабатывать и видеть результат. Зачем локально CI/CD? От написания кода до желания его закомитить большая дистанция.
121 3252418
>>252415
Werf это не альтернатива ci/cd инструменту, это надстройка над helm и kubectl, которая упрощает некоторые вещи.
122 3252422
>>252418
Werf как ватчер файлов работает или реагирует на изменения ветки в гите?
123 3252434
>>252414

>если не нужен ha


если не нужен ha, то можно docker-compose отделаться
124 3252438
>>252434
Не можно. Это разная инфраструктура. + Ты же в кубер пихаешь не только свой код, но и готовые облачные кирпичи типа keycloak
125 3252444
>>252316
Короче, вы не знаете ?

Лааадно.
126 3252447
>>252444
Номад же это Кирилл?
127 3252451
>>252447
Знаешь его? помоги найти контакт и выстроить сеть
image.png1,3 Мб, 1080x1920
128 3252474
>>252447
Какой еще Кирилл? Владимир Горячий его зовут
129 3253624
Есть один сервис с kubernetes внутри, который через вебморду позволяет создавать и разворачивать поды с приложениями. Но в UI интерфейсе нет возможности смонтировать NAS папку к поду. Я могу смонтировать ее руками, пропатчив соответствующий deploy объект. Но после редеплоя кода приложения этот сервис видимо генерит новый deployment объект и мои volume mount слетает к хуям.

Я могу какой-то хук запилить, чтобы нужные мне volumeMounts + volumes патчились автоматически в деплоймент с указанным именем? Меня хватило только на скрипт в пайплайне, который kubectl patch вызывает после деплоя, но это плохое решение, т.к. этот NAS нужен поду уже на этапе инициализации и без него деплой падает.
130 3253634
>>253624
https://kubernetes.io/docs/concepts/storage/persistent-volumes/
Не понял твою проблему, измени манифест
131 3253645
>>253634
Что такое манифест? По твоей ссылке это слово упоминается 0 раз. Если что, я в этой хуйне третий день ковыряюсь только.

Сейчас я нахожу deployment с конкретным именем и вызываю kubectl patch deploy app-name -n app-namespace --patch-file nas.yaml который добавляет нужные мне вещи в volumeMounts и volumes. Но этот deployment время от времени перезаписывается чем-то другим и мой патч слетает.

Как мне автоматизировать применение этого патча в конкретный deployment?
132 3253659
>>253645
https://spacelift.io/blog/kubernetes-manifest-file
У тебя должен быть манифест который из джобы раскатывается вот его и правь
133 3253660
>>253645
>>253624

>Что такое манифест?


yaml с описанием создаваемых ресурсов

>Я могу какой-то хук запилить, чтобы нужные мне volumeMounts + volumes патчились автоматически в деплоймент с указанным именем?


Да, это называется Mutating webhook. Удачи в освоении, не самая простая вещь. Проще до коллеги или соседнего отдела достучаться, чтобы у тебя деплой по-человечески шел.

Еще можешь попытаться патчить не под, а родительские ресурсы. Например, Statefulset или даже какой-то кастомный ресурс, если он есть и стоит еще выше. Вряд ли поможет, но попробовать стоит.
134 3253662
>>253659

>У тебя должен быть манифест который из джобы раскатывается вот его и правь


Ему, походу какой-то PAAS выдали, где сервисы кнопкой деплоятся и доступа к шаблонам манифестов у него нет.
135 3253665
>>253662
Ну пусчай тогда идёт на поклон к админам системы
136 3253666
>>253660

> Mutating webhook


Похоже на то, что мне нужно. Спасибо, буду пробовать.
137 3253669
>>253665
И тут оказывается, что этим PAAS был гостех и реализация фичи кастомных вольюмов запланировано на третий квартал 2056-года
1724249199194.png93 Кб, 498x441
138 3253693
139 3254037
Не тонем, сисадмины ебучие
140 3255024
>>210621 (OP)
Норм курс? 62 часа вроде идёт. TECHWORLD WITH NANA. Какой-то курс просто скачал на nnm, думаю "вау, на ангельском, всё собрано, да ещё баба!!!", ну и скачал. Пока только пару уроков глянул, говорит хорошо, всё понятно, объясняет наглядно с помощью презентации. Список тем на последнем скрине.
141 3255058
Какие же кубы пиздатые, то что в докере решается костылями и какой-то матерью тут покрывается буквально парой манифестов и пачкой аннотаций
142 3255101
>>255024
Ну норм. Основы покрывает и даёт представление о работе
143 3255839
>>255101
Да, тем болие я собираюсь сначала на год устроиться в l2/l3/сопровождение, параллельно работе дальше прокачиваться в девопс, ну и потом выйду в отпуск, в отпуске додрочу, после отпуска ливну и пойду уже в девопс на мидла сразу.
144 3256080
>>255024
Какая-то баба за 5 минут проговаривает концепции, на понимание которых нужно потратить годы и ты собираешься делать вид, что их понял?

Звучит как план!
145 3256223
>>256080
Ну и что?
Человек и книжки впитывает далеко ни на 100%. Это же не значит что их не нужно вообще читать.
И тут, возможность уловить какие-то пусть даже базовые концепты - много стоит. Самому до них доходить действительно годы.
И в любом случае когда человек интересуется любым материалом о предмете - это гораздо лучше чем нихуа не делать.
>>255024
Все правильно делаешь.
Кстати норм тянка, я бы выеб.
146 3256772
Всем привет! С вами Бэк-специалист. Хочу поделиться своей болью, я ненавижу helm, что это за очередной кал?

Кое как осилил docker и cocker-compose синтаксис, как теперь мне сюут yaml файлы для настройки деплоя CI/CD пока девопсы курят в сторонке, просто матов не хватает насколько это уебищный инструмент.
147 3256773
>>256772
хелм чарты очень удобно
148 3256776
>>256772
Ты в жизни джинджу и подобные шаблонизаторы что ли не трогал?
149 3256794
>>256772
Потому-то дево псы - ямл "программисты". Поэтому им наделаи 100500 частично дублирующих инструментов с ямлом. Туда же ансибл. А ведь умные дяди говорили не писать DSL на джейсоне (ямл надсинтаксис джейсона) - будет жопа. Почему не могли суки на питухоне писать, надо было взять мерзкую парашу и еще в добавок ее в шаблонизатор превратить...
150 3256802
>>256794
ПС. Понятно что всех захватила идея декларативного управления состоянием и гитопса. Но это вообще протекающая хуй знает как абстракция. Ну не может сервер с кучей говна быть состоянием описанным жейсониной.
151 3256803
>>256802
Есть идеи лучше? Готов их продвигать?
152 3256825
>>256803
Да. Писать процедурный код на питоне. В котором можно начать с высокоуровневых абстракций и углубится в ниpкоуровневые, когда потребуется понять, как оно работает под капотом. Код по которому можно путешествовать в нормальной IDE. Код который можно отлаживать.
153 3256832
>>256080
Ну прям годы, пол жизни бы ещё сказал. Если чел смышленный, слушает внимательно, повторяет, практикуется, этого курса хватит более чем, чтобы быть Джуном/слабым миддлом
154 3256842
>>256825
Осталось собрать mvp, получить финансирование и убийца кубов готов. В хашикорп не забудь написать
155 3256910
>>256794

>Почему не могли суки на питухоне писать


Тогда уж "лучше" писать на перле. Там одно и тоже можно сделать 20 разными способами... Вот ведь действительно будет охуенно разбираться с этой говнине с реализацией.
Декларативные инструменты потому и выстрелили, что в них нет большого количества возможностей. И действовать можно подчастую линейно. Стало быть результат получается предсказуемый и сопровождаемый.
еботу на питоне, кстати, изобрели, не буду произносить её названи в суе

>надо было взять мерзкую парашу и еще в добавок ее в шаблонизатор превратить...


Ну это мог написать только тот кто вообще не разобрался с инструментами.
- В ямле нет шаблонизации, анкоры не в счет, на них далеко не уедешь.
- То что в ansible используется jinja - это не имеет никакого отношения к ямлу. Потому что ансибл интерпретирует строки как jinja, а не yml как jinja. Т.е. шаблонизации подвергаются строки внутри ямла, а не сам ямл.
- В кубер манифестах есть yml, но нет никакой шаблонизации.
- В helm например вообще не про yml (и темболее не про dsl), все что там про yml, это манифесты ниже лежащего (кубового) уровня. А шаблонизация go-template сделана также поверх строк, когда еще никакого (ниже лежащего) ямла нет.
Для людей в теме: все разделено на четкие изолированные уровни абстракций. Но тебе дурачку это видимо сложно. Для тебя это каша. такая же как у тебя в башке Потому что ты не способен в абстракции, неспособен выделять в иерархии представления сущностей важные в конкретном контексте детали.
ВОН ИЗ ПРОФЕССИИ ПИТУШОК
156 3256912
>>256910
Четкость абстракций это к шизикам. Нормальным пацанам важнее возможность в дебагере брекпоинт поставить
157 3256933
>>256912

>Четкость абстракций это к шизикам.


Шизиком то ты в данном случае выступаешь, лалка.
Читать научись: четкие не абстракции, а четкие уровни.
Четкие уровни абстракции - это про возможность выделять значимые границы в разнородном (имеющем разное представление, не конкретном и поэтому абстрактном) контенте в зависимости от необходимого (уровня) применения, и следующая из этого возможность оперировать с контентом на нужном уровне соотвествующим уровню способом, не вылезая куда не просят.
Например подходящий пример но как правило всегда плохая реализация, я считаю так делать не нужно: это с помощью ansible написать шаблонизированный bash script в ansible.builtin.template: содержащий одновременно и баш код со своими переменными + локальный template код на jinja (с фильтрами, селектами и прочими мапами) + подстановка переменных взявшихся их host_vars и прочих фактов. Для того чтобы управляться с этим крайне желательно четко понимать где какой уровень абстракций. Еще раз: я против такого подхода, это просто пример.
В анусе себе брекпоинт поставь.
158 3256950
>>256933
И как это все дело отлаживать? М-м-м? А если на тестовом окружении не воспроизводится то что на проде? Искать глазами в 100500 ямлах, выстаивать четкие уровни абстракций и гадать почему у тебя на проде под постоянно рестартует или не находит сервис какой-нибудь хотя на тесте все заебись? А оказывается это побочный эффект от того в какой последовательности хелм груду манифестов выпольняет... А хуй его знает. Это же черный яшик, а ямлы описывают только конечное состояние. А оно не наступает. Писать в спортлото?
159 3256954
>>256950
Логи и обсервабилити кубов отличные если админ не ленивый дебил
160 3256968
>>256912

>возможность в дебагере брекпоинт поставить


Google: debuggin helm templates :
https://helm.sh/docs/chart_template_guide/debugging/
helm template --debug will test rendering chart templates locally.

В чем проблема - непонятно.
161 3256975
>>256968
И что ты там отлаживаешь? Проблема в самой декларативности манифестов кубера. Это как SQL. Ты описываешь что хочешь получить, но не можешь прямо на план запроса повлиять. Тольков в кубере все сложнее. Но скармиливаешь ему хотелку о конечном состоянии, без описания как это сделать и без возможности отладить алгоритм как это состояние будет достигаться. Но при проблемах ты вынужден думать как черный ящик устроен и как он твои 100500 хотелок выполняет.
162 3256976
>>256968
Он конечно хуйню несёт но и ты не дальше ушёл, ты привел команду на чек рендера чарта, никаких гарантий что это всё поднимется в кластере это не даёт, просто проверка синтаксиса
164 3257178
>>256976
Я знаю. Братишь, это типа добрый троллинг.

Он пришел с тупой формулировкой "Как вы вообще пользуйтесь этой программой Helm?"
А Helm не виноват. Манифесты взаимосвязаны. Порядок применения (изначально неправильных чартов) может повлиять на работоспособность куба. Чтобы это распутать может помочь просмотр результатов рендера манифестов в уме или с ключем.

Виновата его косолобость.
165 3257189
>>256975
Есть интересное видео где какой-то ит-деятель обосновывает, что современное программирование настолько сложное, что вам ВСЕГДА нужен интерактивный дебаггер.
Вот мы наблюдаем пример подобной привычки.

К сожалению, я его потерял в боях за Замедление Ютуба
166 3257198
>>257189
Ну так нужно признать, что когда ничего кроме логов нет то это хуевая ситуация. Зачем разработку софта намерено превращать в астрономию. У астрономов предмет изучения за тысячи парсеков от них. А у тебя должен быть полный доступ к объекту. Особенно если это self hosted.
Куберы изобретали для облаков. Оно и понятно, никто не даст тебе грязными рученками лезть в инфраструктуру чужего дяди. Но девопсы же сами же натягивают куберы на свои сервера и лупятся глазками в логи. Вместо того чтобы разбираться как оно работает.
167 3257209
>>254037
Это не сисадмины, додик ты необразованный.
168 3257210
>>256080
Ну так-то да. Я хз что новички тут забыли. Это тред для разрабов либо сисадминов с опытом хотя бы 2+ года. Иначе тупо бессмысленно изучать эту тему.
169 3257367
Вчера или позавчера писал о том, что helm боль. Сейчас вторые сутки изучаю хельм этот идиотксий ради того, чтобы просто как бэк разработчик уметь грамотно передавать енвы и сикреты на разные стенды.
а) Какой мудак придумал, что обычные имена парамов надо капслочить и снейккейсить без надлежащей документации?
б) От версии к версии все переворачивается вверх дном, все туториалы, ответы на StackOverflow, доки и примеры идут по пизде
б) Оказывается версия хельма узнается командой helm version. О БОДЖЕ МОЙ. Вас девпсов не учили, что все уважаемые команды выводят версию/справку по минус V или --v в крайнем случае. Почему хельм возомнил себя таким особенным?
170 3257381
>>257367

> Вас девпсов не учили


Ты не в ту сторону воюешь.

То, что Хелм это кал, тебе любой девопс-инженер подтвердит.
Как есть еще куча инструментов, которые стали стандартом, а по факту - то еще дерьмище. Например, все поделия от Графанодебилов, кроме прометеуса. Или набирающий сейчас популярность vector

Эту всю поебень разрабатывают такие же анальники, как ты, а девопсам и сисадминам потом приходится с этим всем работать. Издержки профессии.

Так что сам лучше пиши хороший код, чтоб потом другим не пришлось с ним мучаться. И документацию тоже хорошую пиши, чтоб потом в твой адрес не летели проклятия, как в адрес Хелмомразей - несколько лет назад у них вообще вместо документаци был высер шизофреника.
171 3257392
>>257381

>пиши хороший код


мне на роду написано ничего важнее мапперов dto-шек в entity не писать и наоборот. Мой потолок это мапперы entity в elasticsearch через кафку. Короче одно и тоже 5 раз по-разному с мапперами друг в друга
172 3257461
>>257367
Это я опять возвращаюсь дабы частично извиниться перед всем девпсовым сообществом за то что зря быканул

>Какой мудак придумал, что обычные имена парамов надо капслочить и снейккейсить без надлежащей документ


Сука, это наши придумали черти,

>If you use environment variables rather than system properties, most operating systems disallow period-separated key names, but you can use underscores instead (for example, SPRING_CONFIG_NAME instead of spring.config.name). See Binding From Environment Variables for details.


только щас узнаю о такой функции. Получается helm тут не причем, а я два дня искал как он мапит одно в другое
173 3257499
>>257367

>а) Какой мудак придумал, что обычные имена парамов надо капслочить и снейккейсить без надлежащей документации?


Так исторически сложилось.
Нужно отличать о остальных.
Кроме того, есть некая неосознанная попытка копировать капсовые макросы, которые #define в Си

> б) От версии к версии все переворачивается вверх дном, все туториалы, ответы на StackOverflow, доки и примеры идут по пизде


> б) Оказывается версия хельма узнается командой



Лично нам - поебать. Три года работаешь, а дальше сваливаешь в поиске очередного ЕДИНОРОГОСТАРТАПА
IMG20240828180410.jpg206 Кб, 1055x1079
174 3258316
Как перестать орать?
github.com opentofu/registry/pull/817

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

Ось такой опенсорс, малята.

Запомните этот ебальничек https://github.com/ollevche
175 3258330
>>258316
Ты бы лучше приложил мерж реквест с ревертом
https://github.com/opentofu/registry/pull/824
176 3258332
>>258316
Нормальная такая драма.
Одновременно и смешно и грустно.
177 3258347
>>258316

Ну если не считать хач-бороды, вполне симпатичный ебальник.
178 3258354
>>258316
АХАХАХАХАХ
179 3258381
>>258316
Аноны если у вас есть аккаунт в этой помойке, не могли бы вы написать: "Сдавайся хa-хo-ль, тут Ахмат сила! Хa-хo-ль... хa-хo-ль... Сдавайся!"
сраная макака со своими спамлистами
180 3258393
>>252438
у нас в конторе полтора девопса/админа на ~10 проектов,
потихоньку перетаскиваем всё с systemd на docker.

В качестве оркестратора хотим взять swarm, потому что с кубером разбираться некому и некогда, а compose уже хорошо знаем.

Вроде как всё хорошо, но напрягает то, что swarm вроде как legacy и нимодно.

Что посоветуете, вникать в кубер или swarm норм?

ha не нужен.
181 3258397
>>258330
Ты бы лучше имаджинировал свое ебало, когда зумер 16 лет отроду спокойно общается на чистом английском и вообще участвует во всяких хакатонах и т.д
182 3258398
>>258393
Посоветовал бы докер без роя. Первым этапом упакуйте всё в контейнеры (обязательно рутлесс), потом ищите уже либо облегченные кубы по типу к3с или на менеджед решение

>>258397
Молодец
183 3258437
>>258330
Он НЕ вмержен.

>>258397
Позорный гитхаб. Никакого вклада в опенсорс по сути нет.
Весь вклад - поднасрал в opentofu
184 3259089
>>258393

>всё с systemd на docker


А мы контейнеры в systemd запускаем, чтоб вообще заебись было.
185 3259387
>>258393
Я уже третий проект пихаю в кубер. И могу сказать, что к куберу не только админы-девопсы должны быть готовы, но и команда разработки, и сам проект.
Какая-то хуйня, спроектированная под докер(композ) и под кубер - это две разные хуйни совершенно. Речь, конечно, про грамотное проектирование и последующии оптимизации.

Так что смотрите. Либо вы сейчас переходите на кубер, страдаете, матерясь кое-как упихиваете текущий проект туда. Но получаете экспертизу и задел на будущее, следующие проекты будут сразу разрабатываться с оглядкой на кубер. Либо потом будете делать все то же самое, но для нескольких проектов.

Ну либо, конечно, хуй забить и еще 15 лет сидеть на докере и systemd, а там глядишь, что-то новое появится.
186 3259457
>>210621 (OP)

Я мог бы стать одним из вас, но мне пока повезло.

Аноны, доброй ночи. Немного о себе. Колупаю линуксы, хостинги, сети с 2005. Паппеты, ансиблы, почтовики, немношко спама, впны и всякое такое. Фрилансер на бурж со стажем. Брал в проект все что содержало слово linux. Уже к 2020 начинало надоедать. И начал задумываться, куда двигать дальше. Очевидным выбором (почти) стал девопс. Начал читать мануалы и дергать сворм и куб на виртуалках. Ебать, какое же задротство. Скукота.. нет в девопсе духа свободы и какой-то нотки авантюризма. Перекидывание говна между клаудами - ну норм для работы в команде с 9 до 5 в какой-то фирме внедряторе кубов. Так это увидел. А это не то, к чему я привык (соло проекты) и что дает хоть какое то чувство независимости и удовлетворения от жизни.

Пока данный вопрос отпал (пилю свой проект, живу за лицензии и саппорт), но возможно, к этому вопросу придется вернуться. Так что вопрос к сисадминам линуксов широкого спектра, вкатившимся в девопс - вам как, не скучно?
187 3259475
>>210621 (OP)
Да что у вас в кубах крутится? Очередная ненужная екоммерс говнина типа убийцы Вайлдберриз или рассылка спама или считалка партнерских кликов? Не могу себе представить что серьезный бизнес запускает свой кор-функционал в кубах )) а все побочное можно отдать школотронам в кубы деплоить, упадет, да и хуй с ним.
188 3259484
>>259475
Старайтесь набрасывать лучше
189 3259716
>>258316
Лолд, у свинявых заблокирован AWS, сервисы гугла на грани полного блока, а они что-то мандят про опен сорс выполнящие санкции. В принципе - да, это удивительно, при учете что гитхаб заблочат подпынявые через пару лет, если не в этом году
190 3259769
Осеннее обострение в треде пошло
191 3260069

>Elasticsearch возвращается на использование открытой лицензии


треад
192 3260077
>>260069
Хуй знает, если ситуация вернётся просто к тому что было, то маловероятна миграция с опенсёрчка у которого нет мутных платных подписок
193 3260080
Ну либо в опенсёрч просто подмержат что проебали
194 3260248
>>260069
У нас сраный локи, к сожалению
195 3260269
>>260248
Почему сраный?
Full text search очень даже не бесплатный.
У elastic'а целая гора крутилок, которые приходится крутить.
loki поставил и заебись.
196 3264405
https://github.com/opentofu/registry/pull/824#issuecomment-2328597290
Ахахахахах.
У них нет ресурсов чтобы разбираться с санкциями, но есть ресурсы чтобы к ним пресоединиться... Хотя нет, простите, не так. Для того чтобы присоединиться к санкциями поумолчанию не надо разбираться, за тебя уже все подумали.
Ааззазааз, попенгсорс который мы заслужили.
197 3264782
>>264405
Не они первые не они последние
198 3264951
>>264405
Земля пухом братишкам долбоёбам
sage 199 3265339
>>264405
Всё возможно, когда лид проекта из 404.
selkie-family.png366 Кб, 1920x1080
200 3265638
Нескучная пикча для переката
201 3266341
>>234878
Что, никто не знает?
202 3266346
>>266341
Всё просто - эти костыли идут куда подальше, а нормальные варианты ты исключил
203 3267252
>>266341
Делай git pull на сервере, мудилу выше не слушай.
204 3267938
Ваши мнения насчет Airflow, его администрирования и пихания в Кубер?

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

Нужны советы опытных девопсин. Мнения и опыт дата-инженегров тоже приветствуются
205 3268300
Пердолики на месте?
206 3268600
>>267252
Сам ты мудила. Его задача - откат на прошлую версию. Если он в рецептах не будет прибивать всё к хэшам или хотя бы версиям, то в какой-то случайный момент никакого отката не случится, хоть ты усрись со своим гитом 10 раз.
Выбором бы мог стать ghcr.io, но он его отмёл.
207 3270578
Какие подводные если в простом случае миграцию в инит контенер для пода в веб сервисом запихать?
208 3270587
>>270578
Точнее все не так. В инит контейнере k8s-wait-for который следит за статусом джобы в которой уже миграция выполняется
Untitled.png64 Кб, 300x100
209 3271067
>>270587
Я чот не понимаю, объясни мне плез, зачем тебе ждать выполнения миграции? У тебя в любом случае во время развертывания будут параллельно работать поды твоего бекенда в предыдущей версии. А значит миграция не должна для них ничего ломать. Что в свою очередь значит что новый выкатываемый код должен работать в переходном варианте в совместимости с базой в предыдущей версии. (например если ты добавляешь какой-то столбец на основе информации из старого, то новый код должен заполнять в оба столбца, а старый еще работающий будет заполнять только старый про существование которого знает).
Помоему вот эта сама идея ожидания, если взглянуть на неё в общем, как на концепт - она весьма порочна. И выглядит как будто бы в систему работающую декларативно пытаются внести какой-то цикл с логикой (какие-то while if break else continue), т.е. делают императивщину из того что для этого и не предназначено.
Алсо: кекнул от капчи с кубирнетисом.
210 3271069
>>271067
Часть сервисов может позволить себе stop the world

мимо
211 3271071
>>271067
Не совсем корректно написал и много буков.
Коротко: нужно отделять выкладывание нового кода от миграций необходимых для него.
212 3271132
>>271067
>>271071
Так миграции не должны ломать работу старого кода (могут, но надо делать так чтобы не могли), а новый код не может работать со старой схемой.
Поэтому обновленный pod вебсервиса не стартует пока не закомплитится куберджоба с миграцией.
https://medium.com/codex/database-migration-when-your-service-is-running-in-kubernetes-abbe9697421d
https://medium.com/@jonastm/database-migration-with-a-kubernetes-job-and-initcontainers-d196dec8ac96

я наблюдаю в тилте что все сериализуется нормально

Но может что умнее подскажете чем это...
213 3292399
bump thread
sage 214 3292583
>>292399
Зачем?
215 3294916
работал кто с apache tomcat через systemd? в конторе на нем крутится справочник и там какието сервлеты-хуеты для джабаёбов, .war архивы и прочая. насколько мозгоёбно эту хуйню деплоить и траблшутить? (пока чекал только логи в catalina.out и не ебу нихуя)
216 3294919
>>294916
Бля, мне аж хуёво стало. Трогал томкэт только вскользь и давно, но какие то дикие вайбы иис'а от него
217 3295534
>>294916
Верни мой 2007й.
а как.jpg10 Кб, 384x325
218 3297131
У меня зеленый вопрос. У меня вертелся сайт на докере. Я туда не заходил месяц. Зашел щас сайт лежит, залез в админку хостинга, там в консоли написано что процесс убит потому что память кончилась.
У меня в докер композе уже стоит настройка перезапускать при падении.
Почему эта хуйня упала и как какать?
219 3297339
>>297131
Я такую херню ещё в 2005 году поднимал, для авторестарта httpd 1.3 блять , называлось daemon tools от доктора Бернштейна.
220 3297428
>>297131
Так какой процесс был убит через оом? Мб он у тебя сам докер ебнул и нужно было ручками перезапускать демона
221 3297505
>>297428
Ну основной ноджс процесс был убит первым. Сам докер вроде не был убит, потому что у меня скрипт перезапускающий контейнеры сработал без пердолинга значит докер демон был живой.
222 3297633
>>297505
Вангую, нахуевертил с entrypoint.sh, у тебя умерла апа, но не умер корневой процесс контейнера.
Во первых, настроить HEALTHCHECK (внимательно читай инструкцию к нему, для автоматического перезапуска нездорового контейнера понадобится какой-нибудь костыль типа autoheal).
Во-вторых uptimerobot. Ты проактивно не закроешь все дыры. Нужна минимальная обратная связь о здоровье сервиса.
image.png169 Кб, 2612x618
223 3297642
Есть кто за терраформ шарит? Создаю кластер и нодгруппу на аккаунте авс, все создается ок, но при созданнии сервиса и деплоя вылетает такая ошибка, такая же когда добавляю pv, pvc. Все политики и разрешения добавил, где я проебался?
224 3299726
>>297642
Через терраформ в куб только долбаебы деплоят, страдай
225 3300079
>>299726
Поддержу этого господина.
>>297642
Выглядит будто бы он конектится в локалхост. Обычно такое (без терраформа) происходит когда какие-то проблемы с .kube/config.
226 3300360
>>299726
Но ведь терраформ - база. Не через ансибл же деплоить..
227 3302270
>>297642
Деплой через модули написанные в инете. Там все есть
228 3307033
>>299726
А через что деплоить?
229 3307037
Алсо реквестирую какие-то адекватные видосы по екс, типа за что отвечают все эти впс, секьюрити группы и прочая анальная боль с пермишенами
230 3308449
как вкатиться?
231 3308613
>>308449
Начни пользоваться собственной инвалидкой.
232 3308645
>>308613
Я так и вкатился. Сперва пользовался инвалидками, типа убунты и минта, потом дистрохопил, потом на курсы по девопсу пошел, потом в сбер попал
233 3308648
>>307037

>Алсо реквестирую какие-то адекватные видосы по екс, типа за что отвечают все эти впс, секьюрити группы и прочая анальная боль с пермишенами


Aws eks штоле? А чё там понимать, есть документация. Если кратко:

1. vpc - это изолированная подсеть, чтобы протащить эту подсеть в интернет, нужно подключать nat gateway, который стоит в районе $35/месяц.

2. секюрити группы - это просто набор разрешенных/запрещенных портов. ну типа с каких адресов разрешить подключение.

Я обычно не использую vpc, потому что нахуй надо платить лишние бабки.
234 3308713
Помогите пожалуйста с базовой настройкой докера через gitlab. Мне нужн, чтобы мой проект после пуша на гитлаб разворачивался на сервере и был доступен из браузера.

Что есть:
- Мой ПК со средой разработки, гитом и проектом (вообще, это ларавел с пострес базой, но я пока урезал осётра и пытаюсь просто развернуть один сраный файл index.php без фреймворков, баз, композера и прочего оркестра).

- На гитлабе создал аккаунт, репозиторий, ssh ключ и руннер. В списке руннеров он зелёный, со статусом Runner is online.

- Виртуалка с Ubuntu Server, 192.168.64.130.
На ней установил GitLab Runner:
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
sudo apt-get install gitlab-runner

Настроил сам руннер:
gitlab-runner register
URL GitLab: https://gitlab.com/
Токен: тут_мой_токен
Тип Runner-а: docker
name for the runne: runn_local
default Docker image: php:8.3-fpm
-вот этот момент я не понял
gitlab-runner status возвращает gitlab-runner: Service is running
gitlab-runner verify возвращает Verifying runner... is valid
То есть, руннер, вроде как, нормально работает.

И ещё тут настроил /etc/gitlab-runner/config.toml: https://pastebin.com/9R9130bY

На той же Убунте установил докер.
Заодно сделал запуск докера от обычного юзера: sudo usermod -aG docker gitlab-runner
Команда systemctl status docker возвращает active (running). Вроде всё тоже ок.

Затем в проекте создал Dockerfile
FROM php:8.3-fpm
COPY . /var/www/html


и .gitlab-ci.yml: https://pastebin.com/dQBJ7VdQ

Пушу в гитлаб, повляется новый пайплайн и на этапе деплоя валится ошибка:
$ docker run -d -p 8080:80 myapp
Unable to find image 'myapp:latest' locally
docker: Error response from daemon: pull access denied for myapp, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
Cleaning up project directory and file based variables 00:00
ERROR: Job failed: exit code 125

Я уже осатанел. Чатгпт водит кругами, в статьях по докеру каждый пишет свои версии конфигов (которые обязательно не подходят мне и не работают), а мне нужно просто развернуть эту хрень ну хоть как-нибудь, чтобы уже начать разбирать подробно все части конфигов. Пока что у меня ноль понимания, как это работает. В чём сейчас у меня ошибка?
234 3308713
Помогите пожалуйста с базовой настройкой докера через gitlab. Мне нужн, чтобы мой проект после пуша на гитлаб разворачивался на сервере и был доступен из браузера.

Что есть:
- Мой ПК со средой разработки, гитом и проектом (вообще, это ларавел с пострес базой, но я пока урезал осётра и пытаюсь просто развернуть один сраный файл index.php без фреймворков, баз, композера и прочего оркестра).

- На гитлабе создал аккаунт, репозиторий, ssh ключ и руннер. В списке руннеров он зелёный, со статусом Runner is online.

- Виртуалка с Ubuntu Server, 192.168.64.130.
На ней установил GitLab Runner:
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
sudo apt-get install gitlab-runner

Настроил сам руннер:
gitlab-runner register
URL GitLab: https://gitlab.com/
Токен: тут_мой_токен
Тип Runner-а: docker
name for the runne: runn_local
default Docker image: php:8.3-fpm
-вот этот момент я не понял
gitlab-runner status возвращает gitlab-runner: Service is running
gitlab-runner verify возвращает Verifying runner... is valid
То есть, руннер, вроде как, нормально работает.

И ещё тут настроил /etc/gitlab-runner/config.toml: https://pastebin.com/9R9130bY

На той же Убунте установил докер.
Заодно сделал запуск докера от обычного юзера: sudo usermod -aG docker gitlab-runner
Команда systemctl status docker возвращает active (running). Вроде всё тоже ок.

Затем в проекте создал Dockerfile
FROM php:8.3-fpm
COPY . /var/www/html


и .gitlab-ci.yml: https://pastebin.com/dQBJ7VdQ

Пушу в гитлаб, повляется новый пайплайн и на этапе деплоя валится ошибка:
$ docker run -d -p 8080:80 myapp
Unable to find image 'myapp:latest' locally
docker: Error response from daemon: pull access denied for myapp, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
Cleaning up project directory and file based variables 00:00
ERROR: Job failed: exit code 125

Я уже осатанел. Чатгпт водит кругами, в статьях по докеру каждый пишет свои версии конфигов (которые обязательно не подходят мне и не работают), а мне нужно просто развернуть эту хрень ну хоть как-нибудь, чтобы уже начать разбирать подробно все части конфигов. Пока что у меня ноль понимания, как это работает. В чём сейчас у меня ошибка?
235 3308716
>>308713
Эээ ну наверно в докерфайле нужно делать docker run -t myapp и прочие параметры, но это не точно
236 3308943
>>308648
Мне нужно поднять кластер (их потом будет много разных) со всеми ), нодгруппы в которой крутиться мое приложение(фронт + бек), которое должно иметь доступ к рдс в которой уже настроена моя бд и подключена к дефолтному впс. Дефолтную впс я использовать не могу т.к. кластеров будет много и они будут конфликтовать.
Что я сделал:
- создаю впс под кластер
- делаю паблик роут тейбл + интернет гейтвей
- под роут тейбл добавляю сабнеты
- добавляю впс пирининг для конекта моей впс и дефолтной впс на которой рдс
- прописываю секьюрити группы под впс

В итоге я неделю сосу хуй, коннекта с моих контейнеров к бд нет и я не могу понять где я проебался, я не понимаю как дебажить это говно. Базу то я знаю +- мне чуть глубже надо.
237 3308953
>>308713

> docker: Error response from daemon: pull access denied for myapp, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.


Ты перед пулом делаешь докер логин и он возвращае саксесс? Если да, посмотри как записан твой контейнер в реждистри, он может создаваться как myapp-myimage:latest и тогда пул его не видит.
gkee3xdcfdz11.png88 Кб, 664x500
238 3309108
>>308943
Добро пожаловать в aws, как говориться. Тебе придётся прописать 100500 миллионов конфигураций, прежде чем это всё заработает. Вообще, не изобретай велосипед. Разверни вот этот шаблон ---> https://github.com/aws-samples/aws-saas-factory-eks-reference-architecture С нуля ты заебёшься это всё создавать, месяца два уйдёт чтобы накостылить то что ты хочешь. Aws уже подсуетился за тебя, ты всё равно всех супер-тонкостей не знаешь.

Вот пример с vpc + eks + секюрити группами, как это грамотно делается
https://github.com/aws-samples/aws-saas-factory-eks-reference-architecture/blob/main/lib/eks-cluster-stack.ts

Я надеюсь, ты же ведь не из админки ручками создаёшь, ведь так? Если да, то это пиздец. Там только в шаблоне заменишь dynamodb на rds, и может споты включишь.
239 3309641
>>308953

>Ты перед пулом делаешь докер логин и он возвращае саксесс? Если да, посмотри как записан твой контейнер в реждистри


Честно говоря, ничего не понял. Я делаю только то, что описал выше. Может, посоветуешь какой-то мануал для особо тупых с нуля?
240 3309765
image.png312 Кб, 800x450
241 3310121
>>308648
ты не путаешь vpc с private subnet?
242 3310133
>>308943
На всякий уточню, в VPC A прописаны роуты к VPC B? в VPC B прописаны роуты к VPC A? DNS resolution for peering connections включен?
Нужно убедиться, что на сетевом уровне все ок, для начала - https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-routing.html
По-моему, придется руками создать DNS запись в твоей EKS VPC, которая указывает на RDS, но могу пиздеть.
У тебя есть еще причины, кроме

>Дефолтную впс я использовать не могу т.к. кластеров будет много и они будут конфликтовать.


Какие кластера будут конфликтовать? Опиши ситуацию, может ты не очень подходящее решение выбрал
243 3310203
>>308713
В gitlab-ci у тебя только сборка. Тебе нужно docker push прописать. Как вариант в реджистри самого проекта в гитлабе. Тогда с кредами запары меньше будет
244 3310206
>>307033
>>300360
Flux, argocd или их комбинация от задачи - будут за тебя деплоить, сам стейт в репо так что не проебешь
245 3310449
>>210621 (OP)
Всем доброго времени суток.
Давно решался на вкат куда-либо и аноны с другой доски ,отталкиваясь от моего образования, конечно получал я его достаточно давно - это даже не вышка, но за это время сильно дегродировал,посоветовали мне devops.
Буду ставить линукс, а пока расскажите
С чего мне начать?
Условия в которых я нахожусь не самые хорошие ,но есть доступ к ноуту и огромное желание развиваться. Я понимаю ,что есть курсы - большая часть из которых это "парашаунитазная". Может есть хорошие пусть и платные курсы.
Я готов и без курсов заняться самообразованием, много читать и записывать нужное для себя.
В интернете искать бестолку, так как там рыночек потребления и все предлагают своё.
Короче говоря двигаюсь в этом направлении.
Кто может расписать по пунктам , что следует изучать, может у кого есть ссылки на ресурсы?
Одним словом помогите
246 3310472
>>310449

>но за это время сильно дегродировал,посоветовали мне devops



А че, норм. С просмотра вакансий начни и выпиши список требований. Начинай учить те что встречаются чаще всего
247 3310509
Анонусы, напишите бекендеру краткий гайд по простенькому CI/CD для петов/проектов для хака/учебных проектов. Чисто чтобы по кнопке заливалось на тачку
Вводные: бек на го, использует постгрю и кафку, сам код хранится на гх, я читал доку GitHub Actions, вроде можно на своем железе сделать раннер, но я так и не понял, можно ли через него делать CD

Или на коленке это хер сбацаешь и лучше найти студентика девоспера
248 3310573
>>310509
Можно делать что угодно, в общем-то.
Рассматривай всю эту ебалу как обычный скрипт. Скажешь - будет и CI и СD и тесты и линтеры, даже небо, даже Аллах.
А приложение-то где запущено? виртуалка/кубер/лямбда функция/еще какая-то хуйня?
249 3310590
>>310573

> А приложение-то где запущено?


Локально)

Как раз нужно где то эту ебалу поднять, пох платно/бесплатно, чтобы была кнопка "накатить версию" и все
Если надо будет арендовать VPS, арендую
Чтобы по айпишнику можно было через постман дернуть сервис да логи посмотреть
250 3310609
>>310590
На vps ставишь k3s без traefik. Ставишь нормальный ингресс.
Прикручиваешь днс.
В пайплайне делаешь шаг kubectl apply -f файла с мантфестами (попроси чатгпт тебе сгенерировать)
Логи смотреть через kubectl/дашборд/плагин в иде.
Это самый бомжатский вариант
251 3310625
>>309108
Добра, буду разбираться

>>310133

> На всякий уточню, в VPC A прописаны роуты к VPC B? в VPC B прописаны роуты к VPC A? DNS resolution for peering connections включен?


Роуты прописаны, на счет днс не уверен

> Опиши ситуацию, может ты не очень подходящее решение выбрал


Есть авс аккаунт на котором стоят: рдс с кучей баз внутри, такая же куча ec2 которые подключены к рдс, все это на дефолтной VPC с дефолтными секьюрити. Теперь нужно все это добро перенести в екс кластеры и они должны быть изолированы друг от друга. В идеале мне нужно сделать шаблон который бы поднимал кластер с нод группой и остальными приколами и оно сразу работало.

> Какие кластера будут конфликтовать?


Я попробовал использовать дефолтную впс, но при деплое мне выдало ошибку про конфликт(уже не помню что именно) + чатгпт и на остальных ресурсах пишут что это плохая практика. Но я только вкатываюсь и пока толком ниче не понимаю как это должно быть
252 3310626
>>309108
Добра, буду разбираться

>>310133

> На всякий уточню, в VPC A прописаны роуты к VPC B? в VPC B прописаны роуты к VPC A? DNS resolution for peering connections включен?


Роуты прописаны, на счет днс не уверен

> Опиши ситуацию, может ты не очень подходящее решение выбрал


Есть авс аккаунт на котором стоят: рдс с кучей баз внутри, такая же куча ec2 которые подключены к рдс, все это на дефолтной VPC с дефолтными секьюрити. Теперь нужно все это добро перенести в екс кластеры и они должны быть изолированы друг от друга. В идеале мне нужно сделать шаблон который бы поднимал кластер с нод группой и остальными приколами и оно сразу работало.

> Какие кластера будут конфликтовать?


Я попробовал использовать дефолтную впс, но при деплое мне выдало ошибку про конфликт(уже не помню что именно) + чатгпт и на остальных ресурсах пишут что это плохая практика. Но я только вкатываюсь и пока толком ниче не понимаю как это должно быть
253 3310639
>>310509
Если я правильно понял то тебе просто нужно прописать 1 конфиг конфиг ci который бы при пуше в репозиторий тригерил твой ранер локальный и делал git pull.
254 3310691
>>310625
там тебе k3s советуют, но это, наверное, если тебя слегка попердолиться тянет.
Если что-то более наколеночное нужно, то можно
1. Сделать машину, на которой запущено приложение github runnerом
2. Создать свой сраный workflow. Тут уже зависит от того, как у тебя сделано сейчас/как ты хочешь/как ты можешь - в целом, должно быть что-то такое по стадиям:
- Чекаут - качаем код на целевую машину
- Настройка энва, т.е качаем Go, какие-то зависимости, устанавливаем значения переменных (переменные и их значения можно хранить прямо в GitHub)
- Билд - собираем, получаем бинарник/контейнер, в общем конечный артефакт
- Заменяем текущую хуйню на сбилженую хуйню
Максимально простой пример
# .github/workflows/deploy.yml
name: Simple Go Deployment

on:
push:
branches: [ main ]
workflow_dispatch:

env:
APP_NAME: sampleapp
DEPLOY_PATH: /opt/sampleapp

jobs:
deploy:
runs-on: self-hosted

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Go
run: |
go version
go env -w GOPROXY=direct

- name: Build application
run: |
go build -o ${{ env.APP_NAME }}

- name: Deploy
run: |
# Stop existing service if running
sudo systemctl stop ${{ env.APP_NAME }} || true

# Create deploy directory if it doesn't exist
sudo mkdir -p ${{ env.DEPLOY_PATH }}

# Copy new binary
sudo cp ${{ env.APP_NAME }} ${{ env.DEPLOY_PATH }}/

# Set permissions
sudo chown -R go-app:go-app ${{ env.DEPLOY_PATH }}
sudo chmod +x ${{ env.DEPLOY_PATH }}/${{ env.APP_NAME }}

# Start service
sudo systemctl start ${{ env.APP_NAME }}

Принцип должен быть понятен, наверное. Я, обычно, всякую личную мелочь пихаю в docker-compose, все что нужно потом,это подменить (тупой sed compose файла, например) версию image на нужную, ну и что бы нужная версия image была где-то доступна) docker hub или локальный registry, как вариант. Сразу скажу, что никакими хорошими практиками тут и не пахнет.
254 3310691
>>310625
там тебе k3s советуют, но это, наверное, если тебя слегка попердолиться тянет.
Если что-то более наколеночное нужно, то можно
1. Сделать машину, на которой запущено приложение github runnerом
2. Создать свой сраный workflow. Тут уже зависит от того, как у тебя сделано сейчас/как ты хочешь/как ты можешь - в целом, должно быть что-то такое по стадиям:
- Чекаут - качаем код на целевую машину
- Настройка энва, т.е качаем Go, какие-то зависимости, устанавливаем значения переменных (переменные и их значения можно хранить прямо в GitHub)
- Билд - собираем, получаем бинарник/контейнер, в общем конечный артефакт
- Заменяем текущую хуйню на сбилженую хуйню
Максимально простой пример
# .github/workflows/deploy.yml
name: Simple Go Deployment

on:
push:
branches: [ main ]
workflow_dispatch:

env:
APP_NAME: sampleapp
DEPLOY_PATH: /opt/sampleapp

jobs:
deploy:
runs-on: self-hosted

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Go
run: |
go version
go env -w GOPROXY=direct

- name: Build application
run: |
go build -o ${{ env.APP_NAME }}

- name: Deploy
run: |
# Stop existing service if running
sudo systemctl stop ${{ env.APP_NAME }} || true

# Create deploy directory if it doesn't exist
sudo mkdir -p ${{ env.DEPLOY_PATH }}

# Copy new binary
sudo cp ${{ env.APP_NAME }} ${{ env.DEPLOY_PATH }}/

# Set permissions
sudo chown -R go-app:go-app ${{ env.DEPLOY_PATH }}
sudo chmod +x ${{ env.DEPLOY_PATH }}/${{ env.APP_NAME }}

# Start service
sudo systemctl start ${{ env.APP_NAME }}

Принцип должен быть понятен, наверное. Я, обычно, всякую личную мелочь пихаю в docker-compose, все что нужно потом,это подменить (тупой sed compose файла, например) версию image на нужную, ну и что бы нужная версия image была где-то доступна) docker hub или локальный registry, как вариант. Сразу скажу, что никакими хорошими практиками тут и не пахнет.
255 3310737
>>310509
Хуле там расписывать блять, в интернете всё есть. Заходишь на гитхаб, вбиваешь в поиск "go path:.github/workflows lang:Yaml" и копируешь интересные файлики себе.

Вот прямая ссыль на поиск:
https://github.com/search?q=go+path%3A.github%2Fworkflows+lang%3AYaml&type=code
image.png64 Кб, 2546x652
256 3310797
>>310626
Макака, пидарас, опубликуй список ебаных спам слов, ты ебанутый что ли?
Текст поста приложил пикчей
257 3310944
Какие сейчас компании есть в дс, которые набирают лошков на обучение сразу с зп 100+?
258 3310976
>>310691
Ебать, какая же залупа. Все это ваше DevOps ci\cd , оно существует исключительно в конторах от 10 человек. То есть нельзя быть домашним хиккой, дрочить в соло линуксы, и в рамках хобби прожектов додрочиться до devops. Потому что DevOps не проистекает натуральным образом из никакого хобби прожекта. Он применим только в средней или большой коммерческой фирме.

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

Но вот DevOps, он просто не может быть хобби, это сугубо работа мать ее за деньги, на дядю , с 9 до 18 плюс созвоны и переработки.
259 3310984
>>310976

>Пук


Чего сказать то хочешь?
260 3310990
>>310984

> Чего сказать то хочешь?


То что вы все офисная рабская соя.
Вроде и работаете с линупсом, но обмазанным таким слоем вендорского корпоративного кала, что никакой романтики в этом нет.
261 3311052
>>310990
ой, иди ты нахуй
опенсорс проектов хоть жопой жуй, только выбирай
дома додрочиться до этого сложно, потому что дома в хуй не впились сборки на каждый пук, с ебнутыми требованиями, но при желании - возможно
работа с линупсом, кстати, не обязательна.
а без вендорского кала,у тебя не получилось бы даже пост тут опубликовать. хуею с этих колокольчиков из манямирка, что б тебе зарплату платили валентинками, пидарас ты тупой
262 3311248
>>311052

>что б тебе зарплату платили валентинками


Ну а хули, романтично, большинство же за идею работают лол. Каникулы что ли начались какая-то школота по тредам бегает
263 3311502
>>310976
Всё так. А можно задрачивая линукс и сети дома додрочиться до безопасника или там тестировщика/пентест-хацкера? Или хотя бы до просто сисадмина?
264 3311997
Когда автоматизируют девопсеров?
Для СI/CD есть Auto DevOps в гитлабе. Для небольших команд.
Также ChatGPT o1 сам за минуту напишет pipeline средней сложности.
Через пару лет эволюции эту штука сама будет все фиксить и настраивать по промту
265 3312203
>>311997

>Когда автоматизируют девопсеров?


Я плейбуки, докерфайлы и пайплайны давно уже aider'ом пишу. Надо только примеров удачных в контекст добавить и версии перепроверить, он в них не силён.
А так у меня вся работа свелась к тому чтобы орать на разрабов чтобы они метрики и хелсчеки добавлять не забывали.

Алсо autodevops - говно. Разобраться как он работает дольше, чем свои пайплайны писать.
266 3312766
>>311997

> Когда все бизнесы станут одинаковыми?



Ну я, блять, даже не знаю!
Если все бизнесы будут одинаковым, то в первый бизнес будучи самым прибыльным перетекут все деньги и он остается на планете один.
вот тогда и не нужно будет разбираться ни в чем новом и нейросеть автоматизирует все роли.
267 3313314
>>310797
Добра анон
0oRRpMJ9XqkRnYLhW[1].png404 Кб, 700x700
ChatGPTGH Copilot ниасилил простую задачку Kenya-West 268 3315163
Учу Ansible просто потому что нравится вот уже месяцев 5, а по ощущениям - года два трахаюсь в позиции снизу. Но суть не про сладострастные ощущения, а просто фан факт заметил кой-какой. Чекаем.

ля vars:

vars:
dir_list:
- src: "{{ source_asset_fullpath_common }}"
dest: "{{ dest_project_rootpath }}"
default_mode: '0775'
- src: "{{ source_asset_fullpath_project }}"
dest: "{{ dest_project_rootpath }}"
default_mode: '0775'

- cоздать роль, которая копирует всё содержимое папку из src в папку dest, включая вложенные папки, и так же шаблонизировать файлы j2, убрав расширение j2.

Чего только я ни писал из того, что мудрили индийцы на SO и нейронки GPT-o1... Везде ошибки с экранизацией переменных в роли или просто конфликтом `loop`, `with_community.general.filetree` и `file_glob`, испольуземых одновременно.

В итоге решилось всё это питонячим скриптом, лежащим в action_plugins: https://github.com/geluk/template_tree
Кста, на весь Гитхаб три с половиной решения моей хотелки.

Ну и как вызывать сее питоняшное гумно в плейбуке:

- name: Copy files recuresively and template them
template_tree:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
file_mode: "{{ item.default_mode | default('0775') }}"
directory_mode: "{{ item.default_mode | default('0775') }}"
with_items: "{{ dir_list }}"

Интересно, это Ansible плохо расположен к таким задачам, или нейросети ниасилили довольно простой кейс?
0oRRpMJ9XqkRnYLhW[1].png404 Кб, 700x700
ChatGPTGH Copilot ниасилил простую задачку Kenya-West 268 3315163
Учу Ansible просто потому что нравится вот уже месяцев 5, а по ощущениям - года два трахаюсь в позиции снизу. Но суть не про сладострастные ощущения, а просто фан факт заметил кой-какой. Чекаем.

ля vars:

vars:
dir_list:
- src: "{{ source_asset_fullpath_common }}"
dest: "{{ dest_project_rootpath }}"
default_mode: '0775'
- src: "{{ source_asset_fullpath_project }}"
dest: "{{ dest_project_rootpath }}"
default_mode: '0775'

- cоздать роль, которая копирует всё содержимое папку из src в папку dest, включая вложенные папки, и так же шаблонизировать файлы j2, убрав расширение j2.

Чего только я ни писал из того, что мудрили индийцы на SO и нейронки GPT-o1... Везде ошибки с экранизацией переменных в роли или просто конфликтом `loop`, `with_community.general.filetree` и `file_glob`, испольуземых одновременно.

В итоге решилось всё это питонячим скриптом, лежащим в action_plugins: https://github.com/geluk/template_tree
Кста, на весь Гитхаб три с половиной решения моей хотелки.

Ну и как вызывать сее питоняшное гумно в плейбуке:

- name: Copy files recuresively and template them
template_tree:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
file_mode: "{{ item.default_mode | default('0775') }}"
directory_mode: "{{ item.default_mode | default('0775') }}"
with_items: "{{ dir_list }}"

Интересно, это Ansible плохо расположен к таким задачам, или нейросети ниасилили довольно простой кейс?
1730667476201.jpg78 Кб, 564x423
269 3315206
Сохранил пост данного господина, насколько правильный подход в нем описан? Ну по вашему мнению.

> выкатываю базу:



> работать работу и учить учебу это две разные вещи.



> то что ты получишь в процессе обучения не даст тебе абсолютно никакого практического опыта, поэтому что-то заучивать нет смысла вообще.



> за 4 месяца двух корешов устроил на первую работу за сотыгу



> для успешного найма тебе понадобится:



> ТАКИЕ



> ЗНАНИЯ



> КАК



> докер, докер компот к нему.



> выучить синтаксис, из чего строится файл, без чего его не создать, как оптимизировать размер образа и т.д и т.п.



> самый излюбленный вопрос на собесах - отличие add от copy, компоненты докера ( обычно задают в конце, если от зубок говоришь неймспейсы и сигруппы от тебя отъебываются и идут дальше).



> ансибл.



> знать синтаксис недостаточно, нужно писать все самому и смотреть что зачем и почему. гуглишь бест практикс, регаешь гугл клауд, берешь тачку и ставишь на него все подряд через ансибл.



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



> кубер, гитлаб.



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



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



> гитом надеюсь пользоваться умеешь. пушишь репу, смотришь у индусов как пайплайн строится, пару раз по видосу делаешь, дальше плаваешь сам.



> в целом это все, я не пишу про знания линуха потому что без этого вообще не надо рыпаться в девопс, очень мало компаний где работают на другой платформе. как настроить нгинкс и все остальное дело пары дней, смотришь по вакансии что нужно и подгоняешь.



> РЕЗЮМЕ



> если у тебя трудовая измазана в не айтишной тематике то смело нахуй.



> если у тебя есть опыт в тех поде или где-то еще, то пишешь что работал девопсом, в трудовой обычно не пишут ТЕХСЫЧ 1 ЛИНИИ, обычно у всех что-то около специалист чего-нибудь и все.



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



> на этом все, заебался писать эту залупу.

1730667476201.jpg78 Кб, 564x423
269 3315206
Сохранил пост данного господина, насколько правильный подход в нем описан? Ну по вашему мнению.

> выкатываю базу:



> работать работу и учить учебу это две разные вещи.



> то что ты получишь в процессе обучения не даст тебе абсолютно никакого практического опыта, поэтому что-то заучивать нет смысла вообще.



> за 4 месяца двух корешов устроил на первую работу за сотыгу



> для успешного найма тебе понадобится:



> ТАКИЕ



> ЗНАНИЯ



> КАК



> докер, докер компот к нему.



> выучить синтаксис, из чего строится файл, без чего его не создать, как оптимизировать размер образа и т.д и т.п.



> самый излюбленный вопрос на собесах - отличие add от copy, компоненты докера ( обычно задают в конце, если от зубок говоришь неймспейсы и сигруппы от тебя отъебываются и идут дальше).



> ансибл.



> знать синтаксис недостаточно, нужно писать все самому и смотреть что зачем и почему. гуглишь бест практикс, регаешь гугл клауд, берешь тачку и ставишь на него все подряд через ансибл.



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



> кубер, гитлаб.



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



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



> гитом надеюсь пользоваться умеешь. пушишь репу, смотришь у индусов как пайплайн строится, пару раз по видосу делаешь, дальше плаваешь сам.



> в целом это все, я не пишу про знания линуха потому что без этого вообще не надо рыпаться в девопс, очень мало компаний где работают на другой платформе. как настроить нгинкс и все остальное дело пары дней, смотришь по вакансии что нужно и подгоняешь.



> РЕЗЮМЕ



> если у тебя трудовая измазана в не айтишной тематике то смело нахуй.



> если у тебя есть опыт в тех поде или где-то еще, то пишешь что работал девопсом, в трудовой обычно не пишут ТЕХСЫЧ 1 ЛИНИИ, обычно у всех что-то около специалист чего-нибудь и все.



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



> на этом все, заебался писать эту залупу.

1730668108697.gif909 Кб, 800x600
270 3315214
Алсо решил не дрочить пипиську дома, а сразу пойти в саппорт, на вторую линию. Раз 5 меня взашей гнали метлой, на пятый я подготовился и погнали уже более вежливо. Там я узнал про графану, грейлог, жиру, конфлюенс. Потом пришел домой и узнал про прометус, заббикс, кубернетес и докер.

Насколько я понимаю, в девопсе это все необходимо знать, но раз я иду в поддержку, то встаёт вопрос о необходимости изучения этого всего на данном этапе. То бишь, хотелось бы выделить максимально первостепенные навыки, аналогичные знанию линукса, а далее уже по нарастающей делать акценты и углубляться. В целом, хотелось бы услышать про ваш опыт обучения.
271 3315235
>>308716
>>308953
>>310203
Я всё ещё пытаюсь просто развернуть ссаный сервер с php в контейнере через гитлаб. Всё работает - билд зелёный, деплой зелёный, руннер на гитлабе зелёный, образ в Container Registry обновляется при каждом пуше.

Но на сервере пусто. Что, блин, не так? Эта падла при выполнении скрипта деплоя говорит, что контейнер запущен - но нет, нихуя, нету блядь этого контейнера на сервере! Ну как так-то?! Что это за блядские танцы с бубном? Эта хуйня ДОЛЖНА работать. Она ОБЯЗАНА работать. Она для этого буквально создана. Какого трижды ёбаного хера ей надо?
272 3315259
>>315235
Хули мозг анонам ебешь? Найми индуса (любой национальности) за $20, посмотришь как он сделает.
273 3315271
>>315214
да хули там изучать
просто запомни названия этой хуйни и употреби в интервью
274 3315283
>>315235
ну очевидно что у тебя контейнер пропукивает пару секунд и гасится, так как основной процесс (php-fpm) видимо просто завершается сразу после запуска.
275 3315323
>>315235

Как вариант >>315283 У себя локально проверь что контейнер работает продолжительное время.

А по факту из за того то у тебя dind в деплое ты запускаешь свой контейнер не на хосте а в том сервисном контейнере с докером и конечно после заверения джобы все киляется. Попробуй лучше сокет докера на раннер прокинуть чтоб и сборка и деплой через докер на хосте шел, так даже быстрее будет
276 3315325
>>315235
>>315323

А у тебя итак сокет прокинут, из cicd удали блок services, должно завестись
277 3315348
>>315163

>Интересно, это Ansible плохо расположен к таким задачам


Это ты просто занимаешься какой-то хуйней.

>которая копирует всё содержимое папку из src в папку dest, включая вложенные папки


Не нужно ни для чего.
- Положи эту директорию в докер образ.
- Сделай 1 шаблонизированный конфиг через jinja и смонтируй его в контейнер.
image.png687 Кб, 1410x774
278 3315586
>>315235
Не понял что ты тут делаешь, тебе явно удалять старый контейнер не нужно при перезапуске с компоуза он сам дропнет старый и поднимет новый.
Если тебе нужно просто поднять nginx то можешь брать образ с официального репозитория и уже туда прокинуть свой конфиг.
Ну и другие аноны правильно писали что контейнер сдыхает судя по всему, у тебя в гитлабовском пайплайне видно что он стартует и он либо дохнет, либо ты его не там ищешь (на другом серваке).
Алсо проиграл с этого шифровальщика
279 3317103
>>315325

>удали блок services, должно завестись


Не, если удалить, то даже билд не запускается.

Я понимаю, что этот билд и деплой запускаются в какой-то волшебной стране розовых единорогов и тут же завершаются, но не понимаю, почему так происходит и как вывести это всё в реальный мир.

>>315586

>Алсо проиграл с этого шифровальщика


Лол, и правда. Ну и ладно, я по привычке обезличивал. Всё равно аккаунт создавал новый, специально для этих экспериментов.
280 3317314
>>317103

>Не, если удалить, то даже билд не запускается.



Скинь ошибку. Ты уверен что у тебя пайплайн на твоем раннере запускается? В пайплайне тегов не вижу а в публичном гитлабе по дефолту шаред раннеры доступны, подозреваю что твой билд на них попал и обмяк - перепроверь это
1219561458694.jpg378 Кб, 1000x500
281 3317731
>>317314

>у тебя пайплайн на твоем раннере запускается?


Вот оно! Вот где собака была зарыта. Выполнялся на одном из дефолтных. А я-то всё не мог понять, где эта страна розовых единорогов. Проверил, увидел чужой тег, отключил к хренам галку Enable instance runners for this project, прописал в конфиге парамер tags для запуска под именно моим раннером. Потом ещё в конфиге раннера на сервере добавил network_mode = "host", чтобы он мог использовать сетевые настройки хоста, и сделал удаление ненужных профилей sudo aa-remove-unknown, потому что без этого юзер мог старотовать контейнер, но не остановить/удалить его.

Всё, у меня настроен минимальный деплой. 16 дней на это потратил (примерно 10 вечеров, часа по 3-4 каждый). Пиздец я днище. И это только на то, чтобы просто запустить. Если бы сразу догадался про то, что после создания своего раннера, гитлабу наплевать на него и нужно прописывать (кучу инструкций нарыл, везде либо нет ничего про теги, либо вскользь), то сэкономил бы половину этого времени, не меньше.
282 3317752
>>317731

>Потом ещё в конфиге раннера на сервере добавил network_mode = "host", чтобы он мог использовать сетевые настройки хоста



Нахуя тебе на ранере это включать? Ты долбаеб нах ему твоя сеть нужна это же не контейнер с твоим пхп. Да даже твоему контейнеру с php это не нужно нахуя себе заранее палки в колеса вставляешь додик?
283 3317765
>>317752
Без этого при билде (или деплое, не помню уже) в логах гитлаба ошибка резолва https://gitlab.com/ . Я загуглил, чё делоть, списал с СО ответ, заработало.

А вот ебучий AppArmor оказывается после перезагрузки снова ебёт мозги. Пока не сделаешь aa-remove-unknown, он не даёт юзеру, который работает с докером, ни останавливать, ни удалять старые контейнеры, мразина. Ёбаный паровоз, всё сделано максимально не для людей, а чтобы ты ощущал свою мизерность и ничтожность.

$ docker stop docker-default || true
Error response from daemon: cannot stop container: docker-default: permission denied
$ docker rm docker-default || true
Error response from daemon: You cannot remove a running container 524660a21fda9c461be8d908b8ad073d7f55d90bf4f3e004ff406c75eab4d686. Stop the container before attempting removal or force remove
$ docker run -d -p 80:80 --name docker-default "$CI_REGISTRY_IMAGE:latest"
docker: Error response from daemon: Conflict. The container name "/docker-default" is already in use by container "524660a21fda9c461be8d908b8ad073d7f55d90bf4f3e004ff406c75eab4d686". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.
Cleaning up project directory and file based variables 00:00
ERROR: Job failed: exit code 125
284 3317769
>>317765

>Ёбаный паровоз, всё сделано максимально не для людей, а чтобы ты ощущал свою мизерность и ничтожность.



Ты просто еблан делаешь через жопу никто так не деплоит кроме госшараг
14836579007120.jpg257 Кб, 1280x1280
285 3317771
>>317769
А как надо? Я серьёзно спрашиваю. Нормальный способ объяснения чего-либо - это сначала дать простой стартер гайд, а потом накидывать в него всякого разного. И потом добавить до кучи уж совсем редкоиспользуемое и сложное в виде справочника. Но я не нашёл ничего, что мне бы помогло, хотя искал много, в браузере почти сотня вкладок с гайдами, конфигами и объяснениями. Они не работали, потому что авторы просто игнорировали какие-то "мелкие вещи". Можно сказать "да ты тупой просто" и я даже спорить не буду.

А AppArmor снёс к хуям. И всё работает.
Screenshot from 2024-11-12 20-18-36.png181 Кб, 1569x864
286 3321252
Заканчивается 2024 год а я только начинаю вкатываться в докер. Скоро свой первый хелоуворд сделаю. Держу в курсе!
287 3321263
>>321252
Чё там вкатываться, на один вечер буквально
288 3321266
>>321263
>>321252
Easy to Learn, Hard to Master
289 3321267
>>321266

>Easy to Learn, Hard to Master


Я себе на это неделю закладываю, дальше буду в jenkins пытаться.
image.png431 Кб, 2318x1260
290 3321489
>>317771
Не знаю как в гитхабе, на гитлабе после создания ранера тебе дают четкую инструкцию что прописать что б зарегать ранер и сделать связь между проектом и ранером. Хз что ты смотрел и где, но это делается за 1 минуту, создаешь ранер с уникальным тегом, тот же тег прописываешь в ранере, все.
291 3322070
На каком уровне необходимо знать сети? Решил пробелы восполнить, скачал книгу, через 5 страниц задохнулся от духоты.
292 3322083
>>322070
У чат гопоты спроси, там и ответы найдёшь. А как вкатишься все рабочие моменты через гопоту решишь.
Не трать время на дрочь технологий! Иди на улицу траву потрогай и на тянок посмотри!
293 3322122
>>322083
Звучит как шутка. Однако времени много таким образом сэкономил. Просто многие усираются за чтение, но я ни одной книги так и не осилил, максимум документация или гайды.
294 3322231
>>322083 >>322122
Книги хороши для сфер в которых ты уже немного шаришь. Они немного упорядочивают знания в голове, заполняют пробелы, разъясняют заблуждения.
С нуля книги конечно нахуй не нужны.
295 3322279
>>322070
мне CCNA хватило, но я и поработал в телекоме немного
296 3322302
>>322070

>На каком уровне необходимо знать сети?


IP, таблица маршрутизации, dhcp, dns, tcp, http. Это база на которой можно работать годами. Остальное при необходимости раскуришь.
297 3322570
Запутался в БАЗЕ:
Допустим, у меня в репозитории есть всякий код и ветка main (или master). Туда все мержится и автоматически раскатывается.

Допустим, происходит какая-то авария и выясняется что код плохо написан (и плохо протестирован тоже).

Какие конкретно команды нужно теперь подать чтобы "перемотать" main назад до старого состояния коммита?
А как потом снова сделать нормально ?

Вот я делаю git revert, но он нудит что не может разобраться куда делся README.

Я понимаю что есть всякая хрень типа helm revert, но хочу разобраться как бы это было бы на чистом git
изображение.png37 Кб, 898x388
298 3322572
>>322570
Понял что он от меня хочет ручного удаления файла и вообще чтобы я создал коммит, который действительно удалил бы файлы.

Но это разве нормально?
как в git традиционно решали эту проблему?
299 3322885
>>322570
Пасаны, я все понял!
Просто я английский херово понимаю.
git revert не откатывает ДО указанного коммита, а откатывает указанный коммит.

В моей ситуации нужно указать список коммитов чтобы откатиться к началу.
300 3323008
Топовый тред
Ничего не понятно, но тред однозначно топовый
301 3323262
>>323008

>Ничего не понятно


А ты у чат гопоты спрашивай если что.
1731690169039.jpg58 Кб, 720x544
302 3323280
>>323262
Я в двачгпт запросы отправляю.
303 3323653
Вы Линукс на каком уровне знаете? Я сейчас просто башшел по низам прошел, и вот думаю, что дальше: Ansible, докер и за кубер взяться.
304 3323658
>>323653

Я хуею как девопсы сразу на высокий уровень абстракции залетают. А если внутри контейнера что-то отгнило, то вяло обмякают.
305 3324117
Вопрос не совсем про девопсов, но про докер и гит. Тред с системами контроля версий утонул.

1. Есть n репов, в каждой лежит докерфайл. Всё это нужно склеить через docker-compose воедино. Как это всё лучше организовать, чтобы надо мной не смеялись?
Как мне видится, можно:
- упразднить все отдельные репы и сделать одну гигантскую репу со всем этим говном, где оно будет сразу лежать иерархически
- сделать отдельную репу с докер-компоуз.ймл и в ней сделать какой-нить ./deploy.sh который склонирует/пульнет репы по мере необходимости (или симлинкнет, если мы на локалхосте в дев-режиме).
- вообще не индексировать докер-компоуз.ймл
У каждого решения минусов больше, чем плюсов, поэтому наверняка есть варианты лучше.

2. Ещё важный фактор: часть сервисов потихоньку начинает опираться на один и тот же код и одни и те же шеллскрипты для всякого мейнтейненса, генерации бойлерплейта, etc. Есть варианты, как это расшарить, кроме очевидных гитовых сабмодулей, которые мне насрут несколько чекаутов одинаковой хуйни?

Дево-пёсики, миленькие, помогите!
306 3324148
>>324117
submodules
307 3324227
>>324148
Что сабмодульс? Все репы подключать сабмодулями в "корневую" репу с docker-compose и расшаренное тоже подключать через сабмодули в репах, которые и сами сабмодули? Неужели у проблемы совсем нет хороших решений?
308 3324231
>>324117
Каждая репа должна высирать свой артефакт: образ, бинарник, скрипт.
Отдельная репа с docker-compose, пайплайном пуллит в себя все эти образы, тянет бинаркники и делает up.
309 3324236
>>324231

>пуллит в себя все эти образы


В смысле? Просто качает их с какого-нибудь гитлаба, подразумевая, что они там уже собранные лежат, а если не лежат - это проблемы репы, для которой не собрался образ?
310 3324239
>>324236

>Просто качает их с какого-нибудь гитлаба, подразумевая, что они там уже собранные лежат


this

>если не лежат - это проблемы репы


this
Чем самостоятельнее и изолированее артефакт, тем крепче ты спишь
311 3324283
>>324117
Чёт блять какая-то хуйня понаписана. Твоя проблема вообще не в докере. А в общей черезжопной организации проекта, где всё держится на каких-то шеллфайлах деплоя deploy.sh. Вместо того, чтобы сделать отдельный проект, а-ля my-project-infrastructure, где декларативно описывать инфраструктуру кодом, то есть взять какой-нибудь pulumi или terraform или ещё что. Где все саб-проекты можно организовать в стеки. А эти шелл файлы деплоя снести нахуй, докер компоуз можно оставить для локальной разработки, чтобы поднять все сервисы сразу.
312 3324433
>>324117
Если у тебя прямо очень много репо, то скорее всего это микросервисы. Микросервисы - это про копирование кода (в отличии от SOA). Тогда тебе нужно просто взять и скопировать свои докерфайлы и т.д., это будет самое простое и правильное решение.
Переиспользовать docker-compose - это бред. Там нечего переиспользовать.
Ну что ты хочешь распространять? Настройки логирования? Так это 4 строчки. Что еще?
Жутко параметризованная очень простая хуйня, гораздо хуже просто втупую скопированной хуйни.
313 3324473
>>324433

>скорее всего это микросервисы


Бинго.

>Ну что ты хочешь распространять?


Судя по всему, ты про вторую часть вопроса. Распространять код. Есть либа our_proprietary_shit, которая экспортирует класс Foo. Микросервису A нужен класс Foo. Микросервису Б нужен класс Foo. Это совершенно разные сервисы решающие совершенно разные задачи, но конкретно класс Foo нужен обоим. Как лучше всего поделить между ними класс Foo? Ты предлагаешь его тупо скопировать? Неохота в нескольких местах править, если надо будет внести изменения.
1731875098759.jpg69 Кб, 640x549
314 3324479
Слушайте, а почему именно девопс? Почитал что бывалые пишут, и в большинстве случаев сетуют о лютом дрочилове. Если отбросить деньги, то что вас держит в этой сфере?

И вообще как вы этому пришли и что на вас повлияло? Именно на решение и выбор.
315 3324634
>>324479
Ну бля странный вопрос. А почему нет? Да никто ничего не выбирал. Просто тыкался во все двери и в девопсе открыли. Вот и вся история. Чистый рандом. Это не то что я прям сидел и думал, тааак куда же мне пойти. Я вообще сильно не привязан. Могу в блокчейн перейти или бекенд, это не принципиально. Что хорошего в этой профессии? Нууу можешь одной командой развернуть целый дата-центр. Это же круто.
316 3324696
>>324634
Ну вот знаю челика, он был кодерком. Потом так вышло, что в их молодежном стартапчике ливнул девопсер, и часть его обязанностей накинули на этого челика. Пришлось раскуривать эту тему по немногу, так где то месяца два. Потом туда пришел новый девопсер, его привели к челику и сказали, вот это Вася Плюшкин, он тут крутил воротил до тебя, он тебя введет в курс дела. Тот стал выебываться типо пиздец ты тут хуйни натворил, челик ему возбухнул - покажи, говорит, как надо. Ну и тот ему стал показывать и на челика пришло озарение, что ему интересней вот это. Ну и дальше пошло поехало. Так и свичнулся из разрабов в опсы
317 3324697
>>324696
А по зп/ебланству времени в день как изменился не говорил?
318 3324736
Сап, двасиэйч. Открыл доку по куберу, а там МНОГАБУКОВ. Если читать всё подряд с моей скоростью чтения на инглше - это 100+ часов. Плюс ещё одно и то же можно сделать разными способами, например kubeadm или kubespray. Есть советы по тому, как оптимизировать процесс обучения?

Докером и линуксом пользовался, всякие NGINX/Traefik настравал
319 3324747
>>324283

>terraform


Говно собаки. Пробовал писать под него скрипты. В итоге полюнул, и сделал обёртку для API хостера на TS. В HCL ни циклов, ни нормальнго рефакторинга, нихуя. Эти дауны не поняли, что надо не свой язык изобретать, а делать бинарник и к нему писать либы на разных языках
320 3324772
>>324697
Сначала, когда полностью перекатился на фулдевопс таски скулил каждый день, потому что сложно и старшие товарищи чморили. Грубо говоря не утонул, только за счет экспертизы в кодинге.
Но со временем поднаторел.

>По зп/ебланству


Ну щас уже как в том анекдоте, про ремонт самолета.
Платят за то, что знаешь куда ударить.
321 3324774
>>324747

>В HCL ни циклов, ни нормальнго рефакторинга, нихуя


Ну не пизди. Циклы есть, специально для таких тупых придумали CDKTF https://developer.hashicorp.com/terraform/cdktf

>Эти дауны не поняли, что надо не свой язык изобретать


Инструментов iac дохуищи. Есть crossplane. Есть pulumi. Есть opentofu. Есть argocd. Есть cdk. Есть ansible. Почему ты доебался именно до терраформа мне непонятно. Понятное дело, что у каждого инструмента свои плюсы и минусы. Ну изобрели язык и чё? Есть wing например https://www.winglang.io/, язык для написания инфраструктуры. Ну сделали и сделали. Надо было разрешения у тебя спрашивать что ли?
322 3324786
>>324774

>Ну сделали и сделали


>Ну изобрели язык и чё?


Дело не в том, что сделали, а в том, что рассказывают про это, как хорошее решение. Я повёлся, попробовал, почувствовал себя обманутым. Таке чувство, что большинство девопс инструментов делаются с расчётом на то, что девопсеры не умеют писать код и им только конфиги править дают, и рассказывая, что декларативность это круто. Жопа горит

Ответьте, плез, на это
>>324736
323 3324836
>>324774

>Циклы есть


Циклов нет. Пойди мне в цикле создай инстансы с именами kek1, kek3, kek5... хуесос пиздливый

>специально для таких тупых придумали CDKTF


Нет, дибила кусок. Я говорил про бинарник и обёртку. Ты мне показываешь говно, которое превращает код на TS в код на HCL, а потом также исполняет терраформом. То есть отсутствует контроль за происходящим. Я не могу с этой говниной, например, в цикле создать инстанцы, потом наздачить им поддомены, дождаться когда они станут доступны, а потом насоздавать ещё инстансов. И CDKTF даже без учёта этого не работает, потому, что нет провайдеров для него вечно

>Есть opentofu


Такое же говно

>Есть ansible


Хуета, которая не умеет нормально даже выводить процесс исполнеия баш команд, уродует лог, так что его невозможно читать. Пришлось свои баш скрипты писать

>Есть wing например


Я даже парашу открывать не хочу. Есть норм языки, вроде, C++, TS..... Да, хоть, питухон. Нахуй изобретают ещё один, который будет гарантированно поделкой. Нахуй вы жрёте это говно? Воистину девопсы бездарны настолько, что не могут в кодинг, который, считай, основа современной грамотности - это как не уметь писать и читать лет 100 назад

Мне приходитсяэто всё изучать, чтобы хитрые мартышки меня не наёбывали. Но то, как вы существуете и врете, как сучки, это пиздец
324 3324843
>>324634

> Просто тыкался во все двери и в девопсе открыли. Вот и вся история.


Как я сейчас. Пока приглашают только в саппорт мониторить, а оттуда перспектива в девопс или админить, ну это в лучшем из лучших случаев. Жопой чувствую, что перну от нагрузки и не вывезу. По крайней мере это после начальных уроков по куберу такие предчувствия закрались.
325 3324854
>>324786
Инструмент как инструмент. Ничё прям такого сверхужасного нет, примерно такой же как и cloudformation или bicep.

>>324836

>Пойди мне в цикле создай инстансы с именами kek1, kek3, kek5


Да легко variable "names" {
type = set(string)
default = ["kek1","kek3","kek5"]
}

resource "compute_instance" "instances" {
for_each = var.names
name = each.value
...
}
Либо можно через map это делать.

>дождаться когда они станут доступны


Да есть там всё, это у тебя руки из жопы растут. Берёшь null_resource и ждёшь пока создасться. В инете похожие примеры есть https://github.com/imjasonh/kontain.me/blob/b2021a0d88f558dd2c7f2dde638e9b9b97b817d3/apps.tf
326 3324879
>>324836

> создай инстансы с именами kek1, kek3, kek5


count = 3
name = "kek${count.index * 2 + 1}"

> говно


> Хуета


> парашу


Ну что тут сказать. Ты, браток, во-первых, остынь.

Во-вторых, смешно читать, что все вокруг хуйня, а самописный костыль от вчерашней фронтенд-макаки это ОГОГО какой инструмент, всем дает пососать.

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

Ты подумай на один шаг вперед хотя бы. Понадобится тебе новый функционал - будешь свое говно рефакторить три дня к ряду. Потом вместо тебя придет такой же чсвшный петух и будет кукарекать ррряяяя что тут за быдлокод и еще на неделю присядет его переписывать на своем любимом языке.

С таким подходом тебе и кубер не нужен, его же тоже дурачки придумали. Напиши свой аналог на TS, чего мелочиться.

Блять, дочитал до

> ansible Хуета


> Пришлось свои баш скрипты писать


Ты походу совсем умом обделен, не в обиду. Даже жалею, что тебе всерьез ответил. Это походу троллинг тупостью какой-то.

>>323658

>Я хуею как девопсы сразу на высокий уровень абстракции залетают. А если внутри контейнера что-то отгнило, то вяло обмякают.


Ну такие вот как выше бедолаги и обмякают.
327 3325155
>>324836

>Циклов нет


так они и не нужны!

Пиздец, а от sql у тебя жопа не горит? или, дай угадаю, ты sql даже не знаешь?
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 18 ноября в 21:55.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски