Теперь будет - обсуждаем Docker, Kubernetes, методы для CI/CD, пишем пайплайны тестирования и билдов, выбираем очередного убийцу Докера, пытаемся понять почему наш sh скрипт нихуя не работает и почему в Jenkins вылетают одни ошибки.
>>1902332 > Нахуй перекат? Там 37 постов всего. Так там и не девопс тред, а вопрос какого-то ньюфага, я его приложил просто шоб было
>>1902326 У тебя пол доски анимублядями аватаркоебами забит. ДевОпс - это не админство, это кодоебство и работа твоего ПО в контейнерах/серверах. Я не знаю лучшего места, чем эта доска. Эта тема вообще ко всему относится, но больше к программистам.
Хотел уже было создать свой отдельный тред, но нашёлся этот. Итак. Вот, например, где-то на серваках стартует несколько экземпляров одного нодовского приложения, обращающихся к одной и той же бд. Если все экземпляры попытаются создавать/добавлять новые поля в таблицы в бд, ничё хорошего из этого не получится. Значит, таблицы нужно создавать заранее скриптом. Так? А если нужно обновить приложение и бд, то, получается, нужно гасить все экземпляры, обновлять бд, обновлять приложение и перезапускать его эксемпляры. А если нужно, чтобы приложение работало постоянно? Получается, нужно как-то создавать новую бд с обновлёнными таблицами на основе данных из старых таблиц и в реальном времени копировать туда все новые данные из старой бд, которая пока ещё взаимодействует со старыми экземплярами приложения. Потом запускать экземпляры нового приложения и в один момент как-то переключать пользователей на эти новые экземпляры. Или как? Как всё это делать правильно, без гемора и по фэншую? Что почитать на эту тему?
>>1905490 Ололош, для этого существует такое понятие, как отказоустойчивые БД: кластеризация, репликация, зеркалирование. Выбирай любое в зависимости от движка БД и не еби мозг тупыми вопросами. А лучше вообще не лезь, это не твое раз ты элементарных вещей не втыкаешь. Пиздуй лучше в эникей ебашить
>>1902319 (OP) Посоветуйте что нужно изучать для вката, есть знания linux на базовом уровне, понимание о работе OC и компьютерных сетей, и небольшой опыт программирования на c#,python,php
>>1905490 > где-то на серваках стартует несколько экземпляров одного нодовского приложения, обращающихся к одной и той же бд В SQL базах есть такое понятие, как гарантия атомарности. Если ты пошлешь одновременно 2 запроса на запись - ты не сломаешь базу, они просто выполнятся последовательно.
> ничё хорошего из этого не получится Почему? Запросы не приведут к конфликтам и ошибкам, если ты об этом.
> А если нужно обновить приложение и бд, то, получается, нужно гасить все экземпляры Нет, почему? Практики разные бывают, но в общем случае - добавляется реплика сервиса, накатывает миграции, а затем постепенно деплоятся остальные реплики, заменяя старые. Естественно это все нужно самому настраивать либо использовать готовые решения. Миграции в scalable приложениях - это целая отдельная тема
> А если нужно, чтобы приложение работало постоянно? Получается, нужно как-то создавать новую бд с обновлёнными таблицами на основе данных из старых таблиц и в реальном времени копировать туда все новые данные из старой бд, которая пока ещё взаимодействует со старыми экземплярами приложения. Нет, лол. Просто миграции специально делают не ломающими предыдущую схему. Например тебе нужно поменять у поля тип, вместо того, чтобы тупо удалить нахуй колонку и заменить новой - ты делаешь это в 2 этапа. Первая миграция - добавление новой колонки, вторая миграция - удаление старой и переименование новой. Второй этап происходит после того, как поды (реплики) старого приложения были полностью заменены на новые. Это очень кратко и базово, существуют различные техники. Но да, как в монолите с одним инстансом уже не получится просто хуякнуть миграцию и забыть. Вообще при микросервисной/растущим в ширь скейлингом приходит и много новых проблем, таких как shared state, лоадбалансинг и т.д. и т.п.
> Потом запускать экземпляры нового приложения и в один момент как-то переключать пользователей на эти новые экземпляры. Или как? Объясню на пальцах: у тебя есть один инстанс (пусть будет процесс, грубо говоря приложение одно), ты туда направляешь все запросы (не важно, пусть будет nginx). Теперь ты задумался, что хорошо бы два инстанса сделать, чтобы на каждый из них меньше нагрузка была, соответственно увеличив пропускную способность твоего сайтика (пусть будет просто сайт пока). Тебе нужно какое-то подобие лоадбалансера, т.е. балансировщика нагрузки, который будет запросы от юзера направлять на каждое приложение равномерно, самый простейший - это прописать в NS записях твоего домена разные айпишники/порты твоих двух сервисов, правда тут уже не лоадбалансер, а тупо рандом, более сложные штуки - это умные лоадбалансеры, которые направляют запросы на менее нагруженные инстансы. Не буду вдаваться в подробности. Короче в итоге у тебя все запросы не напрямую в твой инстанс шлются, а в некий gateway лоад балансер, а он уже полностью копирует их и передает на конкретный из двух инстансов, а затем ответ от них также отдает обратно. Естественно писать логику лоадбалансера и спавнить инстансы приложения руками - это слишком долго и муторно. Для этого придумали кучу инструментов, например в том-же кубернетесе есть external service с функциями лоадбалансера, или тот-же traefik, да дохуя их. Кубернетес еще и автоматически умеет спавнить реплики под нужную нагрузку, умеет их убивать и ты можешь прописать различные правила для всего этого. Это и есть девопс.
> Как всё это делать правильно, без гемора и по фэншую? Можешь начать с гайда по кубернетесу, из него уже по мере надобности изучать ответвления. Кубер удобен тем, что там все есть из коробки. Но, естественно, в проде одним кубером все не ограничивается, для каждой темы есть отдельные более продвинутые инструменты.
Заебался дрючится с серверами своих проектов (я сам у себя выполняю роль около-СТО) - сейчас у меня зоопарк из 6 железных серваков на hetzner.
Заебало настраивать и устанавливать каждый раз один и тот же софт, следить чтобы ничего не упало и перезапускать если это случилось. Стек у меня в целом обычный:
nginx php-fpm mysql (percona) redis sphinx
иногда что-то дополнительное вроде rabbitMQ или CouchBase.
Фишка в том, что я люблю потюнить настройки - в том числе серверные а-ля swapiness и ulimit, иногда меняю настройки софта и делаю бенчмарки.
Есть ли что-то, что позволит мне не логинится каждый раз на сервер, а просто править конфиг, делать деплой и чтобы "и нее там внутре неонка" - в смысле как-то автоматизировать эту рутину.
Посоветуйте что-нибудь, пожалуйста. Платное\бесплатное - не так важно.
Terraform, docker, ansible? Я в целом не очень сейчас в курсе, что происходит в devops - но могу быстро освоить\или оплатить услуги специалиста по первоначальной настройке.
>>1919313 Да я уже, лол. Хотя насчёт простецкой я бы поспорил. Как пошли всякие доработки - так оно начало жиреть как пиздец, уже до тысячи строк отъелось и хз остановится ли. Я потому и спрашиваю, что не хочу свой велосипед писать.
>>1919192 Ансибл - Помнить что ансибл это не shell и использовать модули,от шелл портянок надо отвыкать(хотя понимать что там написано стоит) - Использовать шаблоны jinja templates, без regexp и sed костыликов в конфигах - Использовать папки конфигураций приложения *.d(conf.d,sysctl.d) и не лезть в дефолт конфиги
Учить: 1. ADV-IT на ютубе, просто обьясняет, для вката самое то, 5 часов плей лист(полезно читать коменты под видео) можно после этого погляжеть это https://www.youtube.com/watch?v=4QSyR0PcIR0
2.примерное понятие как стоить плейбуки, чел много говорит, но послушать стоит
Назначаешь каждому хосту (серверу) свои переменные host_vars, через них описываешь свои"разности". Генерим уникальные конфиги на каждый хост на основании этих переменных.Так же можно объединить в группу хосты и назначить им свои задания. Одним словом крути педали как хочешь
Пацантре, если я сейчас работаю за 80к чисто виндовым админом и хочу перекатиться в девопс, то как лучше поступить? У меня более-менее свободный график, что позволяет учиться/иметь вторую работу (которую я не знаю, как получить). Переходить на более низкую ЗП Linux джуном не вариант, а на соразмерную меня брать не хотят. Учиться-тренироваться дальше самому, пока не готовы будут взять?
>>1921600 Только с нуля начинать и никак иначе. Твои знания винды вообще не при делах, т.к. девопс - это автоматизация разгребания говна за программерами, причем практически всегда - на линуксе. Развивайся лучше дальше в свою сторону - к старости будешь откаты пилить на закупках софта.
Вкатился. Искал такой тред пару месяцев назад, а его не было. Девопсы в треде есть или только стремящиеся? Начальство возжелало сайт перенести в облако AWS, кто то ему нашуршал что это круто и отказоустойчиво. Сижу туплю, если я запущу два инстанса и две копии бд этого достаточно будет для отказоустойчивости?
Сори за глупые вопросы, я пока по теме пару видосов посмотрел только.
>>1924503 Канал ADV-IT там 90 уроков по амазону. - две базы, это не отказоустойчивость, отказоустойчивость это база как сервис(в облаке) , или кластер бд, прочитай что такое сплит брейн mysql. - если это надо начальству, то пусть оно и деньги на обучение дает(или время), потому что если не знать что делать, то можно увидеть круглую сумму в билинге.
>>1902319 (OP) для понимания докера полностью есть какой-то хороший туториал, мне надо с елк-стеком и докером разобраться, все офк на жаве, только туториалы по докеру онли уровня геттин стартед, есть что-то целостное, объясняющее всю структуру?
>>1930849 А что с ним разбираться, есть контейнеры, которые ты сам конфигуришь с помощью докер файлов, в которых ты прописываешь чо тебе в этот контейнер запихнуть надо. Есть команда для развёртывания этого самого контейнера. Контейнеры по сути виртуалки, но без ОС. Вот и вся концепция.
>>1931822 ну меня попросил человек залить бд туда, какие-то неблокирующие контейнеры туда-сюда много новых слов. Я говорил, что докер не знаю совсем, а н дал типа для тренировки, пытаюсь разбираться
>>1931946 https://docs.docker.com/get-started/overview/ Ты совсем шиз? Тут дока для детей от 5 лет написана. Ко всему этому есть куча залупени на aws.training. Вот тебе все туторы. Неблокирующие контейнеры, это те, что не до конца изолированы от твоей среды где ты их запускаешь, вот и вся разница. То есть по сути у тебя есть куча приложений в разных контейнерах, которые ебут одну и ту же базу. Например у тебя есть какой-то онлайн магаз (это твой продукт состоящий из множества приложений), в котором в одной бд хранится инфа о товарах, инфа о покупателях, биллинг. Таким образом имеем два приложения: первое отвечает за модель юзер=массив товаров, второе отвечает за то, как что и куда оплатить. Это два отдельных сервиса которые в идеальном мире находятся на разных серверах, мы же не хотим, чтоб когда упал магаз, от наплыва запросов упала и оплата (что в худшем случае приведёт к тому, что не те пользователи оплатят не те товары). А бд находится у тебя в отдельном месте. Так вот, в случае с контейнерами у нас не два разных сервера, а два разных контейнера находящихся на одной массивной тачке. Вот и весь прикол. https://www.youtube.com/channel/UC_hvS-IJ_SY04Op14v3l4Lg https://www.youtube.com/user/vanohaker https://www.youtube.com/channel/UCemtVTjKhD_GcEOQ_rNOrRw
Вот тебе три канала на русском языке, не конкретно по докеру конкретно, а по всей этой движухе в общем.
Аноны посоветуйте сущность для кубера. Черт знает что за сущность - недооператор наверное. Суть такова: есть кластер постгреса, хочу создавать/удалять (ваще надо покрыть весь life cycle) базы на нем, декларативно - манифестами. (Потому что десятки мелких проектов живут на железе небольшой мощности, и отдельные посгресы слишком жирно, а с точки зрения конфигурации уже начинается ад). Какую писечку установить?
Нихуя какое у вас крутое название. DevOps. Сразу в голове всплывает брутальная помесь коммандо и крутого хакера. Хотел бы и я, чтобы у моей профессии такое название было. мимо не кодер
>>1934758 Забыл добавить - я не понимаю зачем нужно использовать dockerhub - ведь я могу просто закинуть все в github и на сервере сделать compose-up, перекинув .env через scp
>>1934989 И вот если у меня проект и там в docker-compose есть nginx-proxy и я решаю добавить еще один проект, там тоже должны присутствовать nginx-proxy и nginx.conf ?
>>1921600 Без обид, анон. Ты работаешь чисто виндовым адиином. Ты вообще в курсе, куда и зачем ты собрался пкрекатываться? Если это потому что "ну за девопс много платят", то это хуевая идея.
>>1921600 >виндовым админом Короче забудь про то что у тебя есть опыт, даже в говностудии пхп-шник который пилит сайты на вордпрессе будет знать в области DevOps больше чем ты. Начни с малого, подними сервер с убунтой (можно на виртуалке), запили докеры, попробуй nginx всяко-разно помучать, например 3 контейнера (имитация 3 серверов) с пхп, а nginx как балансировщик стучится в каждый по очереди при запросе, потом можно это говно заавтолеплоить на aws, там год бесплатно и потихоньку помаленьку пробуй остальное. Тогда поймёшь нахуй нужно ли тебе это.
Аноны, репостну из другого треда, может кто подсказать по дженкинсу? Суть: есть пайплайн, который запускает тесты через дочернюю джобу. Запускает переданным через параметр скоупом параллельно, т.е. тестов может быть от 1 до 3к и все они лезут в Build Queue одновременно, независимо от количества нод. Вопрос: как сделать, чтобы эта самая очередь вмещала, скажем, максимум 20 тестов, а остальные ждали? Это проще накодить в скрипте или есть более изящные решения?
Правильно ли я понимаю что могу просто закинуть на сервер Dockerfile's и docker-compose + архив того что мне нужно задеплоить, сделав load и подкинув .env файл?
>>1939153 Я сделел swarm init на сервере и пытался подключиться как manager со своего компа компа, но ничего не получилось: там было rpc error: code = DeadlineExceeded desc = context deadline exceeded ... Хотя как worker подключался. Шо делать?
В итоге ничего не удалось. В гугле пишут что нужно открыть порты, но они открыты.
docker-compose -H "ssh://[email protected]" up игнорирует build: (я вроде где-то видел что в swarm mode build тоже не работает)
>>1939987 Изучи зачем композ нужен, станет проще. Ставь один traefik и рули им какой сайт куда будет смотреть, там есть гуи оно явно проще, может само ssl выдавать. По поводу двух nginx можно если у них будут разные порты(но не нужно)
>>1941266 А насчет композа, если я правильно понял, то просто чтобы постоянно не набирать docker run -d p ... ENV= -v=.. И запускать все одной командой. Как Procfile в рубях.
Объясните одну вещь. Если docker-compose используется только для тестов, а кубер используют только в больших проектах, то как управляют контейнерами на проде?
>>1902319 (OP) Суп. Новый ньюфаг пытается разобраться с этими вашими AWS и прочими линуксами. Установил дженкинс, он вроде как запущен, 8080 порт слушается, но зайти не могу. Помогите долбоёбу в какую сторону думать, а то я как слепой котёнок, даже не знаю что гуглить в этой ситуации.
Где можно ознакомиться поверхностно с базовыми понятиями для расширения кругозора как строится инфраструктура предприятия (как настраивается сеть, VPN, общее файловое хранилище, телефония), как строится облачная инфраструктура (SaaS, PaaS, IaaS, гипервизоры, виртуалки вот это всё)
>>1902319 (OP) Давеча прочитал пост одного хуя, на хабре(так получилось), который сетовал на то, что мол ухх, перевелись нынче девопс инженеры, кадровый дифицит и вообще какие джуны и вкатывальщики криворукие. Только вот хуепутало совсем позабыл одну вещь. Охуевшие галеры хотят себе сразу синьера или мидла, девопс трейни и джуны нахуй не нужны, а вакансий на них хуй да нихуя, а если и есть, то требования на них такие же как и на мидлов, пиздец. Чтобы попасть просто на ебаного стажера, который будет бесплатно сидеть на жопе полгода и слушать курсы, то нужно знать GitHub и Actions и вообще понимать CI/CD, иметь представление о ООП, разбираться в sql и nosql, шарить за bash\python, уметь в unix\windows на уровне эникейщика(т,е. знать что такое AD, DNS как минимум, траблшутинг утилиты), шарить в вебстеке, apache, nginx, html, разбираться в TCP/IP, разбираться в контейнерах, разбираться в облаках и иметь уровень английского английского языка Intermediate и выше. Это блядь стажер. Ещё один забавный момент, что под понимать и разбираться, галеры имеют ввиду реальное владение инструментами без углубленного понимания. А это я вам хочу сказать не так то уж просто, как минимум нужно просидеть, например несколько месяцев за докером\кубером и перечитать пятаху книг, чтобы только разобраться что да как. И это только контейнеризация, одна маааленькая крупица того, о чем нужно ИМЕТЬ ПРЕДСТАВЛЕНИЕ. Я вкатился в девопс примерно полтора год назад. 6 месяцев я хуярил на епамовских курсах, так это хуйня, чтобы сюда попасть я проходил трехмесячеые курсы по докеру и куберу от другой галеры, с тасками и проверкой, все как положено. При этом у меня изначально был нормальный английский(А2), но этого было блядь недостаточно и я ещё около месяца ходил на курсы языка, при этом у меня за плечами пятилетний опыт системного администратора. Так сука вопрос, откуда взяться девпосам, если их никто не готовит? Если ты сисадмин, то тебе до ебаной матери нужно знать сверху, если ты девелопер, то опять же, тебе до ебаной матери нужно знать сверху. Сейчас я на позиции джуна и не понимаю чем я отличаюсь от мидла, кроме ЗП. Самое смешное что все плачут что нет спецов, но никто не хочет их обучать. Их бля нигде не готовят, так откуда им взяться? Может кто пояснить за такую ситуацию или я просто кипиша нагнял? инбифо: простыню не читал
>>1902319 (OP) Сап, девопсач. Кому-нибудь приходилось настраивать пайплайн для деплоя с гитхаба? Как я понял, это делается через actions, там куча различных вариантов для деплоя в различные облака, а мне нужно по ssh на мою машину. Важно, чтобы все это было только с помощью средств гитхаба, без всяких jenkins и teamcity
>>1957396 У меня есть проект который состоит из нескольких гит submodule'й, я хочу чтобы при пуше в мастер любого из субмодулей запускалась сборка проекта и запаковывание в докер, с помощью docker-compose, а потом деплоилось на мою машину по ssh. Я нашел кучу различных сервисов в github actions для деплоя во всякие облака, например, в Azure, но у меня не облако. Также я покопал CircleCI, но не знаю можно ли этой штукой что-то деплоить. Понятно, что для всяких подобных вещей лучше использовать gitlab, но так не интересно.
>>1952701 Мечта любого кабана - нанять сеньора, который будет заменять весь отдел. Отдел из джунов соответственно антимечта, которую кабаны старательно избегают.
>>1952701 Ты пойми, одно дело выразить свои хотелки в виде вакансии, и совсем другое удовлетворить их, закрыв её (ещё неизвестно по какой цене). Хотеть, конечно, не запретишь. И вакансии могут висеть годами. Кабанчик может вывесить вакансию в расчёте что авось повезёт, и когда нибудь нужный человечек найдётся. Вакансии есть не просят, знаешь ли.
короче такой вопрос - работаю сейчас в штатах типа-SRE в большой компании рассматриваю понаезд обратно в ДС, ибо тут все заебало (работа збсь а жизнь хуйня)
а SRE в большой компании - читай, все самописное, никаких докеров, кубернетесов, нжинксов, гитлабов и графан. Шеф разве что из опенсорса, все остальное - закрытые аналоги. пописываю тут всякую автоматизацию на пейтоне и немного внутренние сервисы на плюсах.
нужны ли кому у нас такие? (с средним опытом, пониманием как надо когда у тебя 100к+ серверов но с нулем по части современной опенсорсной хуйни и облаков)
>>1959520 Способ описан прямо по твоей ссылке же. Подключаешь том с дампом к нужному пути - дамп восстанавливается в дефолтную БД. Если хочется именно через переменные окружения делать - аналогично с shell-скриптом, который будет знать про твою переменную окружения.
>>1958853 Дай угадаю, там люди не те? Душа не та? Не то что наши, русские... И прочая дичь про красивых девушек, русскую душу открытую, водку вкусную. Поясни, пожалуйста. Страшно интересно, что ты имел ввиду.
>>1952701 Захожу иногда на вашу доску почитать бугурты. Решил отреплаить в этот тред. смените картинку где про докер + кубер, съезжаем на контаинерд, ало, 2к21!
Недавно был разговор с лидом одной команды про то как у многоуважаемыхпрограммистов нет времени разбираться с вашими куберами, гитлаб-сиаем и прочей обвязкой в виде прометея и ефк. У нас вэлью и таймтумаркет ебать.
Пиздос, я лолирую, если бы инфраструктурные инженеры так дела делали. Ой, блять, появилась новая хуитка какая-то, не, ну это нам не задавали, это мы не проходили. Вспоминаю вакухи девопсеров где чаще фигурируют фразы типа "Умение работать с одной из CI\CD систем (Jenkins, Gitlab, Teamcity)."
Я вообще сюда поехал по очень личным, так скажем, обстоятельствам, у меня и в РФ все хорошо было. Пожил несколько лет, попробовал, не вкатило мне. Не полюбил ничего из того, что меня тут окружает, а того, что любил там - не хватает.
И каждый раз, когда в ДС обратно мотаюсь, улетать назад не хочу. Короче, эмиграция - это не для всех, мэн, правда...
Вопрос-то мой про рынок труда был, есть чо сказать? Эту дискуссию лучше в эмиграч переносить....
Сап. Ваннаби девопс (на деле эникей 1.5 года) в треде. Кто-нибудь тут с Grafana Loki работал? Мб знаете какой материал хороший, чтобы начать вкатываться? Пока что нужно просто в стерильных условиях у себя на вмке поднять и показать как оно все выглядит
>>1959636 Увы, по теме сказать нечего. В вакансиях кругозор не особо широк, сам из мухосрани с пиздец какой завышеной зп. Даже в Мск передумал ехать. Дискас не хотел затевать, твоего ответа достаточно, спасибо. Посижу ридонли.
>>1959645 Охоспаде, дружище. Оф документация чем не угодила? Графана поднимается из коробки уже готовая. Только датасорс новый руками добавить. Локи - то же самое. Еще и вмку прикрутил. Надеюсь, не виртуалбокс?) Запускай все в контейнерах.
>>1959865 Это типичная история, когда воннаби программист/девопс что-то там понастраивал по документации, понаподнимал всяких сервис мешев, да понаписал кофигов на терраформе или ансибле, а потом это все упало в самый ответственный момент. Либо было просрано несколько человеко-месяцев впустую, а команда так и не получила возможности поднять весь проект локально, т.к. кубернетис жрет гигабайты памяти и требователен к железу и на обычном ноутбуке проект уже не поднять.
>>1959520 Как то сложно все. В образе уже предусмотрена возможность импорта дампа. Есть папка /docker-entrypoint-initdb.d/ Если в нее смонитировать папку с дампом, то она импортируется при старте контейнера. Причем только если бд пустая. Так что можно рестартить контейнер не боясь потери данных. Нахуя тебе переменнаядля тестового запуска? Ты хочешь один и тот же контейнер и в тестах и в проде использовать? Так это хуевая идея.
>>1960470 Но докер не deprecated как технология, он deprecated только как container runtime в k8s, пушо нахуя в k8s нужен докер, работающий поверх containerd, когда в k8s можно работать с containerd напрямую?
Какая ж это распиаринная хуйня - этот ваш ДевОпс. У меня так давно не горело. Ухожу из компании, срочно ищу себе замену. Купил доступ к базе ХХ.ру и ОХУЕЛ. 85% "девопсов" - это админы с нулевым опытом, которые с какого-то хуя с ходу требуют 200к+. Люди с более-менее годными резюме и с вменяемыми требованиями до 3,5к зелени приходят и валятся на элементарных вопросах касательно траблшутинга Кубера, с которым, по их заявлениям, они работают последние 47 лет в проде. Ёбанный в рот. И самое страшное но это уже проблема нашей конторы, что как класс отсутствуют девопсы, которые могут в Винду и в Павершелл на приличном уровне. Ну и да, все хотят какие-то нереальные деньги. Просто охуеть. Пока в моём списке идёт на первом месте еблан, который хочет получать 5,8к зелени в месяц.Он имеет самый длинный скилл-лист, который я только видел, но если в него вчитаться, то ты просто охуеваешь. "Могу в TCP/IP, DNS, DHCP, маски, дефолт гейтвеи. Могу в Ансибл, в плэйбуки, могу таск написать, могу разные модули юзать, могу установить Ансибл, если надо. Могу в Кубер, могу в деплойменты, демонсеты, стэйтфулсеты, сервисы, ингрессы, могу там энжиникс запустить, или другую программу" - ПИЗДЕЦ, Сука! Если всю эту воду убрать, скилл сет у него уменьшится раз 15. 5,8! Ёбанный пидор! Сорян, что я вам цивилизованную дискуссию этим высером порчу, просто накипело.
>>1961605 Ты где-то не там смотришь, чел. Матерый девопс, который может в терраформ для провижина железа и ансибл для деплоя говнеца, которое написали разрабы, плюс всякие там линуксы и т.д - 100к максимум
>>1961605 А много ли у тя разрабов которые шарят за дхцп, днс, и автоматизацию раскатки своего кода?
Ты пойми что ты хочешь опса+, который возьмёт ответственность представлять компетенцию по этим вопросам. А сверху ещё накидывай всю "девопс" шнягу с администрированием куба, облаками или чо там у вас, ну хоть частное облако жи есть?, сиасиди, кусок компетенции в куа, и быть выручайкой в вопросах "а чо там в докерфайле надо написать" от дев.
>>1961605 Судя по > валятся на элементарных вопросах касательно траблшутинга Кубера ты пытаешься найти 2 роли в одном челе - админо-эксплуатант и девопс. В любом случае, если люди действительно > с более-менее годными резюме и с вменяемыми требованиями , то траблшутить кубер они научатся ещё на испытательном (с твоей помощью и оплатой курсов от компании, возможно).
> отсутствуют девопсы, которые могут в Винду и в Павершелл на приличном уровне Лол, я этим говном наелся на прошлых работах, и меньше чем за +100к к своим "обычным" ожиданиям браться за него не стал бы (хотя и предлагали). Такого же мнения несколько челов, которых я собеседовал. Так и говорят: "А, у вас ещё и винда? Тогда 350к-400к."
Прост мало того, что всякая годнота начинает поддерживать винду через 1-2-3 года после того, как зарелизится и покажет свою полезность, венду оно поддерживает с сильными ограничениями, так ещё обычно "винда" подразумевает адовое неавтоматизируемое легаси. Из практики: дотнетные либы древнего SonicMQ, которые не работают ни в каком .net core, а сишные либы компилируются только древней Visual C++ (хуй тебе а не gcc/clang), веб-сервис на delphy, который чтоб стартануть, надо понатыкать мышью в его GUI, и логи ловить из одноги из окошек этого самого GUI, а ошибки в другом, и одновременно эти окошки не открыть, WCF обвязка вокруг WinAPI обвязки вокруг 16bit ActiveX/OLE-компонента из 90х, какое-то говно, которое запускается только в MS-Office 97 в единственном экземпляре на операционке и тд. И всё это хотят как-то юзать/масштабировать, и чтоб не падало, и желательно в контейнерах, и чтоб логи/метрики/трейсы собирать, и готовы платить 300к, но не готовы платить 350-400к или переписать на что-то более современное.
Так что или нанимай линуксоида, корми его фармой/бухлом и подсаживай на винду, или нанимай виндузятника, оплачивай ему реабилитацию от наркоты и обучай линухам.
>>1902319 (OP) Девопсаны, объясните как выглядит типичный CI/CD пайплайн в компании средней руки? Раньше работал только с Jenkins, который таскал код из репозитория, запускал билд и вызывал шелл-скрипты, которые останавливали сервер приложения, подкладывали новый артифакт и запускали сервер приложения. Как сейчас выглядит каноничный процесс сборки и развертывания приложения в 2к21? Я так понял, что всякие Jenkins/Teamcity не ушли и все еще нужны, чтобы таскать код из репозитория и билдить их. Только теперь добавились шаги билда докер образов, залив в реджистри и провижн железа/деплой помоев через терраформ и ансибл на кубернетес?
>>1961782 Но этот init_database.sh тебе все рвоно придется пробрасывать внутрь образа вместе с дампом. А раз так. то пробрасывать проще папку. Ты так и так будешь папку пробрасывать. Только вместо проверенного скрипта от разработчиков кидаешь свой скрипт. В чем смысл?
>>1961799 Тебе кусок документации дали >>1959549 из официальной докер-репы твоей бд, где все это описано, и про .sh, и про .sql, и про .sql.gz, и даже про порядок запуска этих скриптов, но ты продолжаешь задавать ответы. Ты не умеешь в доки?
>>1902319 (OP) Пацаны, есть задача упаковать, скажем 6 брокеров кафки с тремя зукиперами в докер, причем не слить из готового репозитория, а именно уметь положить чо надо. Есть какой развернутый гайд?
>>1962036 Если ты не собираешся пробрасывать порты на хост, то ничего енять не надо. Они словно каждый на отдельной виртуалке. Вместо портов у них уже разные ip и имена.
>>1962056 Я все осваивал по официальной доке + гугл. Инфы в интернете море. Надо просто знать чего спрашивать. ну и английский знать хотя бы минимально.
>>1961605 Потому что, как я и писал, девопсеров не учат, не хотят брать стажеров, платить им бабки. А даже если и набирают, то требований там до ебаной матери. Ну вот пример, вакансия трайни девопс: https://ctdev.by/ru/vacancy/Trainee-DevOps Высшее образование в сфере информационных технологий либо смежных областях; Знание Java, JEE/Spring, JavaScript; Знание реляционных баз данных, SQL либо NoSQL; Опыт в написании скриптов; Желание развиваться в качестве DevOps; Знание английского языка на уровне Intermediate А теперь подумай, ты какой нибудь мидл жабаскрипт девелопер. Занимаешься только тем, что пердолишь код в ИДЕ и получаешь полтораху, к тебе подходит парень и говорит. "Слыш, давай ты короче будешь пердолиться с ЦИ/ЦД, потом тебе нужно знать облака и короче ещё питончик подучить нужно с башем, ну и линуху знать. А ещё кстати заббикс и графану научиться настраивать. Ну вебстек ты и так знаешь. Ещё кстати нужно кое-что почитать, ну ТЦП/IP например, траблшутинг sql, unix, windows. Это короч по началу, потом там ещё скажу. По деньгам примерно долларов 500 будет, ну ты ж это стажер ещё! В цеху мужики по 40 лет работают, зп 25 тыщ! А ты сразу захотел!" Вот так примерно выглдятят такие вакансии, информации овердохуя и на это нужно убить не один год. А ещё с этим нужно работать на практике, обосцаными книгами и лекциями ничего не изучишь. Ебланы которые много просят были всегда, но в кадровом дифиците виноваты именно охуевшие галеры, которые сейчас на стадии отрицания. Где я не прав?
Товарищи, если ли годный гайд по вкату? Знания примерно Mcsa/mcse, прошёл второй курс Rhca, немного знаю сети (циски и микротики настраиваю, но с манулами), ну и powershell. В настоящее время сопровождают Windows и доменную инфраструктуру.
>>1962844 Сходу, какой инглиш? Вкатывайся в галерные курсы, а там на джуна девопса вкатишься. По другому никак. Эти знания немного не те, которые требуют от девопсеров
>>1902319 (OP) Почему большинство компаний выбрало k8s вместо hsc nomad или rancher? Тот же номад выглядит на порядок проще в использовании, чем поделка гугла, которую без поллитра не развернешь на локальной машине для проверки, что у тебя все норм поднимается и сервисы доступны
>>1963389 Наверно потому что гугель выпустили этот продукт первыми, не?
Что хочешь то и используй. Например если у тебя немного бабла, то можно использовать k3s. И даже пердолить его на одном хосте в прод считается ок. На k8s нужно мощнее железо.
Вообще же локально есть minikube и в самом docker desktop есть куб(использую его)
А дальше просто переключаешь контекст на то куда надо деплоить. helm install и все заебись.
>>1962844 Пилю гайд как вкатится неочевидным способом: 1)На изи вкатился в джун тестеры на аутсорс галеру - требуемые скиллы - уметь бить руками по клавиатуре. Умение говорить и писать будет неплохим подспорьем. Если обладаешь базовой компьютерной грамотностью и можешь вычислить злоумышленника через ipconfig - оторвут с руками 2)Перекатываешься с галеры, на тех, кто у этой галеры аутсорс и покупает. Требование:Уметь выгодно выделятся от среднестатистического работника галеры(IQ >~комнатной температуры хватит) 3)Пока делаешь 1 и 2 - подучиваешь ЯП. Перекатываешься в автоматизацию. 4)???? 5)Перекатываешься в разработку 6)??? 7)Перекатываешься в Devops.
Не помню когда я пошел по этой скользкой дорожке, кажется все пошло как пошло с момента когда: "Слушай у нас тут Devops внедряют(ебать шо за хуйня такая такая еще)
Есть такой дженкинс - там вот надо сделать так шоб твои тесты там на раннере прокатывались и если ок - катилось на другой стенд, ты там их запуск впилишь?
Минусы - на это ушло много времени(хотя для меня не прошло ни секунды, ибо никакой мечты стать именно девопсом не было, вообще не вижу разницы кем работать в IT, покуда для любой твоей должности url на стековерфлоу один и тот же)
Плюсы - за эти 5 лет зп выросла с 15к до 220к. Первые годы она росла вообще очень быстро. Ты крутишься в нужных кругах, нетворкинг все дела, набиваешь себе балы социальный кредит в айтишный среда, острый ум, великий мысль, а не читаешь мануалы по башу, вечером, после работы грузаном в магните. Видишь как это все работает изнутри и практики имеешь хоть отбавляй - а встающие ребром задачи, порою выходящие за рамки твоих познаний - заставляют по настоящему вертется ужом на сковородке - и расширять свой айтишный кругозор.
Базарю, способ применим чтоб вкатится куда угодно в ойти.
>>1964471 >>1962844 Стоит дополнить что раз ты уже можно сказать не хуй просто и за винду шаришь.
У вас там только сети крутишь? Своя разработка у вас есть? Работу самих приложений если есть кто админит? Поговори с челиками, допустим попробуй перекатится куда-нибудь в эту степь для начала. Уже будешь как минимум если не ответственный за пайпы, то как минимум за то, что через них налилось, общаться с разрабами, видеть то, как там это все работает, потихоньку тюкать это все. Потом перекатишься куда-нибудь на норм должность - сам не заметишь.
Но соглашусь с оратором выше, наличие твоего опыта - очень хорошая штука, но не совсем релевантная для девопса.
один тока calico нетворк плагин для aws ставить я вобще охуел без поллитра не разобраться как оно работает. тем более шаманство с iptables и линух маскарадинг ебаный в рот. когда под на aws не видит интернет пиздец 2 дня убил
>>1964523 >шаманство с iptables и линух маскарадинг ебаный в рот. когда под на aws не видит интернет пиздец 2 дня убил так. чую у вас там толковый админ может на изичах деньги лопатой грести?
>>1964522 >тераформы и прочее не нужны Чел, кубер - это оркестрация, а терраформ - провижонинг. Ты просто не в теме, чел. Иди дальше обновляй свой единственный сервер через ssh
Салам аноны, суть такая, сам я вкатился месяца 3 назад, верчусь на хую с веб разрабами и соответственно приходится деплоить все то, что они делают. Я вручную дрочил nginx, letsencrypt и прочее говно. Недавно узнал про Caddy, затестил, вроде удобная штука, но жопой чувствую, что ненадежная. Так вот, можете рассказать про различные аналоги автоматизации nginx'a и поддерживания ssl сертов?
Так и не понял, хорошо ли использовать кубернетс(в частности k3s) с 1 хостом для своих проектов?
По факту другие варианты деплоя контейнеров замудрены. А тут все просто апдейтить. И можно сразу сделать 2 реплики пода и тогда по сути при апдейте все будет работать. Но он требует 512 мб оперативы + 256, если правильно понял. Тк и master и agent в одном месте.
Еще плохо держать тот же postgres в поде, но мне кажется многие так делают.
>>1965044 > Так и не понял, хорошо ли использовать кубернетс(в частности k3s) с 1 хостом для своих проектов? Чому бы и нет? Хотя больше для нескольких нод подходит, но из-за темы с удобным обновлением приложений я его иногда так и использую. > Но он требует 512 мб оперативы + 256, если правильно понял. Тк и master и agent в одном месте. Для тебя это критично? Мастер можно держать постоянно поднятым где-нибудь на халявном инстансе oracle cloud например. > Еще плохо держать тот же postgres в поде, но мне кажется многие так делают. Пока я не разобрался с PV и PVC, держал postgres сначала в отдельном контейнете через docker, потом через podman.
>>1965412 >oracle cloud Там виртуальная карта не прокатывает.
>Для тебя это критично? Хз. Там всего 2 гига. Голая убунта забирает 180мб. Уже пробовал туда все задеплоить и остается где-то 700-800мб. Возможно это даже с 2 репликами приложения, не помню.
Не понимаю что произойдет если pod с postgres'ом наебнется. Видел кто-то делает бэкапы через dump.
>с PV и PVC Наверно я еще не догоняю, но вроде работает. Создаю pvc.yaml
И дальше пикрил. Или надо что-то еще делать? Все доки не читал, но щас смотрю там claimRef.. вот это вот все
>>1965044 Нужно начать с того, что k3s - это единственный вариант проверить, что твое поделие нормально деплоится в кубер и работает, перед тем как его раскатать на стейджинге или в проде на полноценном k8s, который состоит из кучи сервисов и жрет просто гигабайты памяти. К сожалению, k8s это не nomad, который состоит из одного бинаря и который можно с легкостью поднять на рабочем ноутбуке.
>>1965600 > k3s - это единственный вариант minikube microk8s kind k0s кубер, который в docker desktop для win/mac Для всего этого добра достаточно 2Gb RAM, а то и меньше.
>>1965644 > Лол, нет Почему? > Только Consul или Istio При чём тут consul? Это же просто распределённая БД с service discovery.
>>1965644 завязывай принимать наркотики. У траефика есть ссл в комплекте, веб админка если надо,он нативно работает в докере, но можно накатить и без докера.
Анон, подскажи "легковесную" ci/cd систему, чтоб хостить в локальном докере/кубере. Тимсити-сервер жрёт 1-2гб оперативы, плюс на агента надо. Гитлаб тоже хочет 2гб (вместе со свопом, но в кубере своп отключен). Смотрел jenkins - вроде минимум 200мб, 1гб будет комфортно. Есть еще что-нибудь "маложрущее"? Можт кто github actions self-hosted runner использовал - как оно?
>>1969550 Может ли кодинг быть интересным? Девопсить нравиться, а от написания кода/создание велосипедов с квадратными колесами невыносимая скука наваливается. Ещё и у баша всратый синтаксис.
Есть питоновый код, собрал из исходников контейнер на локалке, мне надо сделать так, чтобы контейнер собирался на серваке с помощью докерфайла из репозитория с учетом requiremetns.txt, щас получаю ошибку, пип не видит файл на месте и ниче не ставит
>>1970766 Показывай докерфайл, структуру каталогов и файлов проекта, какой именно файл не видит pip (лучше сам текст ошибки) , и из какого каталога стартует сборка на сервере. И чем вообще производится сборка?
>>1963230 Ну нет же, патрони это просто proxy который умеет делать fencing и промоутить слейв до мастера. Скорее ближе от той же конторы будет zalando postgres-operator. Вот то прям рили оператор с помощью манифестов которого можно подымать pg-кластеры со всей хуйней малафьей. Это все круто конечно, но мне нафиг не надо. Алсо: я больше по столоновой теме. Пидоновая поделка над базой данных... зашквар же.
Анон расскажи можно ли как-то развернуть кубир с нормальными (не прибитыми локально) pv на следующем конфиге: - куча стареньких лезвий - шаред сторадж на SAN, общие луны для всеx серверов - установлена мокрая писька vmware которую нельзя сносить Можно ли как-то в мокрой письке пробросить lun внуторь каждой VM с кубиром? И потом каким-то образом настроить сторадж класс чтобы он на этот шаред блочном устройстве мог алоцировать pv? Т.е. так чтобе последние могли между нодами переподключаться в случае их падения/maintenance? Я что-то нифига не нашол. Алсо: кстати лол. Между комментариями выше (>>1932948 -> >>1970793) я дропнул эту говноконтору экономяшую лишние пару сотен президентов. А вот щас на новом месте подвезли 250ядер/700RAM/5TB чисто чтобы CIки гонять. :)
>>1970775 Ебаный пиздец Нахуя у тебя там git clone? Если проект лежит в гите, то туда же и Dockerfile надо кидать. WORKDIR . ты ставишь рабочей папкой текущую. Нахуя? она и так текущая. COPY . . очень хуевая команда. Копируется много лишнего. Нужно копировать лишь то, что нужно. Или хотя бы использовать .dockerignore
gitlab+gitlab runner+push в реджестри гитлаба забираешь от туда готовый образ
По докер файлу, 1-прочитай по слои, сначала ты делаешь установку requirements.txt потом копируешь свой код в папку /app (не устраивай помойку в образе), образ будет быстрее пересобиратся так как зависимости питона не так часто будут меняться, если зависимостей мало валишь все в /app 2-один гит тянет за собой мегов 30, не колись, а используй папку с кодом рядом с докер файлом Выше дал канал там до дыр все разжевано как делать нужно
Ежедневное напоминание для вкатывальщиков: не стоит работать в конторах где есть выделенная роль "девопс". Во-первых, это не по девопсу (лол). Во-вторых, эта самая роль будет в любой непонятной ситуации завозить кукарекусы, не разбираясь вообще зачем.
Поэтому совет нюфаням: не надо вкатываться в девопс, лучше подрочи CTCI, иначе будешь вечно растерянной макакой без задач. Девопс это лишь дополнение (не всегда обязательное) к резюме современного разработчика.
>>1971278 Что за хуйня? Разработчики и так охуевают от всякого говна, а тут ещё сверху килотонна параши на которую нужно убить не один год. Гораздо проще нанять другого человечка, который будет снимать некоторые задачи и разбираться с тем, что делать с приложением дальше. Вообще мне норм, я только знаю голый питон и уже джун девопс, а если бы вкатывался в разработку, то пришлось бы дрочить язык и 100500 фреймворков.
>>1972925 Не можешь поднять и администрировать кластер кубернетес? Прошу на мороз! Не знаешь как запровижонить хардваре через тераформ? Уволен! Не умеешь деплоить в кубер через ансибл плейбуки? Зачем ты вообще пришел в айти?
>>1972930 Эта хуета жрёт оперативную память и CPU как не в себя. И дисковое пространство тоже пожирает. И ещё, гниды, десяток виртуальных сетевых интерфейсов поднимаете, да так, что в них чёрт голову сломит.
Убивать вас надо. Хотелось бы медленно и жестоко, но нельзя - вас надо убивать быстро, пока не расплодились.
>>1978254 Проект Феникс, епта. Вот это про девопс. Прям сугубо про девопс. А по факту - читай про технологии, а не про девопс. Девопс это: 1.Автоматизируй 2.Экспериментируй 3.Инфраструктуракаккод
>>1979099 Ты мне напомнил одного ушлого перепука компухтерных деталей. Я продавал на авите разное давненько. Всякое компьюткрное устаревшее. И вот он однажды за моником пришел ко мне на работу. Видно, что это суровый такой бывалый админ/эникей в годах, который далее переустановки винды и захода в биос так и не продвинулся. Я работал в конторке, делавшей аналитику для госучреждений. И помню, как он задавал вопросы и ходил кругами со словами - "В общем, не понятно, чем контора занимается, не понятно". А хуль тут не понятного. Обычный офис, обычные столы/компы/мониторы и люди, уткнувшиеся в них. Не столярный цех. Без морали
>>1979099 Слишком много всякого говна развелось чтобы программистишка помимо своего говна разбирался еще и в этом. Ну и как всегда, как фулстек всегда будет хуже бекендщика с сопоставимым опытом на чисто бекенд задачах, так и бекендщик, который в могет в базовые девопс-вещи все равно хуже фулл девопса на девопс задачах, просто за счет практики и наличия опыта разрешения нетривиальных случаев. Я работал в нескольких конторах, где пытались использовать понятие девопс в изначальном смысле (девелоперы которые помимо разработки так же занимаются задачами инфраструктуры и поставки), и каждая в итоге отказалась от такого подхода и завела отдельный фулл-деволпс отдел.
Пацаны, ситуация абстрактная. Где-то крутится кафка и завтра будет обсуждение как лучше делать. Их кафку я в глаза не видел. Сам я в кафке не особо, ставил, делал кластер и пр. Надо задать вопросы не от роли трогал а от роли знаю че как. Как лучше опросить, как именно у них все работает, какие логи запросить, как про аудит там, какие конфиги. Помогите не обосраться, реальная история, я не троль.
>>1902319 (OP) Нахуй вообще админов в DevOps переименовали? Переусложнённая залупа, с искусственно завышенным порогом входа и всратыми тулами. Как работало всё криво через жопу так и работает. Никакой, сука, разницы, раньше не отработал баш или пакет не встал. Сейчас не отработал хук и под не задеплоился. Только теперь учить нужно всего больше. Раньше баш с перлами катали плевались, теперь yaml-говно катают и также плюются.
>>1983037 Хуйня, сейчас системы стали сложнее и инфраструктура тоже, соответсвенно инструменты тоже. Ну а то что ломается, ну так для айти это норма, тут нихуя никогда не работает без пердолинга и изьебов. Но к счастью, сегодня все стало более менее стандартизировано: поддерживать докер + кубер + терраформ + хелм намного проще, чем ворох баш-говна и дебс-пакетов написанных произвольно по настроению одними свитерами 5 лет назад и уебищно пропатченными другими свитерами 2 года назад, которые все уже давно уволились офк.
>>1983037 Не админов в DevOps переименовали, а разработку к админу пристыковали. Теперь ты не только сервер держишь, но должен скакать, чтобы послу пуша кода разрабом, этот код доехал до твоего сервака.
Ибо разработка развивается семимильными шагами и этих разрабов уже черт ногу сломит.
Классическое админство тащем то никуда не делось, в обычных компаниях, далеких от разработки, до сих пор нужны шивы.
>>1983066 Хули там сложнее стало то? 90% процентов систем на рынке как занимались перекладыванием джейсонов так и продолжают. Сложнее блеать, сложнее - это разрабатывать кубер и проектировать сами клауды и их экосистемы, сложнее это писать распределённую БД или стриминговую платформу. А круды да рестухи шлепать нихуя не сложнее. Отказоустойчивость, мониторинг, автомашстабирование и раньше были. Просто говна навернули, для увеличение порога входа и всё. Та же история, что и с фронтом, красили кнопки и отрисовывали ответы бека, в какой-то момент заскучали налили туда куча говна всякого - редуксы-хуедуксы, бандлеры, ФП итд. А задачи как были унылым говном примитивным, так и остались.
>>1987128 тащемта его не сложно использовать, я все хочу консул потрогать но какой-то ебаный комбайн сложный, все никак не могу сесть и заставить себя разобраться
> админ Админ этот тот кто кабель проводит, картриджи в принтерах меняет, проплачивать домен и порты пробрасывает.
>бекендер Это тот кто пишет серверный софт. Задачи сборки на билд-серверах, поставки, оркестрации, развёртки серверного окружения и прочая инфраструктурных ебень его ебать не должна. Максимум локальная докеризация, и логи с метриками проставить.
>>1902319 (OP) По докеру подскажите есть что почитать. Сейчас какую то херню читаю как скачивать образы и запускать контейнеры, мне бы что нить поинтересней, похардкорней.
>>1987700 >Максимум локальная докеризация, и логи с метриками проставить. Ну, ты загнул, конечно же. Бекендер должен уметь описать конфиг кластера кубера через терраформ, описать хелм чарты и настроить CI/CD, чтобы все это добро автоматом деплоилось на стейдж, а потом уже в бой.
>>1987794 >Бекендер должен уметь описать конфиг кластера кубера через терраформ, описать хелм чарты и настроить CI/CD, чтобы все это добро автоматом деплоилось на стейдж, а потом уже в бой. Спасибо, я вам перезвоню.
>>1987594 Что он у тебя решает? Это оркестратор. А волт - хранилка секретов. И не только для куба. Там ввше было сказано, если у тебя 1 сервис во всем кубе, тогда и без волта норм, ручками. А когда у тебя 10+ кластеров на 100+ постоянно живущих и менчющихся сервисов каждый - вот тут уже нужен правильный инструмент.
Вызывайте ОПа, или кто тут смотрящий. В шапку надо добавить что-то типа: В любой непонятной ситуации с $TOOLNAME почитай, блять, сначала официальную документацию на сайте/гитхабе этого $TOOLNAME.
>>1988632 Вкатун, плез - https://kubernetes.io/docs/concepts/configuration/secret/ А поделки хэшикорпов выбрось, не нужны они тебе. Не готовы они для серьезного продакшена и им никогда не сравнится с качеством и количеством разработчиков гугла, которые пилят куб, истио и прочие сервисы для клауд нейтив эры.
А вакансий то дохуя. Твердо и четко произнесите ключевые слова, которые нужно знать чтобы вкатиться. Только без этого вашего линукс, команды консоли это все и так понятно.
>>1987727 Не ясно что ты по докеру сообрался читать, пиши конкретней Примеры заданий: - multi-stage build берешь чистый образ системы за базу debian-10slim например, качаешь туда сорцы nginx, докачиваешь модуль lua или nginx vts, собираешь из сорцов, во втором стейдже запускаешь. используй ENV и ARG, а так же && для уменьшения размера слоя. - возьми https://github.com/udemy-course/Django-Blog-Demo всеми любимый и заведи его в композе, nginx, django, db(postgress). сделай отдельные сети, чтобы мир видел только nginx, а db не видела nginx, используй ENV и настрой чтобы джанго видел переменные конекта к базе,чтобы без хардкода было.
- почитать как работает dind и посмотреть из чего он собирается(это его на docker hub), попробуй завести его на убунте(он сделан на базе alpine)
>>1988689 Плюсую, что ссыль на оф доку. Есть еще те, кто читает. Но с тобой не согласен. Например, у тебя 3 кластера. В каждом 3 неймспейса. В каждом неймспейсе живет свой отдельный сервис. Все эти 9 сервисов используют один и тот же секрет, в котором пусть будет токен, пароль, логин, суперсекретный набор символов и имя собаки соседа. Если у тебя возник кейс, что имя собаки скомпрометировано, как будешь везде все секреты менять?
>>1989160 1. Правильно ли я понимаю что достаточно одного serviceAccount на все deploymens приложения? При изначальной настройке я создаю этот serviceAccount через kubectl, делаю авторизацию... и дальше уже могу все через helm install..., прописав в каждом deployment serviceAccountName.
2. Я добавляю policy. Изначально там уже прописаны paths. Есть ли какая-то разница между ними. Например /internal, он для каких-то особых нужд? По идее я могу создать path с именем моего приложения и все myapp/data/...
3. vault write auth/kubernetes/role/internal-app \ Здесь role должна соответствовать имени service account?
4. логично ли в bound_service_account_namespaces прописать имя приложения? Если я например хочу держать несколько приложений в кластере и у меня там например разные поды с бд для каждого приложения.
5. Верно ли что делать patch не обязательно, я могу сразу в deployment прописать annotations
>>1989238 Создай неймспейс vault и туда ставь, чего мудрить лишний раз. Оптимальная тактика: каждому приложению - свой неймспейс. Для кластеров, где вот такие инфраструктурные вещи крутятся, типа волта, графаны, прометея, кибаны и прочего - самое норм. Для продуктовых кластеров уже думать надо.
>>1989315 А, и что-то на главное не ответил. Я считаю, что волт должен быть один на весь бизнес/организацию. Каждому приложению свой волт, это оверхэд.
>>1989236 >1. Правильно ли я понимаю что достаточно одного serviceAccount на все deploymens приложения? >При изначальной настройке я создаю этот serviceAccount через kubectl, делаю авторизацию... и дальше уже могу все через helm install..., прописав в каждом deployment serviceAccountName.
>2. Я добавляю policy. Изначально там уже прописаны paths. Есть ли какая-то разница между ними. Например /internal, он для каких-то особых нужд? >По идее я могу создать path с именем моего приложения и все >myapp/data/...
>3. vault write auth/kubernetes/role/internal-app \ >Здесь role должна соответствовать имени service account?
>4. логично ли в bound_service_account_namespaces прописать имя приложения? Если я например хочу держать несколько приложений в кластере и у меня там например разные поды с бд для каждого приложения.
>5. Верно ли что делать patch не обязательно, я могу сразу в deployment прописать annotations >
1. В целом, тебе вообще одно сервисаккаунта достаточно. Но это не Ъ и не раскрывает сути SA. Ты можешь создать один SA именно с правами деплоя приложения. А другой SA а чьиии привелегиями будут работать деплойменты. Все деплойменты приложения запустить с одним SA - норм.
2. Не могу понять, о каком /internal ты говоришь. Создавай полиси именно под сои пути в секретах.
3. Насколько помню - нет. Ты там в настройках роли прикрутишь токен от SA.
4. Так у тебя там имя SA заправшивается.
5. Можешь. Только я не поняд, какой результат нужен?
>>1988758 Спасибо, этим и займусь. Мне бы про базы данных еще что нить, как их хранить и реплицировать в контейнерах. Зашел на AWS там то для дибилов все сделано мышкой покликал и все у тебя геораспределенная бд. Странно что за это еще деньги платят, почти во всех вакансиях вижу это aws
>>1990679 в контейнерах базы не хранят, в этом нет смысла потому что это дает очень много проблем. Есть нативные решения для контейнеров, типо того https://www.cockroachlabs.com/product/ там уже из коробки кластеризация.
>>1902319 (OP) КАК В ЭТИ ЕБУЧИЕ ВЕБСЕРВЕРА ВКАТИТСЯ Я вроде не тупой, но ЕБАНЫЙ РОТ, Я НЕ МОГУ ПОНЯТЬ ЧЕ ЧИТАТЬ ДЛЯ ТОГО ЧТОБЫ НАЧАТЬ ПИСАТЬ СВОИ КОНФИГИ NGINX ВСЕ ЭТИ ХЕДЕРЫ ХУЕДЕРЫ ДИРЕКТИВЫ БЛЯТЬ ЕСТЬ КАКОЙ-ТО ПОДРОБНЫЙ ГАЙД ИЛИ РОАДМАП БЛЯТЬ???!?!?!?!?!? пожалуйста девопсач помоги
>>1991486 Можно kubectl подкидывать папку с ямлами, а не отдельный файл.
Ну а так создаешь дефолт чарт. Удаляешь все из папки chars и tests. Удаляешь все внутри values.yaml и начинаешь создавать templates попутно добавляю values.yaml
>>1991489 Лол, сейчас бы пердолиться в кубернетис, который без поллитра на ноутбуке не запустишь и нужно ковырять всякие "облегченные" версии кубера, когда есть хэйшикоурп ноумад, который хоть на кофеварке можно запустить.
Таки вопрос у меня. Вот к примеру есть asp net core приложение с MSsql. Я его публикую в докер. Как вообще происходит обновление в докер контейнере? Юзерам надо скачивать новый контейнер? А если у них есть записи в БД то как их не потерять? БД выносить за контейнер?
>>1991651 Скачивать новый образ, образ с новым тегом. База отдельно, если хочешь чтобы она была в контейнере нужно создавать volume. >>1991666 Кому то для обучения норм, по крайней мере попробовать пару раз наверно стоит.
>>1991666 >количество вакасий >k8s >использует гугл и прочие компании из Fortune 500 >будем запускать свои 3 микросервиса! нам срочно нужен кластер кубернетис!
>>1991630 Там одни и те же команды, алло. Можно использовать тот что идет в комплекте с docker-desktop.
Очевидно что k8s больше для крупных проектов и организаци. А так подойдет и k3s. Он сразу идет с ТРафиком. Вместе с cert-manager оно все ест 1gb оперативы.
>Go with kubernetes. The amount of traction it's getting is insane. Google and Microsoft have whole teams just dedicated to it.
>>1992040 >оно все ест 1gb оперативы >OS X пуляет гипервизор на 4 гб, чтобы запустить твой докер >несколько микросервисов отъедают еще по 700-1гб каждый >базы, очереди и прочий миддлвейр отъедает еще несколько гигабайт хм, мда, кек...
Сейчас делаю веб сервис, на неткор веб апи, функционал просто как пять копеек, пользователь идет на апишку post http://localhost/api/v1/documents?айди_фильтра+пагинация и здесь я просто отдаю документы из бд по фильтру. У меня вопрос как прикрутить сюда авторизацию? Я хочу типа отдельным сервисом сделать на ноде, чтобы он отдавал уже готовый жвт токен. Получается мне на сервис документов в хидере передавать этот токен нужно, и потом отдельным запросом проверять на сервисе авторизации валидный ли он?
>>1959610 если заставить программистов заниматься деплоем, зачем тогда будут нужны девопсы? также естественно программисты обычно не занимаются администрированием
>>1992656 Почитал вакансии, потом посмотрел резюме соискателей. Сложилось мнение что ищут работу одни дибилы если человек что то умеет / имеет практический опыт работы, то сразу пишет 200к+ себе в ожидаемую зп. А мне то и сотки хватит. Вот уже пару недель потихоньку вкатываюсь.
Попердолился с дженкинсом. Вроде разобрался что к чему, но это говно не работает либо работает через раз в кубере. Запускается slave(pod с 2 контейнерами) и спустя какое-то время перезапускается. 2гига мало.
Теперь даже пердолиться с волтом не хочется. Думаю вручную сделаю все через helm и забью хуй.
Собирался вешать резюме на макаку, но после почти месячного пердолинга со всем этим говном, можно пробовать опсы лол.
>>1992872 И что с того. Да, там сильно не свежие версии куба. Но основу книга дает хорошо. Расписано по полочкам. Олиферы тоже не вчера свою книгу выложили.
>>1993982 >Но основу книга дает хорошо Какую основу, чел? kubectl руками вызывать из терминала? Этим занимаются либо провинциальные веб-студии, либо безумцы. Нормальные люди все описывают через терраформ и хелм, чтобы можно было одной командой поднять кластер и накатить туда все твои помои.
>>1994004 Способы связи контрол плейна с воркер-нодами уже не те? Сервисы и ендпоинты уже по другим принципам работают? Я согласен, что книга не нова и многих последних штрихов там нет. Но база как была так и осталась. Для вката самое оно.
>>1994308 Вот мы и подошли к сути. Есть не только бой, верно? Еще кучка окружений, как минимум стейдж и дев. Если тебе и туда запрещают руками лазить - сочувствую тебе. Вместо проигрывания - поясни свои способы.
>>1994406 Чел, ты себе в блокнот записывай какие команды выполнял на кластере кубера у себя на макбуке, чтобы потом в той же последовательности на стейджинге и бою проделать, лiл!
>>1994441 >блокнот Твой уровень понятен. Про делают так history | ssh root@production
Подведем итог. Тебе нужно поставить некую программу на потестить. Ты создаешь себе таск, потом пишешь скрипт, оформляешь коммит в гите, делаешь пулл рексвест к этому таску. Мержишь код. Пограмма не подошла и ее нужно удалить. Создаешь себе таск...
Я понимаю, я не опытный, но я вот периодически деплою что-то, устанавливаю, настраиваю и у меня прям четкое ощущение, что работа девопса это просто какой-то постоянный стресс, то какая-то библиотека не хочет ставится, то версии конфликтуют, то с правами какая-то ебля, то что-то умерло непонятно почему, а это еще и на проде может быть, это я такой криворукий или реально противненькая работа?
>>1996201 Ты не опытный. Как и везде - дальше пойдет легче. Даже в новые инструменты вкатываться с позиции уже какого-то опыта сильно легче. Опять же, стресс. Стресс еще может быть не потому что ты виноват, а потому что рабочий процесс менеджерами неверно построен.
>>1996201 Постоянная бомбардировка кучей микрофрустраций - это норма для любой IT профессии. С ростом опыта их становиться меньше, но так как постоянно выходит новый стаф, приносящий новые ебанутые ошибки, то свести его к нулю невозможно, оно будет на определенном уровне постоянно. Это просто часть профессии.
>>1996201 Зависит от процессов, если все на коленке изначально сделано будет работа как у макаки.Постоянно модернизируй то что делаешь, читай новое, смотри как делают другие. Стресс лечиться только опытом(стрессом), пукан закаляется и проблемы уже не проблемы, а просто данность.Берешь и изи решаешь. Ну и позитивный настрой, если подходить к работе "суки пидорасы" дали ведро говна с утра, у тебя и день без задач будет болью и страданием. >>1996223 подвачну
>>1996208 >Ты не опытный. Как и везде - дальше пойдет легче >>1996223 > С ростом опыта их становиться меньше
Данунах. У меня опыт поболе вашего. И что я вижу? Я вижу overblow контейнеры, которые на корню убивают всю идею контейнеров. Вон там в соседней теме мальчуган собирает static исполняемый файл и я его хорошо понимаю. Его можно подпускать к докерам/кубернетисам. А 99% разрработчиков и девопсов надо посадить за пикрелейтед. И если они ничего поленого на этом железе сделать не смогут - на баржу и утопить. И мир сразу станет чище.
>>1997978 Не спорь с дядей. Дядя недавно ставил Java в контейнер и видел сколько ХУЕТЫ подтянулось. Несколько сотен библиотек, в том числе компоненты X11, которые даже теоретически не понадобятся.
И чем тебе не нравится один статически линкованый исполняемый файл, обработанный strip? Компактно. Никакой лишней хуеты.
Впрочем, даже при таком раскладе место для хуеты найдётся. Она уже в библиотеках. Но с этим как-то можно смириться. Временно.
ткните для джун девопса что читать по ансиблу, гуглю, какие - то невероятные плейбуки выдаёт мне бы по началу аккуратно, что установить, каким образом ходят на хосты, как пишутся плейбуки, какие популярные примерчики есть написания плейбуков и самое главное не спеша и аккуратно рассказывающий механизм что под капотом, чтобы можно было читать и погружаться. заранее благодарю.
Вопрос такой, аноны. Всё детство интересовался ОС и Вебом. Красноглазил в линух, какие-то свои сборки делал болгенос 2.0, держал домашнюю сетку, потом, сервак с л2, на ХТМЛ какой-то сайт-визитку сделал. Потом как-то закончил школу, в универ не пошел (тогда была популярна тема, что ВО не нужно, лол) и как-то не пошло дело с карьерой в ИТ. Сначала бизнес теперь вот работаю медицинским техником (контроль и обеспечение реанимаций, палат и операционных кислородом, наркозом и т.д.) а ИТ увлекался как хобби. Красноглазил, читал талмуды Кнута, Таненбаума и т.д. Сейчас мне 28, ВО нет, но, хочу вкатиться в ДевОпс. Есть шансы или тупо забей уже?
>>1902319 (OP) Привет. На локальном гитлабе лежат два докер компоуза, мне надо сделать так, чтобы они с помощью энсибла выкачивались из реп и на двух удаленных тачках компоузом превращались в нужные службы. Как лучше сделать? Мне надо, получается как то сказатьэнсиблу установить докер + компоуз, склонить репу и запуститься. Или как?
>>2002387 Тут выше пролетали курсы бесплатные. Кто то ходит на них. Правда там английский нужен. Ну там тоже какой то бэкграунд нужен, тупо команды консольные баша, маршрутизацию себе представлять, сетевые интерфейсы.
>>2002475 Никто тебя с курсов управлять доступностью прода не поставит. Поэтому можешь пропустить их и сразу вкатываться девопсовым джуном с тем же минимальным бэкграундом. В идеале ты должен иметь админский опыт хотя бы в пределах десктопного линуха.
>>2002233 Ну да, не учат UDP хейдеры потом ходят по собесам еще зарплату просят, это же фундаментальные знания, как минимум на двери туалета должна быть таблица с ними.
>>2002491 Когда я был юный и безбородый админ локалхоста. Меня срезали на собесе вопросом: у вас есть tcp пакет, как вам узнать адрес источника откуда он пришел
>>2002510 >у вас есть tcp пакет, как вам узнать адрес источника откуда он пришел Никак. В заголовке TCP этой информации нет. Эта информация в заголовке IP.
>>2002529 > >у вас есть tcp пакет, как вам узнать адрес источника откуда он пришел > Никак. В заголовке TCP этой информации нет. Эта информация в заголовке IP. Ну раз есть tcp пакет, то значит есть и ip пакет. Tcp у нас без ip не ходит. А уж в ip есть адреса.
>>1902319 (OP) А есть что нибудь такое чтобы если я меняю файлики в /etc они автоматом коммитились в гит. Ну там без всяких изысков, просто коммиты под номерами для истории.
>>2003625 etckeeper Но раз уж ты в девопсотреде, то все настройки ты должен хранить в репе ansible/chef/salt и тд т их уже накатывать на etc, а не наоборот.
Что-то пиздец ваш тред демотивирует. В понедельник будет техническое собеседование на джуна девопса. Сам работал шивой, но крутил немного линукс, сдал RHCSA, поверхностно понимаю как работаю докер, ансибл. Ангийский Б1. В эти выходные хотел подготовиться - поактивней покрутить докер, докер-композ, кубер, гитлаб си. Но после треда прям руки опускаются. Есть хоть какие-то положительные стороны у профессии кроме зарплаты?
>>1902319 (OP) Есть виндобляди тут? Какой самый православный способ деплоя системы в оффлайне? У индусов даже sysprep не работает нормально - обновленную систему хуй прогонишь через него.
>>2006477 Нет, не надо. Ты просто не в теме, чел. Можешь дальше писать скрипты на питоне и баше, а потом удивляться, что у тебя ничего не работает и все окружения немного отличаются.
>>2006460 В 2007 работал подаваном в конторе примерно триста компов. Так накатывали винду с эталонного образа по сети, в котором уже были весь софт, все драйвера, тулзой от нортона. Там еще только в новой винде нужно было айдишник поменять, не помню какой, перед тем как в домен ее заводить.
Вопрос: кому вы нужны, девопсы, без умения писать код? Девопс же, в первую очередь, про ознакомление разработчиков с практиками CI/CD, infrastructure provisioning, containerization, allah adoration, configuration automation, etc. Думаешь, научился делать kubectl apply и можешь получать килотонны бабла? Это так не работает.
>>2006876 Вполне работает. Кодер кроме своего кода нихуя не знает. Кодер пишет код как макака. А девопс собирает из высеров кодера рабочий продукт и делает его юзабельным для пользователей.
>>2006910 Такой девопс нихуя не разберется, как это поделие собирать и будет бесконечно дергать разработчика: "а чо оно ниработаит??7". Нельзя жестко разделять роли девопса и разработчика, иначе первый будет неэффективен, а второму будет похуй/непонятно, в чем проблема первого, и ничего у вас работать нормально не будет.
>>2006945 Нормальный девопс не будет делать работу кодера. Если что-то не работает, то так и будет - макаке скажут фиксить. Девопс максимум может выполнить работу тестировщика, но никак не кодить.
>>2007149 >макаке скажут фиксить И пока это произойдет, девопс будет сидеть и долго разбираться, на его ли стороне проблема. Умножь кол-во таких итераций на n, и окажется, что вся схема с разделением ролей - говно. Поэтому девопс в вакууме не нужен, эффективнее научить кодера девопсу, а сисьадмина отправить на мороз виртуалки запускать.
>>2007282 Ну да, ну да. У тебя-то все всегда с первого раза работает, как и у 99% кодеров и прочих причастных. И ты всегда знаешь заранее, как нужно запускать сложное приложение с множеством конфигураций и на разных окружениях, при том без подсказок той криворукой макаки, что это написала. Манямир какой-то прям.
>>2007282 >>2007293 У вас как будто понимание задачи девопса как сотрудника состоит в том и только в том чтоб получить код и запустить его в продакшне. Самостоятельно, своими руками. Это макака а не девопс. ИМХО девопс дает и создает только инструменты для того чтобы разрабы без лишних геморроев могли собрать свой код в артефакты, протащить его через кучку тестов и проверок, выкатить в дев/стейдж, получить логи/метрики, их анализ и, возможно, аналитику, закатить в прод, в случае факапа быстро откатить обратно и далее получать логи/метрики с прода. Дать и создать инструменты. Ебстись с невыкатом будет уже сам разработчик, дергая за ручки этих инструментов и не особо вдаваясь в подробности, что там под капотом происходит и почему выпал банан.
>>2007263 > эффективнее научить кодера девопсу эффективный манагер подъехал ну или просто малолетний тролль-еблан далекий от того, о чем пишет кодер съебнет от тебя туда, где его не грузят лишними обязанностями. Впрочем, девопс от тебя тоже скорее всего съебнет с тем же успехом
>>2007330 Вот только самостоятельно девопс ничего настроить не сможет, потому что он не в теме, что там за приложение вообще. Вернее, сможет, но ебли будет больше, чем если бы разрабы сами это все поднимали. >>2007334 Если тебя не интересует ничего за пределами терминала/иде/списка тесткейсов, это еще не значит, что у всех так. Нормальные люди в айти постоянно развиваются, в том числе вширь. И кодеры, умеющие в девопс - это неизбежное будущее, к которому сообщество уже движется. Взять хотя бы докер - если ты, как разработчик, не умеешь в него, то к тебе есть некоторые вопросы. И нет, я не манагер. Я один из таких разрабов, кому интересно изучать кубернетесы/прометеусы/облака, потому что сам по себе кодинг не нужен.
Анончики, я много лет в админстве эникействе. Решил от безперспективщены поинтересоваться этими вашими девупсами. Оказалось интересно. Вчера поднял у себя локально в контейнерах гитлаб с раннерами и регисти. Покликал пайплайны, понравилось. Как матерый одмин-одиночка держащий под рукой сотню скриптов и конфигов, не до конца понимаю, зачем городить весь этот .yml и гору сервисов если все можно автоматизировать баш\питон скриптами с docker save-scp-docker load, да и все что угодно можно запушить скриптом. Так вот, по какой логике продолжать интересоваться заниматься, обучаться чтоб не ковыряться в неактуальных вещах и делать это как-то последовательно?
>>2007535 треду тут вообще не место. Кто-то возомнил себя сокрушителем устоев и дофига инноватором, попытался вынести девопсов в отдельный тред из wrk. Специально тут не отвечаю никому девопс
>>2007574 Когда ты начинаешь думать о доставке и развертывании приложения вне локального окружения - ты перешел черту и теперь можешь гордо именовать себя девопс-инженером и просить +100к к зп.
Если я поставил bitnami/redis, то какие там limits?
kubectl describe node показывает что там нет отграничений 0% 0%. Он что будет есть всю память? Думаю ему хватило бы 256mb
Хотя при установке я делал следующее. Мне все равно много не надо. Что он будет делать с этими pvc? helm install redis bitnami/redis \ --set master.persistence.size=1Gi \ --set slave.persistence.size=1Gi \ --set cluster.slaveCount=1
>>2007767 А сколько ему оптимально? Вообще с limits понятно. А вот requests не вкурил как ориентироваться.
Кстати, bitnami/postgres сам себе поставил 250m/256Mi
Небольшое приложение. Как и написал для редиса думаю хватило бы так же 256Mi, а по cpu хз.
И что делается с вот этим вот persistence.size=1Gi? (Что туда пишется? Если ставлю 256 лимит на память, то имеет смысл поставить и persistence 256? Или его можно оставить как есть?)
Еще заметил что даже если в данный момент в системе есть свободные ресурсы, не получится создать больше определенного количества подов при указании лимитов. Он сразу смотрит наперед, даже если под еще не упирается в лимит
>>2007705 Нет, он не обязателен. Используют его лишь в провинциальных веб-студиях, когда скрипты на питоне и баше надоели и хочется чего-то нового. Ансибл - это когда у тебя все окружения разные и ты не знаешь что такое immutable infrastructure
>>2007344 >Вот только самостоятельно девопс ничего настроить не сможет, потому что он не в теме, что там за приложение вообще. Вернее, сможет, но ебли будет больше, чем если бы разрабы сами это все поднимали. Не понимаю тебя. Опыт 3-3.5 года. Какие-то подобные проблемы были только в начале. Сейчас мне крайне редко надо смотреть, что я там в принципе докатываю до прода. Да, посмотреть/100пудово пооптимизировать сборку контейнера. Руби, нода, питон...в целом, без разницы. Но, за неимением стажа в 20 лет, я наверно лучше с тобой соглашусь, не знаю какие кейсы именно у тебя.
>>2007514 Первая причина, почему все хотят yaml, как я вижу, это нормальная читаемость и самодокументиремость кода. Баш код абсолютно не читаем и понять, что он делает, просто посмотрев, очень сложно. Вторая - это то, что повторное применение таких штук как ансибл или терраформ не приводит к проблемам и гарантирует, что при тех же yaml файлах мы получаем тот же самый результат. Идемпотентность. Это то, что не всегда работает при использовании баш, питон, перл и прочего.
>>2007795 Что-то хз, анон. Я недавно резюме свое открыл. Вкатился в поиск, так сказать, на волне перегретости. И что могу сказать - на как минимум 80% предложений используется дженкинс. Ок, может на самом деле они там от него отказываются и плавно тащят свой шмурдяк в гитлаб, но я об этом не знаю. И в требованиях - дженкинс.
Что почитать/посмотреть на тему девопса? Про современные технологии и вот это все. Надоело, что проекты остаются на стадии проектов. Хочется что-то более похожее на продукт уже развернуть.
Какой-то это не тот devops-тред. Где разговоры о пайплайнах, раннерах, мониторинге, контейнерах, IaaC, этих ваших GitOps, превосходстве подмана над докером, гите и основах тестирования, контрибьюте в попенсорс, повторяемости и балансировке? Одни вкатуны - что почитать?
Всем привет, у меня возникла проблема при выполнении задания. Пытаюсь я в jenkins через pipeline сбилдить и задеплоить приложение. Jenkins работает в докер-контейнере, билдится в отдельном контейнере внутри контейнера. С процессом сборки никаких проблем, а вот с дэплоем какая-то срань. Хочу задеплоить в отдельном контейнере на системе, который родственный jenkins-у. Проблема заключается в том, что я не вижу способ подключения из внутреннего контейнера во внешний. У меня есть вариант сделать мост между всеми контейнерами и просто подключиться через ssh. В силу своей неопытности прошу помощи может я упустил какой-то вариант решения и оцените мой вариант
Анон, почему контейнер с php-fpm останавливается после выполнения команды composer install? Строка с командой в docker-compose выглядит такcommand: bash -c "composer install"
>>2012644 Ты сам на свой вопрос ответил, ты ставишь композер, контейнер сделал свою работу(поставил компосер) и завершился.Бери стандартный докерфайл fpm-a и правь его, добавляя инстал компосера, билди образ и будет образ с компосером и фпм
>>2012803 Примерно так и сделал, перенес запуск компосера в Dockerfile. Теперь проблема в том, чтобы директорию vendor с зависимостями скопировать на хост. Пробовал через volumes, но тогда просто создается пустая директория и усе
>>2012851 Бля, что я не так делаю? Получается подтянуть зависимости на хост только, если запустить компосер инсталл руками из контейнера. Но в докерфайле уже есть эта команда.
В общем, есть потребность автоверсионирования проекта, который собирается gradle'ом. Почитал про плагины по типу semver-gradle и насмотрелся на вычисления версии в CI, но что-то не особо нравится ни то ни другое. Поделись экспертизой как у вас реализовано на проекте? С меня как обычно.
>>2009526 Деплой неплохо было бы сделать на ansible. У тебя из контейнера, внутри контейнера запускается playbook с invenoty на нужные хосты по ssh и делает нужную всячину.
>>2014620 Откуда удалять-то? Из реджистри? Из реджистри гитлаба? Из реджистри проекта? Из списка оьразов, на раннере, на котором билдишь? Из списка образов на инстансе, на котором запускаешь все в докере, лол? Из списка образова на ноде кубернетиса?
Подскажите, вот есть около-rails приложение. Сколько нужно выделять памяти sidekiq в resources?
Это мини проект, но предполагается что в sidekiq будет много реквестов, хотя они быстро выполняются.
--
Там по дефолту прописано 128m. В редисе я прописал 512(Он используется больше как дб)
Не понятно. В RSS сейчас 134мб(уже 155мб). Как это работает вообще?
> RSS (Resident Set Size) is the amount of physical RAM consumed by a process. Typically a Sidekiq process will start at some relatively small value and reach some steady state value where RAM usage remains flat. If your RSS never stops growing, that can indicate you have a memory leak somewhere!
--
А еще вопрос если в редисе прописать одинаковые Limits, то как это влиет на работу?
Что происходит если получить ssl сертификат через cerbot и после этого в cloudflare включить dns proxy(чтобы все шло через их dns) и включить там full ssl.
Получается cerbot не будет использовать то что он получил от letsencrypt. Там где r3 и вот это все....
>>2017745 Фулл-ссл делается по другому, свой вебсервер делаешь с само подписными сертами, генеришь их в консоли через openssl, и включаешь фулл ссл. серт-бот тебе не нужен.В браузере будет серт клауда, клауд будет стучать на 443 порт твоего вебсервера с твоим ссл.
>>1902319 (OP) Сап аноны, нужна помощь: необходимо каким-либо образом автоматизировать тестирование инсталляции приложения. Приложение на Винду, докер образы галера не использует. надеюсь только пока . Необходима проверка диб в GAC. В сторону каких инструментов автоматизации смотреть?
>>2018179 Ну ты имеешь ввиду что не важно как ты приобретешь локальный серт, если поставить full encryption, то до cf оно будет шифроваться средствами cf, а дальше уже своим сертом?
Если просто удалить сертификат kubectl delete cert myapp-tls то он создастся опять сам.
Если удалить ClusterIssuer, то это ничего не изменит. Я не понимаю как оно работало раньше. Там был применен только ClusterIssuer и solver стоял http01. Без cloudflare.
За плечами есть: опыт пол года эникейщика (принеси, подай, посмотри что с принтером) линукс на уровне "если не понимаю - погуглю" сети на базовом уровне Немного в программирование могу, то там всё на уровне вузов есть
что покумекать для девопса, чтобы уже осенью смог вкатится?
>>2021235 Ты вкатываешься зная во что? Или просто в "ну за devops щас вроде много платят"? Это хуевый путь, подумай еще раз. А по сути: В целом - актуальная, но тебе это не поможет. Учить прямо все по списку - ну лично я смысла не вижу. Для вката на джун позицию за еду нужно будет подучить стек той конторы куда идешь, чтоб не тупить уж совсем. Потом втянешься, разберешься. Сам поймешь куда копать.
>>2021366 Вообще, мне очень интересно создание инфраструктуры, поддержка в рабочем состояние машин, слежка за тем, чтобы вирусов не было, чтобы всё адекватно работало, стараться все автоматизировать. Это же DevOps, я прав?
>>2021513 Ты траль. Статьи на хабре с заголовками "так что же такое devops?" как и "бест практис по написанию dockerfile" в 2021 поджигают жопу.
Вот я что думаю: У вас как будто понимание задачи девопса как сотрудника состоит в том и только в том чтоб получить код и запустить его в продакшне. Самостоятельно, своими руками. Это макака а не девопс. ИМХО девопс дает и создает только инструменты для того чтобы разрабы без лишних геморроев могли собрать свой код в артефакты, протащить его через кучку тестов и проверок, выкатить в дев/стейдж, получить логи/метрики, их анализ и, возможно, аналитику, закатить в прод, в случае факапа быстро откатить обратно и далее получать логи/метрики с прода. Дать и создать инструменты. Ебстись с невыкатом будет уже сам разработчик, дергая за ручки этих инструментов и не особо вдаваясь в подробности, что там под капотом происходит и почему выпал банан.
Мне нужно чтоюы все в команде могли запускать мои тесты. Для этого я собираю Дженкинсон образ/билд через Пайплайн. Сейчас он показывает что все собралось успешно на дженкинсе. Вопрос, могу ли я как-то сейчас использовать этот билд для питон скриптов которые тоже находятся в репо уже? Я понимаю что если бы у меня был докерхаб я бы туда положил собранный образ/Билд и потом тесты бы просто запускал используя агент Докер. Но можно ли как то это сделать без Хаба а чисто в дженкинсе? Может модно как-то тригирнуть тесты чтобы они бегали по этому образу который уже был собран в дженкинсе?
>>2022474 сама суть собирать образ который уже прошел все тесты, если не прошел не собирать, а то получается есть образы и не понятно работают они или нет, зачем такие образы нужны?
>>2023772 Я видимо не так описал. Я собираю образ чтобы на нем запустить тесты. Сборка занимает около 3 минут, тесты проходят за 20 секунд. Вот хотелось бы как-то решить этот вопрос чтобы не собирать одно и тоже каждый раз.
>>2025122 Регался в epam, тоже хотел на бесплатный курс пойти. Так там английский нужно сдавать письменный экзамен. Так то я когда читаю понимаю, гуглю по английски всяко проще и быстрей найти, а писать ну пиздец эти обороты, времена ебаные. Сто лет не писал, так что даже пробывать не стал. мимо другой анон
Всем привет, есть у кого какой-нибудь кратенький или подробный план, с чего начинать и куда двигаться для переката в DevOps? Есть годовой опыт администрирования, программирования на Python, Ruby, Scala, Bash, поверхностные знания по NoSQL, SQL, немного Docker.
>>2026478 Какой гайд ты хочешь? я не хочу токсичить и портить кому-то настроение, но весь тред одно и тоже, линки даешь тишина. может пойти посмотреть вакухи, и определиться с профилем? а потом прийти и спросить конкретно по инструментам.Я думаю это будет справедливо.
>>2026970 А то получается так что ты пишешь, чет пытаешься выродить(высрать), а людям это в одно место не вперлось, потому что кому надо пойдут в шапку, пробегутся по треду, пойдут смотреть своих гуру на ютубе, пойдут вакухи читать, и спустя неделю полторы(ну месяц) уже в голове будет что вообще на рынке то надо, да и смотря какой рынок, требования разные, работа разная, огороды везде разные с разными заборами.
>>2027194 - https://m.youtube.com/channel/UCz4slJ1WzdCiEIBZ-WZgliw - ansible, gitlab, docker-compose - канал адв-ит, у него минусы простая подача, но к реальной работе знания мало применимы. плейлист по авс посмотреть. - с самого начала разворачивать для теста машины в облаке, сначала руками, потом тераформом, конфиги разворачивать ансиблом - самое главное искать стажировку (работу) или ментора, я потратил много времени в пустую смотря ролики, без практики это все зря, по поводу ментора нормальный джунвей, самообучение он тебе не заменит, но самый плюс это задать вопрос и получить ответ, и задания.
>>2024369 Не тупой, а не опытный. Вкатун же, ну. Я тоже вкатился несколько лет назад. 2-3. До этого в разработке никак не участвовал, админил нефтянку, загнивал. Когда прочухал девопс и эти вот принципы разработки, то сильно удивился - "а чо, раньше правда такой автоматизации не было? Готовили новые сервера железные/виртуальные по запросу? Вручную? Каждый релиз - горящая жопа и бессонные ночи?". Собсно, я и щас в ахуе...но раз диды говорят, значит, было.
Если я знаю хорошо linux, python, bash, docker, Kubernetes и читал иалмуды Таненбаум а о сетях и ос, то уже можно вкатываться в девопс или этого будет мало?
Сап ДвачОпсы, есть VPS за три рубля и с хуёвыми спеками (256Мб, 1vCPU 800Mhz, 8Gb SSD). Подскажите адекватный способ деплоя Node.js приложения? С меня как обычно. В обычной ситуации заюзал бы всякие докеры и кубернетесы, а тут как-то расточительно. Пока сделал на баш скриптах, которые тянут приложение с гита и запускают. Переменные окружения прямо в .profile записаны. Ничего лучше в голову не пришло, так как вкатился в бекенд уже после изобретения докера.
>>2026478 Linux (RHCSA) Ansible (RHCE) Jenkins (ну или аналоги, но в основном он) Docker это база, без неё нахуй будут везде посылать. Дальше Kubernetess, почти везде просят, для junior еще простительно не знать, на мидла не возьмут без него. Топ тир AWS/GCP+Terraform, будешь в долларах обвешен, но осилит лишь не каждый.
Ну и в общих чертах всякие Apache, Nginx, из языков Python (хороший бонус в целом)/Groovy (на нем Jenkins живет)/Java (понимать хотя бы в чем его разница от других ЯП), CI/CD и сопутствующие Git, Maven/Gradle, Nexus и прочие вещи.
На последок EFK стек, это что-то типа Zabbix, но нахуеверченное и хипстерское.
Еще могут поебывать с каким-нибудь Postgresql, за неделю другую видосов вполне хватит для тупых вопросов.
>>2034443 Давай начистоту. SRE ты, видимо, чисто номинальный. Я не хочу тебя оскорбить или унизить. В моем понимании, SRE это уже очень классный сотрудник, который умеет сильно в кодинг, но и кубернетес потрогать за потаенные места не боится. И ты спрашиваешь, куда тебе податься. Резюме выставлял на hh.ru? Поставь. Если опытный - с такими скиллами, схантят за пару недель. А если ты не зазря боишься увольнений/телодвижений на текущей работе - ну как бы...что тут, тебе не повезло.
>>2034519 Ты что-то не так понял. Я не боюсь своего увольнения. Я боюсь, что: 1. на место начальника отдела придет какой-нибудь хуй из сбера, который начнет устраивать новые порядки 2. вслед за начальником отдела внезапно уйдут ещё пара долго работавших человек иерархией пониже. Инфраструктура у нас сильно специфичная и ей это очень не понравится.
Да и не хочу я новую работу искать. Я просто хочу избежать травматического влияния сбера.
>>2034540 >Ты что-то не так понял. >Я не боюсь своего увольнения. >Я боюсь, что: >1. на место начальника отдела придет какой-нибудь хуй из сбера, который начнет устраивать новые порядки >2. вслед за начальником отдела внезапно уйдут ещё пара долго работавших человек иерархией пониже. Инфраструктура у нас сильно специфичная и ей это очень не понравится.
>Да и не хочу я новую работу искать. Я просто хочу избежать травматического влияния сбера.
1 и 2 пункты вроде как говорят о том, что ты боишься/не хочешь менять работу. Настолько классная, что не хочешь повышения ЗП?(со сменой работы)
По последнему абзацу...ну хз, мэй би другой банк? Вон, тинькофф.
>>2034773 да не хочу я другой банк) Я уже работал в сбере, спасибо, больше не хочется. Я в рамблере работаю, это же не банк. Просто сбер нас купил. >Настолько классная, что не хочешь повышения ЗП?(со сменой работы) Мне нравится коллектив и задачи на текущем месте. А уход начальника отдела может эти факторы как раз поменять.
Вылезатор попал в пизду В общем, решил я вылезаторствовать и не упускать возможностей. Не работал по сути вообще и тут знакомый предложил придти к ним в ИТ отдел больницы работать "кем-то" типа, по собесу решат. Но по сути хотят предложить что-то типа помощника сисадмина или сисадмина или в лучшем случае эникея. Я не гум, в детстве домашнюю сетку держал, сервак с л2, в линуксах пердолилс, но, сейчас как-то все подзабыл. А собес через 2 дня. В общеМ, как за 2 дня усвоить курс системного администратора для начального уровня? Прошу гайдов лол. Я не тупой, обучаюсь быстро а электронику и компы понимаю кровью, сердцем и душой. Всм, если были пробелмы с компами и электроникой никогда не было проблем все решить самому. Сборка пк, пайка, скрутка и лужение проводов, прозвон на мультиметре, переустановка винды и линуксов, всстановление данных, лечение и т.д. и т.п.
Суп, друзья. Учусь на 2 курсе прикладной математики. В вузике в общем преподают программирование, автоматизацию, матан и прочие общие приколы. Я так подумал, больший кайф я получаю от предмета "Сетевые технологии", и на ОСях терминальчик интересно пердолить, а программирование и релейтед хуйня не особо интерес возбуждает. Уже определился, что пойду на практику сетевиком, ибо программирование вряд ли потяну. Так вот, если я правильно понял, сетевик - это уже не чуханистый патлач в свитере, грязь айти мира, а ступень по лестнице к этому вашему девопсу, который ебет сук и зашибает бабло. Так в чем я неправ?
>>2042014 Ну суть вопроса была в том, есть ли смысл по стезе сетевика идти, и есть ли возможность эволюционировать в девопса? Раньше сетевик вроде считался тупиковой ветвью, поэтому интересно стало. Текст высрал чтобы пографоманить на потеху анонимусу.
>>2042021 Ну для меня, студентика, 30к летом, да еще и в айти (а не пятерочке) будет достойным заработком. А так вопрос не совсем в этом был.
>>2042847 > > Ну линукс-админ тоже где-то недалеко тусуется же на самом деле? Ну если говорить прям о конкретном сетевике либо у оператора связи, либо в большом энтерпрайзе, то я бы не сказал что они рядом.
>>1902319 (OP) Привет аноны у меня тут есть небольшая веб аппка в пару контейнеров на моей машине. Какой самый простой способ надеплоить их куданибудь. Например на aws или линоду какую? Начал разбираться столько слов новых что я охуел, подскажите хотя бы в какую сторону копать?
>>2055902 Azure ACI. 1. Заводишь учётку 2. Ставишь себе docker desktop 3. Создаёешь контекст docker context create aci ... 4. Пушишь свои пару образов в какой-нибудь доступный извне репозиторий (или в тот же ACR) 5. Делаешь docker compose -c acr up -d
Но: 1. Это только про деплой (хотя сбилдить можно там же так же легко) 2. Проставь mem_limit/cpus, пушо биллить будет по ним. Если твои пара котнейнеров влезут в 1CPU 1Gb RAM, будет ~ 2k/мес. 3. Неэфемерное хранилище надо будет прикручивать отдельно через azure storage
Ну что, ищем в команду редактора yaml-ов девопса, суть такова: Локация - где угодно, но лучше, если Москва и МО, есть офис на Савеловской, делать в нем особо нечего, вся команда работает удаленно. Работа - сдельная, по деньгам - обсуждаем лично (нет, без хорошей ЗП не оставим). По выполнении сдельных задач возможны постоянная занятость и оформление по ТК РФ. Сроки - если девопс опытный, то для него это задача на неделю, а так до полутора месяцев, возможно больше.
>>1902319 (OP) Привет, самая уважаемая мною профессия в ИТ. Подскажите пожалуйста, хочу деплоить микросервисы на AWS'е. Что лучше взять: виртуальный сервер EC2, или Docker + Amazon beanstalk?
Анон можно ли получить заметный профит от файловых систем с дедупликацией (типо zfs) в таком кейсе? Есть один ПЕТЯН CI раннер для единственой задачи - собирать контейнеры. Хочеться собирать их максимально быстро, чтобы уменьшить цикл: от запушил до получил результат... ну ты понимаешь. Чтобы приблизиться к цели я уже обмазался свежим werf'ом с кустомными правилами инвалидации слоев и патчингом вместо полного их перезалития - лютая годнота, рекомендую, не понимаю теперь как можно собирать контейнеры докерфайлом... фу нахуй. И вот я потихотьку смотрю уже в сторону кеширования всех скачиваемых пакетов и модулей между установками. Имею ввиду composer, node, deb, apk и т.д. Технически просто выделить дирикторию кеша (под каждый вид отдельную) и монтировать её в контейнер в момент сборки. Но практически сборка на одном хосте происходит порой в >10 потоков. И если сделать это в лоб, вангую что кеши будет регулярно распидорашивать из-за гонок (меньше всего хотелось бы разбираться с этим руками). Создавать единственую блокировку на эксклюзивный доступ к кешу => не вариант, по понятным причинам (это будет замедлитель, а не ускоритель). Да, я понимаю, что можно пойти другим путем и начать разбираться в структуре и логике работы конкретных кешей. Типо какую часть кешей можно безопасно использовать в режиме гонок, какую нельзя, но можно в место неё например подставлять пустой каталог и это не даст пенальти (для какогонить индекса например). Но понятно что это нихуя не маштабируемое решение, постоянно нужно будет вникать в какие-то говносущности и чегото настраивать => ненужно. Поэтому думаю, можно ли поступить более общё: 1) Создать не одну дирикторию каждого вида кешей, а скажем 10. 2) Положить их на FS с дедупликацией (какую порекомендуете?) 3) Подпилить в CIке шаг запускающий процесс требующий эксклюзивного доступа к кешу, на попытку заблокировать первый сводобный (из 10) каталог с кешем (это практически мгновенно) и работать дальше с ним. Главный вопрос удастся ли получить реальный коэффициент дедупликации скажем не 10 (по количеству каталогов кешей), а 6-8? Иначе никакого места не хватит. Ведь в каждый кешь будут попадать плюс минус одинаковые пакеты. А различия будут только в индексах, которые во первых очень мало весят, а во вторых не для всех будет 100% мимо дедупликации, а только для индексов в блобах. Если индекс это иерархическая структура файлов на диске описывающая какие-то статические сущности, то и он поидеи мог бы в существенной мере дедуплицироваться.
>>2065833 В твоём ПЕТЯНЕ CI-раннере при сборке пакеты уже тащатся из какого-нибудь кеширующего репозитория с поддержкой удаленных реп (вроде артифактори/нексус/етц), расположенного поблизости? Если нет, то начни лучше с этого - результат тебя приятно удивит. Твоя задумка интересная, но чот мне кажется, что на скорость сборки не сильно повлияет, только на расход дискового пространства, а оно пока дешевое.
>>2065913 В качестве репо harbor: registry и chartmuseum. Стоит в том же датацентре. Werf с ним синхронизируется при каждой сборке, даже если ничего не пушит. А если запустить werf полностью без состояний (docker и werf кешей) в dind например, то он скачивает нужные слои из регистри и не пересобирает их повторно. Вот это прям вообще охуенно хорошо. Стоит определенно попробовать распространить идею с кучей рабочих индивидуально блокируемых каталогов и дедупликацией на dind докер кеши и кеши werf запускаемых в dind. Там то точно сплошные жирнющие и неизменяемые блобы, ибо эта писечка как раз сделана для неизменямости артифактов сборки. Или что ты имел в виду анон? Сделать что-то типо кеширующих прокси (возможно прозрачных) к каждому типу репо? Помоему это заморочено, ибо надо разбираться в деталях реализации, а не ебашить пользоваться общим подходом. Но наверное имеет смысл быть. Есть какие-то дистрибутивы с полным набором готовых настроеных репо-проксей? На самом деле ты скорее всего прав: непосредственно скачивание пакетов - это практически ничто даже в сравнении с временем их установки, неговоря о времени сборки каких-нибудь фронтов. Попробую дедупликацию на выходных, если комуто интересно могу отписать.
>>2066248 Да, я про кеширующие прокси. У нас на базе artifactory remote/virtual repository. Работает для npm/pip/nuget/docker в моей команде, и для deb/rpm/maven/conan/composer/etc в соседних. Про готовый дистрибутив не знаю, все репы надо создать ручками, но это один раз и быстро и дефолтные URL для основных реп оно знает. Да, для каждого пакетного менеджера при сборке надо будет или конфигурить его для хождения в эти репы (обычно одной командой, которую тебе покажет artifactory), или передавать что-то через переменные окружения/командную строку, или подсовывать его конфиг через volume/bind-mount/еще-что-то. На счет времени скачивания/сборки ты прав, но уменьшить время скачивания для сотни npm пакетов с ~30 сек до ~5 - это просто приятно.
В oracle cloud подвезли always free ARM 4 CPU 24Gb RAM (хош 1 инстанс, хош 4), к имеющимся x86 2х1/8 CPU 1Gb RAM. Правда больше 4 халявных инстансов не поднять, пушо халявного хранилища 200гб и минимум 50гб на инстанс. Ухх бля, хорошо пара учеток там есть.
>>2072393 как ты эту наркоманию регнул? у меня облом, ввожу карту, телефон, все проходит и в конце "извините идите нахуй" регистрация максимум унижения, как в azure парашном.
>>2072832 Виза альфы дебетная, мастеркард альфы кредитный, мастеркард альфы дебетный, мастеркард сбера, виза сбера, тиньков, втб, райффайзен я не поехавший, это каждый ебучий работодатель хочет платить в свой ебучий банчок, иногда эти банчки меняя, и многим похуй на запрет карточного рабства, свой телефон, свой виртуальный телефон, телефон тянки, виртуальный телефон тянки, свой запасной телефон, почты на гмыле/своих доменах. Первую учетку вообще легко зарегал, с первого раза, вторую - через vpn, перебирая кучу вариантов, меняя буквы в имени/фамилии. На днях еще одну учетку попробую открыть, пушо 12 ядер и 72гб оперативы - самое оно для кластерка кубера с майнкрафтом лул.
Как заставить кубы во время роллаута терминировать под и только затем деплоить новый? Да, я понимаю что не гладкий роллаут, но конкретное приложение поддерживает только один инстанс и ломается, если запущен ещё один.