Ставим Kuberpenis, прокладываем CI/CD Canalización, получаем удовольствие от своей работы (но не в финтехе)
В тред приглашаются все причастные и интересующиеся
Прошлый тред >>2936757 (OP)
RUN npm install prisma
и получаю прибавку к весу докер образа 170мб?
На сайте npm написано призма распакованная весит 10мб.
Интересно, спасибо.
>RUN npm install prisma
тред называется Devops, а не "Отель у брошенного брошенного девопсами программиста"
Девопс-тред, это когда девопсы сами обсуждают проблемы реализации того, за что им заплатили. Если у тебя нет девопса - найми.
Потому что у тебя в контейнере еще и ос
Чистки кэн ноды и линуха, ставь ноду которая с альпиновским дистром
Брысь отсюда, неудачник. Этот тред только для белой кости айти индустрии.
Пока никак, я вкатун сисдамин, юзавший линукс 10 лет на десктопе и на серваках для селфхоста
Сколько по времени сисадминишь? На работе только линух или всякие докеры нджинксы тоже есть?
На работе хуйня, даже вспоминать не хочу с какими блядьми мне проходиться работать и проходить humiliation ritual
RUN --mount=type=cache,target=/root/.npm \
npm install --omit=dev
Вот это ---mount=type=cache
это же троллинг да?
Меняем 1 символ в package.json и там следующий шаг инвалидируется. Маунт должен что-то кешировать, но по ощущениям он всё заново качает, когда ВООБЩЕ ничего не поменялось, я меняю например версию апп только.
Я короч написал скрипт который генерирует 2 раза package.json для докера.
1 раз мы генерируем старые зависимости. И запускаем npm install И этот файл обычно не меняется.
Потом мы добавляем новые пакеты, и еще раз делаем npm install и это происходит уже на новом слое докера. И там ставятся только новые зависимости.
В итоге всё старое закешировано и всё быстро билдится. И оригинальный package.json мы можем как угодно портачить он не обсирает нам установку зависимостей.
Такой же тред уже существует. ОП-хуй, ты на кой хуй это делаешь? Зачем ты копируешь треды из треда в тред? Ты же долбоёб?
Кому интересно, погуглите по паре постов тута по сайту 2ch.hk, сразу найдёте. Я такой же видел 2020 г., наверняка есть и раньше.
Кук-у
Это кубернетисы.
Я вот думаю, может хук сделать в гите. Но билдим мы всё равно на машине программиста и это никак не привязано к гиту получается. Так что хук это тупо. Остается только руками скрипт запускать.
А то у меня есть эта книжка на бумаге, думаю, полезно ли будет прочесть.
Сорян, тредом ошибся.
Дергаю скрипт по ssh через gitlab-ci, в скрипте сорт оф канари релиз:
1) тагается рабочий образ как :backup
2) делается pull / up
3) ждётся 3 минуты, дёргается хэлсчек
4) если хэлсчек не хэлсчек, то перетагивается образ из бэкапа и делается up
Евангелисты говорят, правда, это не тру силки смузитек, что правильно шарить docker-remote-acess и всю логику по перезапуску держать локально у себя, но я живу по принципу работает - не трогай.
>>16599
>билдим мы всё равно на машине программиста и это никак не привязано к гиту получается
А что за registry? Как пушите? Я думаю надо привязываться к нему, как основному хранилищу состояния.
То есть смена версии на докерхабе - повод дёрнуть ручку?
А на проде прямо сырой докер или композ?
Просто засунь в планировщик раз в 15 минут: docker compose -f /path/to/docker-compose.yaml up --pull, он автоматом рестаратёнт апу, если в реестре образ обновится.
Или docker compose pull appname и потом up, если не хочется чтобы для других сервисов без запиненых версий обновы тягались.
А я могу вообще получается свой докерхаб поднять как-то?
>раз в 15 минут
А может там хуки какие-то есть тоже?
Это же хуйня, не? У меня на нынешней батрачке есть дежурства, но они посменные хотя бы.
А так на выхах комп обнимать какая-то ебанутая идея выходит
Терпи.
Я короч поднял приватный докер регистри. И там хуки есть можно, когда пуш происходит перезапускать контейнер. Для этого надо написать сервис...
Написал скрипт который слушает и рестартует докер после пуша.
Этого достаточно чтобы устраиваться девопсом куда-то или нет?
Хуй знает, Я ответственнен за инфру своего отдела (но не за кубы в которые мы деплоим часть софта), бывает раз в месяц из дежурки звонят. Когда только пришёл было сильно хуже т.к. инфра работала через очко (одни деплои руками по рдп в иис под виндой чего стоят)
Практика говна, собирать рабочие образы на личных тачках это пиздец. Один раз настроить билдер, раскурить как работает подман/канико и жить как белые люди
>собирать рабочие образы на личных тачках это пиздец
Ты скозал? Суть докера в том что нет разницы личная это тачка или нет.
У меня вот комп мощнее чем сервер. Гит хук я умею настраивать чтобы билдить после мерджа в мастер, просто это хуйня.
Можно сразу же проверить у себя на машине что всё работает.
Если твоя задача задрать в небеса бас фактор всей команды, то вопросов не имею.
Для тестов же есть стейдж контур, но судя по твоим тейкам ты пилишь в соло какой то говнопроект в котором даже стадии тестирования нет
>задрать в небеса бас фактор всей команды
Потому что я единственный человек в мире который может прочитать докерфайл?
Куда жмать чтоб в PHP это сделать? Чтобы туда сюда, тырым-пырым и в продакшон, чтобы Обба и обана-на. Ну ты понял.
Голанг это доп. язык, а не основной. Люди его учат имея базу эту.
Я вот так же сделал. Проблема в том что когда мы пулим новый образ. То тома остаются старые. Насколько я понял после тестов. Если мы удаляем тома, а потом композом запускаем, то встает как надо. Так и надо постоянно тома эти удалять?
Шарить файлы между контейнерами через вольюмы как то костыльно, в будущем это очевидные проблемы даст.
Даже сейчас тебе придётся с каждыйм деплоем кастовать либо docker compose rm либо вообще docker compose down -v
А как какать? Мне надо чтобы нжинкс раздавал статику и проксировал остальное. Нжинкс берет эти файлы из другого контейнера через том.
Сделай 2 nginx:
- Отдающий статику.
- Реверс прокси.
Что как маленький то.
Умение декомпозировать - это первое чему надо учиться в ИТ.
А отдающий статику нжинкс откуда будет брать файлы?
Ты присрал костыли и по другому не делал. Мнение твоё стоит примерно ничего.
Посмотрим как ты потом свои костыли в кубы будешь доставлять и поддерживать версионирование
По другому это сбилдить апп, потом из билда вытащить в хост файлы, потом сбилдить нжинкс.
Вместо просто сбилдить апп.
Не нужны мне копрокубы.
лол. Нужен всего лишь один докерфайл с 2 стейджами и 2 команды - билд и пуш.
Расскажи нам лучше как сейчас твой деплой работает
Как мне в одном докерфайле 2 образа сбилдить?
>Расскажи нам лучше как сейчас твой деплой работает
sh скрипт который пулит апп образ, останавливает композ, удаляет тома и запускает композ.
Извини, но нахуй два образа? Нужен один образ в который будет сложен результат первого стейджа. Я хуй знает как ещё понятнее писать, может так "Нужен всего лишь ОДИН докерфайл с 2 СТЕЙДЖАМИ и 2 команды - билд и пуш"
Ладно, забей хуй. Я понял что ты любитель писать говно в котором только ты сможешь разобраться, вместо использования того что юзают все и везде
У меня некст.жс приложение и нжинкс. Надо 2 контейнера. Значит надо 2 образа. Сейчас мне нужен 1 образ потому что нжинкс я беру голый. Конфиг нжинкса это том, ssl ключи это тома и файлы которые надо раздать это 2 тома.
Последний раз кормлю и пусть остальные тебя развлекают
https://github.com/nginx-proxy/nginx-proxy
https://kubernetes.io/docs/concepts/services-networking/ingress/
Не, это ты какой-то дурачок. В докер туториале с первого дня говорят бери голый постгрес и делай том для бд. В нжинкс доке написано бери голый нжинкс и делай том с конфигом.
Нет ему надо билдить свой нжинкс. Как? А хуй его знает.
У меня нет кубов.
Сделай нам костыльный велосипед который развалится при первом чихе, использовать любые технологии уже ставшие индустриальным стандартом строго ЗАПРЕЩАЕТСЯ
©не выдуманный кабан о котором невозможно молчать
Кто угодно может называться кем угодно. Это открытый рынок. Ты можешь назвать себя хоть сениор единорогом. Хоть черепахой. Хоть Уорреном Баффетом. Никто не пойдёт и не будет проверять, действительно ли ты единорог или Баффет. Ты даёшь кликухи сам себе. Если тебя это успокоит, я могу назвать тебя величайшим девопсом во вселенной. Дело лишь в клиентах. Кто готов купить твои услуги. И в твоих финансовых возможностях. Просто какая-то кликуха не делает тебя Игорем Сечиным и вряд ли ты когда-либо подаришь яхту "принцесса Ольга" своей бабе.
Кто сказал что мне нужно скалабили оркестретинг и другие базворды?
Что это дает бизнесу?
То что когда ты уволишься все твои потуги будут выброшены в мусор. А новому сотруднику придется разворачивать стандартную систему в нуля, потому что в недокументируемой кривой говнине какого-то васяна разобраться будет невозможно, ведь в ней шаг влево-вправо - не работает ничего.
И вот для бизнеса пришлось оплатить твои изобретения велосипедов, а в итоге оказаться в той же точке.
Ты думаешь люди используют кубернетисы исключительно потому что не смогли в костылестроение? А не потому что кубернетисы - это современный стандартный декларативный язык инфраструктуры?
Кубернетес тем временем все ещё выполняет 0 нужных функций.
Инбифо: пукнуть базвордами в ответ на это пост. У меня за 10 лет в айтишке максимальная стойкость к базвордам и меня нельзя ими впечатлить.
Хотя какие нахуй 10. Все 15 можно считать. Щас мне 35 почти выпустился я в 20 лет. Работать я начал еще в институте.
Щас бы мне слушать пердикса который хочет вертолет в проект тащить чтобы было ИНДУСТРИАЛЬНО. Это не аргумент блядь долбоебы.
512x432, 0:49
Я теперь знаю чем девопсов валить на собесах. Они не могут ответить всем тредом нахуй нужен кубернетес.
Справедливо.
>Кубернетес тем временем все ещё выполняет 0 нужных функций.
- Однотипный деплой и ундеплой (удаление) практически чего угодно.
- Ролинг абдейт который не надо изобретать.
- Оркистрация, а значит не нужно прикреплять сервисы к нодам и ходить потом в них прописывать ойпишнечки друг друга. (consul + templater или etcd + conf.d - каинды того же самого - прописывания).
- Нетворкинг полиси поверх незакрепленных за нодами подов.
- Сервайс мешь - безопасность, трейсинг, разные фитчи с управление трафиком.
- Паттерн k8s оператор давший ранее невероятные вещи, вроде zalando.
- Гарантии для бизнеса в работоспособности и актуальности технологии в будущем.
>>24175
Старше тебя, пиздюка, на 3 года.
Чекай, тебе харкнут "понаписал баззвордов, по делу ничего" или "зачем мне всё это если я могу насрать башем" мы же тут не в девопс тред а в цирке нахуй
> Чекай, тебе харкнут "понаписал баззвордов, по делу ничего" или "зачем мне всё это если я могу насрать башем"
В чем ты не прав?
Твой пост сложнее всех моих баш скриптов бтв.
Почему так мало вакансий? Посмотрел что есть в Москве, по итогу вижу пару вакансий без опыта, остальные с опытом сисадмина, плюс знание языков программирования.
Спасибо.
Прикинь одного девопса на сколько программистов хватит?
Куча программистов к тому же вполне себе нормально могут написать полный пайплайн сборки+деплоя и им нужна только рабочая инфра, гайды ака линия партии и порой консультация.
Я не девопс по должности, рядом только стоял. На работе есть 2 кластера шифта, в продовом 10+к подов, обслуживает кластеры, реджистри, кэши, прокси, гитлаб парочка команд
>Почему так мало вакансий? Посмотрел что есть в Москве, по итогу вижу пару вакансий без опыта, остальные с опытом сисадмина, плюс знание языков программирования.
Потому что девопс с нуля хуже, чем разработчик взявшийся девопсить.
>Почему так мало вакансий?
>Посмотрел что есть в Москве, по итогу вижу пару вакансий без опыта, остальные с опытом сисадмина, плюс знание языков программирования.
1. Как понять "МАЛО". На хедхантере 5 тысяч вакансий. Это дохуя.
2. Без опыта люди не нужны. Подумай сам. Если вакансий 5 тысяч штук, а претендентов 10 тысяч. Вопрос: куда пойдут остальные 5 тысяч человек? Ответ: нахуй.
3. В данный момент спрос на девопсеров полностью удовлетворён. Нет никакого дефицита на рынке.
4. Если нет дефицита на рынке, какой смысл обучать?
5. Девопсер - это ответственная должность. Начинающий рукожоп может принести компании огромные убытки, так как простой сервиса очень дорого обходится. Поэтому все нанимают ОПЫТНЫХ.
Ты зачем сейчас меня так расстраиваешь?
Анончики, раскидайте зелёному непонимающему
Сейчас гребу обычным сисадмином-эникеем в галере, по мере сил и умений ковыряю наш онпрем на кластере proxmox, немного пишу кривенькие пипелине и докерфайлы, пушу базовые образы в харбор. Про ансибл и терраформ вообще нихуя не знаю
Расскажите бездарю, что и сколько надо вкусить и распробовать, что бы съебать на джуна девопса в кратчайшие сроки потому что я пиздец заебался параллельно с дрочкой ямликов еще и картриджи менять и технику закупать. Не шучу.
Заранее спасибо, люблю вас <3
У тебя уже всё есть на джуна,
Сам вкатывался на джуна девопера со стеком линук ансибл докер
Проще всего будет по тестовому, бери спамом откликом и сделай четкое резюме, где не будет "менял картрижды, сопроводжал ЦЕЛЫЙ офис"
Есть два default gw и один NetworkManager, который раздает им метрику по порядку подключения, а мне надо, чтоб метрика была статичной, чтоб у eth0 был приоритет всегда выше, чем у usb0, при любых переключениях.
Как это лучше сделать или чем заменить NetworkManager? Systemd нету, mx-linux.
Docker Hub и прочие сервисы для хранения образов не хочу использовать, как и поднимать свой. Пока мне пришло в голову 2 варианта, как это все деплоить:
1. Самый простой - на сервер подтягивать код с гита, там же билдить и перезапускать контейнер.
2. Билдить локально, копируя код проекта в образ, через docker save сохранять образ, rsync'ом доставлять его на сервер и через docker load загружать.
Какой вариант более правильный? И как сделать правильно, если оба говно?
Если это разные коннекшены, то ты можешь передать им приоритеты в опции connection.autoconnect-priority
А так пока непонятен твой сетап.
https://networkmanager.pages.freedesktop.org/NetworkManager/NetworkManager/nm-settings-nmcli.html
Я бы тут или посмотрел ipv4/ipv6.routing-rules, или выключил бы вообще дефолты (never-default) и настроил их бы опцией gateway, или прибыл бы коннекшен к конкретному интерфейсу - connection.interface-name.
Насколько про них сейчас на собесах спрашивают?
Спасибо большое. C nmcli получилось.
У рэббита очень хорошая и понятная дока. Про кафку не знаю
Почитал доку по диагонали и не понял каким образом в этой схеме работает сеть? Как мне забубенить отказоустойчивый сайт? Что происходит когда один из nomad-ов отключается?
Сможешь, наверное, но зачем? По нему же три с половиной вакансии, а кубер уже давно стандарт отрасли
Речь о "вкате" не идет.
Я хочу себе.
Да даже если вкат, почему бы не уметь иногда запустить Nomad?
Как я понимаю, он сильно проще кубера, а главные возможности те же
Ну ты ж в любом случае, будешь инвестировать свое время и внимание на изучении технологии. Лучше выбрать более перспективную.
Кубер сейчас как линукс - если сильно в кишки не лезть и не решать сложные задачи, то довольно простой и много готовых солюшенов.
Даже если в этот тред придешь и кто-то тут будет, то по куберу подскажет, а по номаду уже вряд ли.
Так что думай.
Очевидно k3s, он на дешманской впске нормально живет, а при необходимости можно перехать на кубер. Микросервисный пет без логично делать на k3s и tilt
мимо
>tilt
Надо будет посмотреть. У нас сейчас локальная разработка на k3d и makefile, меня они оба заебали. Makefile в какую-то сраную портянку превратился, особенно проблема джобы с автотестами запускать.
Надо только нормально слои в докерфайлах написать, чтобы при изменении кода лишних действий не было. Установка зависимостей один слой независящий от кода, компиляция другой слой.
Наверно можно совместить, но зачем? Это для локалной разработки, чтобы сразу в кубере разрабатывать и видеть результат. Зачем локально CI/CD? От написания кода до желания его закомитить большая дистанция.
Werf это не альтернатива ci/cd инструменту, это надстройка над helm и kubectl, которая упрощает некоторые вещи.
Werf как ватчер файлов работает или реагирует на изменения ветки в гите?
Не можно. Это разная инфраструктура. + Ты же в кубер пихаешь не только свой код, но и готовые облачные кирпичи типа keycloak
Знаешь его? помоги найти контакт и выстроить сеть
Какой еще Кирилл? Владимир Горячий его зовут
Я могу какой-то хук запилить, чтобы нужные мне volumeMounts + volumes патчились автоматически в деплоймент с указанным именем? Меня хватило только на скрипт в пайплайне, который kubectl patch вызывает после деплоя, но это плохое решение, т.к. этот NAS нужен поду уже на этапе инициализации и без него деплой падает.
https://kubernetes.io/docs/concepts/storage/persistent-volumes/
Не понял твою проблему, измени манифест
Что такое манифест? По твоей ссылке это слово упоминается 0 раз. Если что, я в этой хуйне третий день ковыряюсь только.
Сейчас я нахожу deployment с конкретным именем и вызываю kubectl patch deploy app-name -n app-namespace --patch-file nas.yaml который добавляет нужные мне вещи в volumeMounts и volumes. Но этот deployment время от времени перезаписывается чем-то другим и мой патч слетает.
Как мне автоматизировать применение этого патча в конкретный deployment?
https://spacelift.io/blog/kubernetes-manifest-file
У тебя должен быть манифест который из джобы раскатывается вот его и правь
>>53624
>Что такое манифест?
yaml с описанием создаваемых ресурсов
>Я могу какой-то хук запилить, чтобы нужные мне volumeMounts + volumes патчились автоматически в деплоймент с указанным именем?
Да, это называется Mutating webhook. Удачи в освоении, не самая простая вещь. Проще до коллеги или соседнего отдела достучаться, чтобы у тебя деплой по-человечески шел.
Еще можешь попытаться патчить не под, а родительские ресурсы. Например, Statefulset или даже какой-то кастомный ресурс, если он есть и стоит еще выше. Вряд ли поможет, но попробовать стоит.
>У тебя должен быть манифест который из джобы раскатывается вот его и правь
Ему, походу какой-то PAAS выдали, где сервисы кнопкой деплоятся и доступа к шаблонам манифестов у него нет.
И тут оказывается, что этим PAAS был гостех и реализация фичи кастомных вольюмов запланировано на третий квартал 2056-года
Норм курс? 62 часа вроде идёт. TECHWORLD WITH NANA. Какой-то курс просто скачал на nnm, думаю "вау, на ангельском, всё собрано, да ещё баба!!!", ну и скачал. Пока только пару уроков глянул, говорит хорошо, всё понятно, объясняет наглядно с помощью презентации. Список тем на последнем скрине.
Да, тем болие я собираюсь сначала на год устроиться в l2/l3/сопровождение, параллельно работе дальше прокачиваться в девопс, ну и потом выйду в отпуск, в отпуске додрочу, после отпуска ливну и пойду уже в девопс на мидла сразу.
Какая-то баба за 5 минут проговаривает концепции, на понимание которых нужно потратить годы и ты собираешься делать вид, что их понял?
Звучит как план!
Ну и что?
Человек и книжки впитывает далеко ни на 100%. Это же не значит что их не нужно вообще читать.
И тут, возможность уловить какие-то пусть даже базовые концепты - много стоит. Самому до них доходить действительно годы.
И в любом случае когда человек интересуется любым материалом о предмете - это гораздо лучше чем нихуа не делать.
>>55024
Все правильно делаешь.
Кстати норм тянка, я бы выеб.
Кое как осилил docker и cocker-compose синтаксис, как теперь мне сюут yaml файлы для настройки деплоя CI/CD пока девопсы курят в сторонке, просто матов не хватает насколько это уебищный инструмент.
хелм чарты очень удобно
Ты в жизни джинджу и подобные шаблонизаторы что ли не трогал?
Потому-то дево псы - ямл "программисты". Поэтому им наделаи 100500 частично дублирующих инструментов с ямлом. Туда же ансибл. А ведь умные дяди говорили не писать DSL на джейсоне (ямл надсинтаксис джейсона) - будет жопа. Почему не могли суки на питухоне писать, надо было взять мерзкую парашу и еще в добавок ее в шаблонизатор превратить...
ПС. Понятно что всех захватила идея декларативного управления состоянием и гитопса. Но это вообще протекающая хуй знает как абстракция. Ну не может сервер с кучей говна быть состоянием описанным жейсониной.
Да. Писать процедурный код на питоне. В котором можно начать с высокоуровневых абстракций и углубится в ниpкоуровневые, когда потребуется понять, как оно работает под капотом. Код по которому можно путешествовать в нормальной IDE. Код который можно отлаживать.
Ну прям годы, пол жизни бы ещё сказал. Если чел смышленный, слушает внимательно, повторяет, практикуется, этого курса хватит более чем, чтобы быть Джуном/слабым миддлом
Осталось собрать mvp, получить финансирование и убийца кубов готов. В хашикорп не забудь написать
>Почему не могли суки на питухоне писать
Тогда уж "лучше" писать на перле. Там одно и тоже можно сделать 20 разными способами... Вот ведь действительно будет охуенно разбираться с этой говнине с реализацией.
Декларативные инструменты потому и выстрелили, что в них нет большого количества возможностей. И действовать можно подчастую линейно. Стало быть результат получается предсказуемый и сопровождаемый.
еботу на питоне, кстати, изобрели, не буду произносить её названи в суе
>надо было взять мерзкую парашу и еще в добавок ее в шаблонизатор превратить...
Ну это мог написать только тот кто вообще не разобрался с инструментами.
- В ямле нет шаблонизации, анкоры не в счет, на них далеко не уедешь.
- То что в ansible используется jinja - это не имеет никакого отношения к ямлу. Потому что ансибл интерпретирует строки как jinja, а не yml как jinja. Т.е. шаблонизации подвергаются строки внутри ямла, а не сам ямл.
- В кубер манифестах есть yml, но нет никакой шаблонизации.
- В helm например вообще не про yml (и темболее не про dsl), все что там про yml, это манифесты ниже лежащего (кубового) уровня. А шаблонизация go-template сделана также поверх строк, когда еще никакого (ниже лежащего) ямла нет.
Для людей в теме: все разделено на четкие изолированные уровни абстракций. Но тебе дурачку это видимо сложно. Для тебя это каша. такая же как у тебя в башке Потому что ты не способен в абстракции, неспособен выделять в иерархии представления сущностей важные в конкретном контексте детали.
ВОН ИЗ ПРОФЕССИИ ПИТУШОК
Четкость абстракций это к шизикам. Нормальным пацанам важнее возможность в дебагере брекпоинт поставить
>Четкость абстракций это к шизикам.
Шизиком то ты в данном случае выступаешь, лалка.
Читать научись: четкие не абстракции, а четкие уровни.
Четкие уровни абстракции - это про возможность выделять значимые границы в разнородном (имеющем разное представление, не конкретном и поэтому абстрактном) контенте в зависимости от необходимого (уровня) применения, и следующая из этого возможность оперировать с контентом на нужном уровне соотвествующим уровню способом, не вылезая куда не просят.
Например подходящий пример но как правило всегда плохая реализация, я считаю так делать не нужно: это с помощью ansible написать шаблонизированный bash script в ansible.builtin.template: содержащий одновременно и баш код со своими переменными + локальный template код на jinja (с фильтрами, селектами и прочими мапами) + подстановка переменных взявшихся их host_vars и прочих фактов. Для того чтобы управляться с этим крайне желательно четко понимать где какой уровень абстракций. Еще раз: я против такого подхода, это просто пример.
В анусе себе брекпоинт поставь.
И как это все дело отлаживать? М-м-м? А если на тестовом окружении не воспроизводится то что на проде? Искать глазами в 100500 ямлах, выстаивать четкие уровни абстракций и гадать почему у тебя на проде под постоянно рестартует или не находит сервис какой-нибудь хотя на тесте все заебись? А оказывается это побочный эффект от того в какой последовательности хелм груду манифестов выпольняет... А хуй его знает. Это же черный яшик, а ямлы описывают только конечное состояние. А оно не наступает. Писать в спортлото?
Логи и обсервабилити кубов отличные если админ не ленивый дебил
>возможность в дебагере брекпоинт поставить
Google: debuggin helm templates :
https://helm.sh/docs/chart_template_guide/debugging/
helm template --debug will test rendering chart templates locally.
В чем проблема - непонятно.
И что ты там отлаживаешь? Проблема в самой декларативности манифестов кубера. Это как SQL. Ты описываешь что хочешь получить, но не можешь прямо на план запроса повлиять. Тольков в кубере все сложнее. Но скармиливаешь ему хотелку о конечном состоянии, без описания как это сделать и без возможности отладить алгоритм как это состояние будет достигаться. Но при проблемах ты вынужден думать как черный ящик устроен и как он твои 100500 хотелок выполняет.
Он конечно хуйню несёт но и ты не дальше ушёл, ты привел команду на чек рендера чарта, никаких гарантий что это всё поднимется в кластере это не даёт, просто проверка синтаксиса
Я знаю. Братишь, это типа добрый троллинг.
Он пришел с тупой формулировкой "Как вы вообще пользуйтесь этой программой Helm?"
А Helm не виноват. Манифесты взаимосвязаны. Порядок применения (изначально неправильных чартов) может повлиять на работоспособность куба. Чтобы это распутать может помочь просмотр результатов рендера манифестов в уме или с ключем.
Виновата его косолобость.
Есть интересное видео где какой-то ит-деятель обосновывает, что современное программирование настолько сложное, что вам ВСЕГДА нужен интерактивный дебаггер.
Вот мы наблюдаем пример подобной привычки.
К сожалению, я его потерял в боях за Замедление Ютуба
Ну так нужно признать, что когда ничего кроме логов нет то это хуевая ситуация. Зачем разработку софта намерено превращать в астрономию. У астрономов предмет изучения за тысячи парсеков от них. А у тебя должен быть полный доступ к объекту. Особенно если это self hosted.
Куберы изобретали для облаков. Оно и понятно, никто не даст тебе грязными рученками лезть в инфраструктуру чужего дяди. Но девопсы же сами же натягивают куберы на свои сервера и лупятся глазками в логи. Вместо того чтобы разбираться как оно работает.
Это не сисадмины, додик ты необразованный.
Ну так-то да. Я хз что новички тут забыли. Это тред для разрабов либо сисадминов с опытом хотя бы 2+ года. Иначе тупо бессмысленно изучать эту тему.
а) Какой мудак придумал, что обычные имена парамов надо капслочить и снейккейсить без надлежащей документации?
б) От версии к версии все переворачивается вверх дном, все туториалы, ответы на StackOverflow, доки и примеры идут по пизде
б) Оказывается версия хельма узнается командой helm version. О БОДЖЕ МОЙ. Вас девпсов не учили, что все уважаемые команды выводят версию/справку по минус V или --v в крайнем случае. Почему хельм возомнил себя таким особенным?
> Вас девпсов не учили
Ты не в ту сторону воюешь.
То, что Хелм это кал, тебе любой девопс-инженер подтвердит.
Как есть еще куча инструментов, которые стали стандартом, а по факту - то еще дерьмище. Например, все поделия от Графанодебилов, кроме прометеуса. Или набирающий сейчас популярность vector
Эту всю поебень разрабатывают такие же анальники, как ты, а девопсам и сисадминам потом приходится с этим всем работать. Издержки профессии.
Так что сам лучше пиши хороший код, чтоб потом другим не пришлось с ним мучаться. И документацию тоже хорошую пиши, чтоб потом в твой адрес не летели проклятия, как в адрес Хелмомразей - несколько лет назад у них вообще вместо документаци был высер шизофреника.
>пиши хороший код
мне на роду написано ничего важнее мапперов dto-шек в entity не писать и наоборот. Мой потолок это мапперы entity в elasticsearch через кафку. Короче одно и тоже 5 раз по-разному с мапперами друг в друга
Это я опять возвращаюсь дабы частично извиниться перед всем девпсовым сообществом за то что зря быканул
>Какой мудак придумал, что обычные имена парамов надо капслочить и снейккейсить без надлежащей документ
Сука, это наши придумали черти,
>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 тут не причем, а я два дня искал как он мапит одно в другое
>а) Какой мудак придумал, что обычные имена парамов надо капслочить и снейккейсить без надлежащей документации?
Так исторически сложилось.
Нужно отличать о остальных.
Кроме того, есть некая неосознанная попытка копировать капсовые макросы, которые #define в Си
> б) От версии к версии все переворачивается вверх дном, все туториалы, ответы на StackOverflow, доки и примеры идут по пизде
> б) Оказывается версия хельма узнается командой
Лично нам - поебать. Три года работаешь, а дальше сваливаешь в поиске очередного ЕДИНОРОГОСТАРТАПА
github.com opentofu/registry/pull/817
В проект, который создан как свободный форк terraform , пробрался вредитель с парой унылых петов на чистых ссях и подгадил и так не очень успешному проекту путем блокировки российских клауд-провайдеров
Ось такой опенсорс, малята.
Запомните этот ебальничек https://github.com/ollevche
АХАХАХАХАХ
Аноны если у вас есть аккаунт в этой помойке, не могли бы вы написать: "Сдавайся хa-хo-ль, тут Ахмат сила! Хa-хo-ль... хa-хo-ль... Сдавайся!"
сраная макака со своими спамлистами
у нас в конторе полтора девопса/админа на ~10 проектов,
потихоньку перетаскиваем всё с systemd на docker.
В качестве оркестратора хотим взять swarm, потому что с кубером разбираться некому и некогда, а compose уже хорошо знаем.
Вроде как всё хорошо, но напрягает то, что swarm вроде как legacy и нимодно.
Что посоветуете, вникать в кубер или swarm норм?
ha не нужен.
Ты бы лучше имаджинировал свое ебало, когда зумер 16 лет отроду спокойно общается на чистом английском и вообще участвует во всяких хакатонах и т.д
Я уже третий проект пихаю в кубер. И могу сказать, что к куберу не только админы-девопсы должны быть готовы, но и команда разработки, и сам проект.
Какая-то хуйня, спроектированная под докер(композ) и под кубер - это две разные хуйни совершенно. Речь, конечно, про грамотное проектирование и последующии оптимизации.
Так что смотрите. Либо вы сейчас переходите на кубер, страдаете, матерясь кое-как упихиваете текущий проект туда. Но получаете экспертизу и задел на будущее, следующие проекты будут сразу разрабатываться с оглядкой на кубер. Либо потом будете делать все то же самое, но для нескольких проектов.
Ну либо, конечно, хуй забить и еще 15 лет сидеть на докере и systemd, а там глядишь, что-то новое появится.
Я мог бы стать одним из вас, но мне пока повезло.
Аноны, доброй ночи. Немного о себе. Колупаю линуксы, хостинги, сети с 2005. Паппеты, ансиблы, почтовики, немношко спама, впны и всякое такое. Фрилансер на бурж со стажем. Брал в проект все что содержало слово linux. Уже к 2020 начинало надоедать. И начал задумываться, куда двигать дальше. Очевидным выбором (почти) стал девопс. Начал читать мануалы и дергать сворм и куб на виртуалках. Ебать, какое же задротство. Скукота.. нет в девопсе духа свободы и какой-то нотки авантюризма. Перекидывание говна между клаудами - ну норм для работы в команде с 9 до 5 в какой-то фирме внедряторе кубов. Так это увидел. А это не то, к чему я привык (соло проекты) и что дает хоть какое то чувство независимости и удовлетворения от жизни.
Пока данный вопрос отпал (пилю свой проект, живу за лицензии и саппорт), но возможно, к этому вопросу придется вернуться. Так что вопрос к сисадминам линуксов широкого спектра, вкатившимся в девопс - вам как, не скучно?
Да что у вас в кубах крутится? Очередная ненужная екоммерс говнина типа убийцы Вайлдберриз или рассылка спама или считалка партнерских кликов? Не могу себе представить что серьезный бизнес запускает свой кор-функционал в кубах )) а все побочное можно отдать школотронам в кубы деплоить, упадет, да и хуй с ним.
Старайтесь набрасывать лучше
Лолд, у свинявых заблокирован AWS, сервисы гугла на грани полного блока, а они что-то мандят про опен сорс выполнящие санкции. В принципе - да, это удивительно, при учете что гитхаб заблочат подпынявые через пару лет, если не в этом году
Хуй знает, если ситуация вернётся просто к тому что было, то маловероятна миграция с опенсёрчка у которого нет мутных платных подписок
Почему сраный?
Full text search очень даже не бесплатный.
У elastic'а целая гора крутилок, которые приходится крутить.
loki поставил и заебись.
Ахахахахах.
У них нет ресурсов чтобы разбираться с санкциями, но есть ресурсы чтобы к ним пресоединиться... Хотя нет, простите, не так. Для того чтобы присоединиться к санкциями поумолчанию не надо разбираться, за тебя уже все подумали.
Ааззазааз, попенгсорс который мы заслужили.
Не они первые не они последние
Земля пухом братишкам долбоёбам
Всё возможно, когда лид проекта из 404.
Всё просто - эти костыли идут куда подальше, а нормальные варианты ты исключил
Делай git pull на сервере, мудилу выше не слушай.