uk
Feedback
ДевОпс Інженер 🇺🇦

ДевОпс Інженер 🇺🇦

Відкрити в Telegram

ДевОпс Інженер - авторський канал @mukolaich - Head of DevOps у SQUAD. Я розглядаю технології та рішення, роблю огляд архітектурних проблем, включаючи контейнери, оркестратори, скейлінг, моніторинг, etc.

Показати більше
5 364
Підписники
Немає даних24 години
-87 днів
-2030 день
Архів дописів
Давайте поменяем Bamboo на Concource CI Если у кого-то проблемы проблемы с Jenkins/Travic/Circle/otherCI/etc, то скорее всего причина не в туле: причина в подходе There’s no perfect CI. They all have different features https://cintia.me/blog/post/ci-tool/

Импорт/экспорт Grafana dashboards Пришла мне таска - взять все существующие дашборды для графаны, немного их подкрутить, и пушнуть туда же как новые. Темплейтинг заюзать нельзя - оно там все супер-динамическое с завязкой на свой датасорс для каждого конкретного хоста. Короче - гемор. И этих дашбордов более нескольких десятков. Сразу дока, API - и погнали. Есть на импорт/экспорт, а значит кто-то уже писал автоматизацию. Полез я в интернет, и сразу наткнулся на github gists, где разные ребята в коментах писали свои версии скриптов. Но вроде же дожно быть что-то более продакшн реди? И да, есть либа: 💥 https://github.com/hagen1778/grafana-import-export Она заэкспортила дашборды, и пришла очередь фиксить json. Для этого есть тулза jq, не самая удобная, но работает. Пример, где в slug меняется поле: jq '(.meta.slug |= "aws-" + .)' $filename - на поиск синтаксиса ушло 2 чашки чая 🙁 Датасорсы в графиках лучше менять с помощью sed: sed 's/"datasource": "influxdb"/"datasource": "new-datasource"/g' - через jq тяжело обойти все вложенные ключи, и не сломать лишнего Обязательно нужно поменять title - иначе ничего работать не будет (упадет с ошибкой): jq '(.dashboard.title |= "AWS | " + .)' $filename - тут добавляется 'AWS | ' и существующее имя дашборда Это все очевидные вещи, но в конце ждал сюрприз. Ошибка The dashboard has been changed by someone else. Хм, что же это значит? Сразу мысль подсказала посмотреть на ключи version и id. Ключа с версией небыло, а вот id был. Где-то на гитхабе советовали засетить его как null, или вообще удалить. Ну я и удалил: jq 'del(.dashboard.id)' $filename После этого дашборды заэкспортились и все взлетело. Надеюсь, сохранил вам несколько часов гугления и набивания шишек 😄

Если у вас github и kubernetes манифесты - эта штука будет очень кстати: она интегрируется прямо в репозиторий (вкладка Checks) и следит, чтобы все было в порядке. ▶️ https://github.com/urcomputeringpal/kubevalidator Но даже если у вас не github, то можете запилить проверку прямо в CI процесс: ▶️ https://github.com/garethr/kubeval Полезно?

Для тех, кто любит смотреть конференции на работе 😂 Подьехала запись докладов с OSDN (спасибо Mykola Marzhan). Доклады удобно порезаны на видео, рекомендую посмотреть на Lennart Poettering - создателя systemd. https://www.youtube.com/playlist?list=PL_O8YSX8ckffdJPhMNU87ZgVqq5Y-OAGj&disable_polymer=true

Уууух как круто прошла конфа! 😎 Мне понравилось, что ребята из fwdays очень классно проработали все моменты: после обеда были лайтовые доклады на общие темы, а хардкор примерно в 12 (когда все уже проснулись, но еще не устали). Очень порадовали сами доклады и треки - сложно было выбрать что и куда идти, хотелось быть везде и одновременно)) Отдельно могу отметить юмор Александра Соловьева из "магазина одежды", топ-хедлайнера конференции, он очень позитивно завершил этот продуктивный день. 👆 В целом впечатления крайне положительные, не считая непонятного мне конфьюза с Svitla systems, однозначно пойду в 2019. Для тех кто не попал, или был на OSDN есть записи докладов по трекам: 🔥main stage: https://www.youtube.com/watch?v=MbZgXZBxgV8 🔥track a: https://www.youtube.com/watch?v=sVhsY-kYi0Y 🔥track b: https://www.youtube.com/watch?v=i5-sFUqVhrs 🔥track c: https://www.youtube.com/watch?v=Lxop86CIfg0 Расписание докладов (для навигации) есть на сайте: ▶️ https://fwdays.com/en/event/highload-fwdays-2018#program-event А я пошел внедрять на практике этих всех сферический коней в вакууме 🙈

Ребята! Я заболел 🤒🤕 Но уже выздоравливаю. Прилетел, и на следующий день заболел. Очень обидно( А пока я поправляюсь, посмотрите какую крутую статью написал Юра Рочняк в блоге на медиуме: https://medium.com/preply-engineering/lambda-edge-and-where-to-find-it-92b7c9c37f22 🔹Во-первых, у него в Preply все очень неплохо, и хорошая экспертиза в serverless-related штуках; 🔹Во-вторых, завести блог, да еще и на английском - многого стоит. 🔹В-третьих, это действительно технически грамотная статья о Lambda@Edge + Cloudfront + Terraform; Preply, you rock! 👍👍👍 (нажамкайте Юре пальцев вверх, и наверное он напишет еще что-то полезное)

Для тех, кому скучно читать всю книгу Site Reliability Engineering 👇 всего одна глава (почти как саммари) 👇 https://landing.google.com/sre/book/chapters/service-best-practices.html

Как стать топовым Kubernetes contributor Я не знаю, но кое-какими мыслями поделюсь. Вчера сходил на местный Kubernetes митап в Palo Alto. Если бы сегодня еще один был, я бы тоже пошел. Еда вкусная (пицца, жареная курица), пивас нормальный (не запомнил), спикеры мощные. 🍕🍺 У нас часто бывает, приходишь на конфу - а там лажа какая-то, ну реально. В долине такое, наверное, не прокатывает - аудитория очень лояльная, все ведут себя очень сдержанно, даже на спорных моментах. Люди просто встают, и идут пить пивас с пиццей. (см. выше) 👆 Подсмотрел на митапе 2 практики, которые и так знал: 👉 1. Записать демку на видос, и показывать видос 👉 2. Иметь в запасе суперсильного архитектора, который поможет ответить на стремные вопросы Также очень понравилось, что ведущий был из Google и помогал менеджить все острые углы. И в нем я для себя открыл несколько инсайтов: 👉 - он тоже человек 👉 - он контрибьютит в kubernetes/kubernetes И я подумал, что интересно было бы тоже что-то поделать в кубере. Залез в ридмихи, и о боги! Они тегают Issues, и среди этих тегов есть несколько интересных: 💥 help wanted: https://go.k8s.io/help-wanted 💥 good first issue: https://github.com/kubernetes/kubernetes/labels/good%20first%20issue Если посмотреть немного дальше в Issues, то можно найти очень простые. Вот смотрите: ▶️ https://github.com/kubernetes/kubernetes/issues/58640 Это конечно не супер интересно, но поможет понять как у них настроены процессы, какие зоны ответственности, и т.д. Резюмируя: 🔥 митапы в долине очень годные 🔥 мы тоже можем контрибьютить в такие крутые проекты

Вас ожидает лучшее: https://dou.ua/lenta/digests/devops-digest-21/

Друзья, девопсовое событие осени 🌧🌧🌧 Киев, 12-13 октября (это когда на улице все ужасно, а дома скучно) будет большая конфа DevOps Stage, с такими докладчиками: ▶️ Philipp Krenn из Elastic - отличный спикер, общался с ним в Натюрлихе, рекомендую ▶️ Jeffry Molanus - CTO at MayaData - считает себя Богом стореджей и спонсирует опенсорс, будет рассказывать про кубер ▶️ Thiago Assuncao de Faria - DevOps/AI Lead - готовил ML еще когда это небыло мейнстримом, и будет рассказывать как это все умное готовить в DevOps стиле ▶️ еще куча знаменитых чуваков, которых я не знаю 3 трека, 2 дня екшна, тусовка, куча пустых слотов в расписании, еда, троллинг - все как положено. Пока еще можно купить билет за 150$ как early birds, но не забудьте спросить своего менеджера, есть ли у вас бюджет на конференции (а он скорее всего есть). Лично я отношуcь очень тщательно к self-education и continious improvement, поэтому планирую быть на мастер-классе "The Phoenix Project DevOps Game" и 100% в первый день. Как всегда, ссылка: https://goo.gl/UyMc5Q И еще промокод на -10%: devopscommunity_promo_code 😱

Подписчик посоветовал еще статейку на тему хелсчеков кубера: Ну, теперь мы точно покрыли эту тему. Спасибо, Игорь! 🔥 https://cloudplatform.googleblog.com/2018/05/Kubernetes-best-practices-Setting-up-health-checks-with-readiness-and-liveness-probes.html

Hey guys! Ну что, как дела? 😉 Есть немного апдейтов: 👉 18-го числа будет девопс-дайджест, так что если у кого-то ивент или есть новости - фил фри ту нотифай ми 👉 сейчас у меня небольшой trip в USA, и вот до этого времени реально не получалось ничего отписать 👉 кокосовая вода очень неприятная и невкусная, несмотря на все "рай, кокос, наслаждение" 👉 пляж в LA реально как в GTA Теперь по теме: livenessProbe, readinessProbe 😂 Хорошая статья на почитать вечером перед сном или на работе с чаем о хелсчеках в кубере. Там описана разница между livenessProbe и readinessProbe, общие принципы настройки и примеры (http, shell). Это одна из концептуальных основ которые нужно знать, и в этой статье в общем есть все что нужно. https://medium.com/spire-labs/utilizing-kubernetes-liveness-and-readiness-probes-to-automatically-recover-from-failure-2fe0314f2b2e

Тестирование Docker имеджей Docker имеджи тестируют не только лишь все. Вернее мало кто может это делать. 😂 Я прочитал все первые 10 результатов из Google, которые относятся к тестированию образов, и кое-что понял. 👇 Почти никто не тистирует имеджи после сборки. Ну типа зачем - если есть проблема, то приложение даст знать. И это очень печально. Ведь по сути, Dockerfile - это набор консольных команд, порой очень замудреных, и не всегда очевидно как оно на самом деле должно отработать. И что мы ждем в результате. ▶️История тестирования примерно такова: 1. Сначала никто не тестировал 😱 2. Потом решили писать скрипт test_image.sh, копировать его в имедж, и там же его запускать (фейспалм) 3. Поняли что и так слишком много bash в этом мире, и врапнули goss. Получился dgoss (эволюция) 4. Google посмотрел на это все, и запилил container-structure-test (зачем?) 5. Мы сейчас тут Субъективно container-structure-test не очень юзер френдли, а вот dgoss очень даже ничего. Сами посмотрите: 👉 goss: https://github.com/aelsabbahy/goss 👉 dgoss: https://github.com/aelsabbahy/goss/tree/master/extras/dgoss 👉 container-structure-test: https://github.com/GoogleContainerTools/container-structure-test

Best practices - как уметь в контейнеры! (от Google) 🔥 ▶️ Детальнее как всегда по ссылке, а тут - самое мясо: 1. один контейнер - один процесс (и сабпроцессы) 2. нужно уметь хендлить сигналы правильно 3. обязательно использовать докер кеш 4. чистить контейнер от всего ненужного по-максимуму 5. делать контейнер как можно меньше 6. правильно тегировать и версионирвать контейнеры 7. акуратно выбирать родительский паблик-имедж https://cloudplatform.googleblog.com/2018/07/7-best-practices-for-building-containers.html Очень даже достойные советы, говорят все знаменитые архитекторы их знают наизусть. 😂 Прямо сейчас иду на Go митап, если будет что-то супер интересное - вы будете в курсе. Хорошего вечера! 👍

Ого! Совсем скоро Jenkins можно будет в yaml! 🔥 https://jenkins.io/blog/2018/07/17/simple-pull-request-plugin/ Что это значит для нас: - Jenkins этим решением начнет отжимать клиентов у других CI - меньше Groovy - будут таски на импрувмент - “а перепишите нам дженкинсфайл” - проще будет понимать, что же происходит - эта штука полюбому будет ломаться и не работать в первых итерациях 😒 Советую сыграть на опережение, и закинуть таску в беклог. 😉

Подготовил данные по нашим ЗП: https://goo.gl/AFyuoJ Это я взял из исходников последнего опроса на доу. Что получается (для Киева, и для DevOps): - это беглый взгляд, без аналитики 😱 - если зп 5к+ - то типа это красава, в среднем по рынку чуть меньше 🔥 - очень много киевских ребят с дельтой 3-4к, это типа норма 😉 - если меньше 3к - прецедент подумать что можно улучшить 🤔 Есть очень интересные ребята: - Киев, 6,9к, продукт (мем или нет?) - Одеса, 8к, продукт - Киев, 7к, продукт Получается ... Очень даже неплохо) 💵💵💵 Если что - меня можете там не искать, я не голосовал 😂 Вообще - о ЗП говорить не принято. Но это во всем остальном мире, в канале - можно. Заряжаю всех на зп побольше 😇

👆👆👆 Продолжение (выводы) 👆👆👆 1️⃣ Контейнеры везде - это видно издалека и сразу. Все кто уже заимплементил - красавчики, кто не успел - будут догонять и учится на опыте первых. В скором времени можно ожидать появление новых архитектур, уклон в сторону Serverless, возникновение новых еще более тонких технологий. Как вариант - юникернел, но это не точно. 2️⃣ Kubernetes и Swarm держат более 75% процентов рынка контейнеров. Это поддерживает гипотезу о MVP на докер сворм, а продакшн реди - на k8s. Получается странная ситуация - хоть Swarm и "мертвый" проект, но пользуется популярностью. Есть несколько вариантов - или Docker сам депрекейтнет поддержку (в ближайшее время сомнительно) или кубер станет сильно проще и удобнее для мелких проектов. Второй вариант прослеживается уже сейчас - появление кучи PaaS, оберток и врапперов возле кубера. Делать акцент на изучение Mesos/Nomad/другое я бы не стал. 3️⃣ Никто не хочет работать с компаниями в которых такой себе менеджмент, или технологии страдают. В то же время если зп сильно выше рынка - то все норм, можно работать. Кстати, про рыночную зп. На доу появились свежие данные с последнего опроса - я, как всегда, отфильтрую инфу по DevOps и выложу сюда. Также у меня есть консерны по поводу актуальности зп на доу. Даже задумываюсь провести альтернативный опрос. Не переключайтесь!

Суперская аналитика от DigitalOcean: https://www.digitalocean.com/currents/june-2018/ Пока только ссылка, выводы немного позже! 😄

Гайз, подкинули крутую вакансию, и я подумал что вам тоже будет интересно 🔥🔥🔥 Хорошие знакомые попросили помочь строить DevOps в их стартапе в Киеве. Ребята собрали ~5 млн долл инвестиций, и теперь строят лучший мультистримминговый сервис (это чтобы можно было видосики сразу во все места - и на ютуб, и твич, и фб одновременно). Команда разработки оч сильная, и их лично менторит СТО из Facebook. Какого девопса хотят: 👉 проактивного человека 👉 который умеет в CI/CD 👉 умеет в клауды (AWS, GCE) 👉 знает как делать Docker и Kubernetes Что предлагают: - $4500+ 😱 - опционы 😱 ▶️ Описание вакансии: http://goo.gl/Gj327Z ▶️ А писать можете сразу Ане: ▶️ @tulinazavr

Вчера релизнулся Kubernetes 1.11 🔥 Тут описано более кратко: https://kubernetes.io/blog/2018/06/27/kubernetes-1.11-release-announcement/ А тут абсолютно все изменения: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.11.md#kubernetes-111-release-notes Кратко из интересного: - CRD теперь можно сразу много версий - в kubelet добавили гибкое конфигурирование по кластерам - горячий ресайз Persistent Volumes (пока альфа) - уже можно IPVS балансировку А теперь про плохое. Мой коллега на KubeCon прыгал на батуте, и вывернул руку. 🤞✊ Мораль: не стоит прыгать на батуте на конференции по куберу. 😂