Junior DevOps/SR engineer
115 subscribers
4 photos
10 links
Меня зовут Леша и я начинающий DevOps инженер в компании Флант
Download Telegram
Channel photo updated
Всем привет!
Тем, кто попал сюда случайно, меня зовут Леша и я начинающий DevOps инженер в компании Флант.

Здесь я буду делиться своими находками, советами от старших товарищей и другими материалами, которые посчитаю полезными, для развития в сфере SRE/DevOps
1
Сейчас, наверное, самым популярным и интересным инструментом для инженера является kubernetes.

Но чтобы хорошо в нем разобраться нужно либо глубоко копаться в документации (и не факт, что все будет понятно с первого раза), либо разбираться на практике.

И вот со вторым способом может помочь один репозиторий с гитхаба:
https://github.com/kelseyhightower/kubernetes-the-hard-way

Это полный туториал, который показывает, как самостоятельно развернуть рабочий кластер k8s в Google cloud.

Сам пока ещё не делал, но в ближайшее время найду на него пару-тройку часиков (100% убью на него все следующие выходные :D)
2
Junior DevOps/SR engineer pinned «Всем привет! Тем, кто попал сюда случайно, меня зовут Леша и я начинающий DevOps инженер в компании Флант. Здесь я буду делиться своими находками, советами от старших товарищей и другими материалами, которые посчитаю полезными, для развития в сфере SRE/DevOps»
Рубрика #держувкурсе или истории из жизни:
Поставили задачу - развернуть jmeter в кубах.

Для тех, кто не знает, что это за зверь:
jmeter - это десктопная утилита для нагрузочного тестирования приложений (У нее, конечно, есть CLI, но его функционал ограничен по сравнению с UI версией) и широко известна в узких кругах.

Так вот, нужно было развернуть UI в контейнере да еще и в k8s. Для малолетнего дэбила (меня) это звучало как натягивание совы на глобус. Но оказывается, есть такая штука:
https://github.com/fcwu/docker-ubuntu-vnc-desktop

И тут, как говорится, немного обалдел :))))
Харкнул, плюнул, налепил костылей, потратил пару-тройку дней, крепко примотал скотчем и все заработало. В общем, нет ничего невозможного, главное - захотеть (И главное, чтобы был тимлид, который кинет такую ссылочку).
1
#оффтоп
Python - отличный язык программирования!!!
Junior DevOps/SR engineer
Сейчас, наверное, самым популярным и интересным инструментом для инженера является kubernetes. Но чтобы хорошо в нем разобраться нужно либо глубоко копаться в документации (и не факт, что все будет понятно с первого раза), либо разбираться на практике. И…
Кстати, начал совсем с оркестратора, а классную статью про контейнеры не скинул:))))
https://faun.pub/the-missing-introduction-to-containerization-de1fbb73efc5

И ее перевод:
https://habr.com/ru/post/541288/

Для хорошего понимания, советую почитать еще вот этот цикл статей по cgroups:
https://habr.com/ru/company/redhatrussia/blog/423051/

И из блога selectel про ns и cgroups:
https://habr.com/ru/company/selectel/blog/279281/
https://habr.com/ru/company/selectel/blog/303190/

А это очень неплохой курс по введению в кубы (вторая лекция - это как раз рассказ про докер и все, что с ним связано, а третья - про docker-compose):
https://www.youtube.com/playlist?list=PL8D2P0ruohOA4Y9LQoTttfSgsRwUGWpu6
1
#оффтоп
Добавил комменты к постам, правда они появятся только для будущих (с этого)
Если что, можем похоливарить о предыдущих тут
1
#интересныйфакт
А вы знали, что линуксовая утилита sed как разделитель для регулярных выражений может использовать не только "/"?
До недавнего времени я лепил вот такие штуки:

sed -i 's/\/path\/to\/smth\//\/another\/path\/to\/smth\//g' filename

а оказалось, что можно делать все гораздно проще, например:

sed -i 's^/path/to/smth/^/another/path/to/smth/^g' filename

Опять же, не будь умных людей вокруг, так и мучался бы с конструкциями \/

тредик на стаковерфлоу:
https://stackoverflow.com/questions/5864146/using-different-delimiters-in-sed-commands-and-range-addresses

Мораль: читайте man <команда>
👍21
И в догонку еще #интересныйфакт
Вместо того, чтобы открывать питон и через пандас найти уникальные значения какого-то стобца, либо через встроенный yaml-парсер перебирать данные, можно сделать

cat filename.tsv | cut -f<номер столбца> | sort [аргументы, в зависимости от сортировки] | uniq

cat filename.yaml | grep <нужное поле> | awk -F": " '{print $2}' | sort | uniq

И получить то же самое, только быстрее и проще. А потом можно хвастаться, какие вы хацкеры:)
1
Junior DevOps/SR engineer
И в догонку еще #интересныйфакт Вместо того, чтобы открывать питон и через пандас найти уникальные значения какого-то стобца, либо через встроенный yaml-парсер перебирать данные, можно сделать cat filename.tsv | cut -f<номер столбца> | sort [аргументы, в…
#держувкурсе
На работе надо было обновить api-версии для TLS сертификатов в k8s у аддона cert-manager c certmanager.k8s.io/v1alpha1 на cert-manager.io/v1 и чтобы понять, в каких репозиториях хранятся эти серты, просто сделал:

kubectl get -A certificates.certmanager.k8s.io -l heritage!=deckhouse -o yaml | grep "project.werf.io/git" | awk -F ': ' '{print $2}' | sort -n | uniq

Прошелся по полученным репам, поменял версии, выкатил - профит
1
#оффтоп
Вчера мне один хороший человек сказал, что писать на древнешумерском - не круто. Поэтому сегодня приехала пояснительная бригада из 7 "Б" и будет разбираться со всем вчера написанным (заодно и сам разберусь, хых)
1