Notes Devops
7 subscribers
14 photos
4 videos
6 files
122 links
Download Telegram
Forwarded from Админим с Буквой (bykva)
о структуре ansible репозитория (часть 1)

Казалось бы тема не сильно сложная, бери беспрактис от ансибла и работай - никаких проблем. Однакож есть несколько моментов, которые они не учитывают:
1. по любым примерам показывается что, мол, храните плейбуки в корне папки ансибла и всё ок. ну вот вам для примера 3 ямлика, красиво же.
2. кросс-инвентарные переменные. правда, я вроде не плохо гуглю, но на оффдоках не нашел ничего похожего.

В чем же проблема №1? а в том, что когда у вас несколько инвентарей, и вы пишете плейбуки которые по смыслу делают одно и то же но в разных инвентарях, вам их надо либо делать строго одинаковыми и в конечном итоге получать один файл (с возможными доработками в виде условий, которые в обычной жизни нахрен не нужны), либо делать несколько файлов для каждого инвентаря. Оба варианта очевидно в конечном итоге приводят к не очень хорошим результатам. В первом случае - это какая-то не нужная логика, которая усложняет поддержку и использование плейбука, а во втором случае у нас просто множится количество файлов. В моем опыте оказалась ситуация когда у коллег удавалось писать "абсолютный" плейбук для своих задач, но это им просто повезло - если ты пишешь плейбук для тестовой и для продовой инфры, сервера по сути одни и те же и способы ввыкладки сервиса тоже. а значит это по сути один и тот же инвентарь, который разделен логически на тест и прод. А вот мне повезло не так сильно и нужно было писать плейбуки под создание сервиса как на своих железках (которые мы можем приготовить как угодно) так и в облаке, а также на "территории" легасёвой инфраструктуры клиента. В таком случае сами понимате сделать 1 плейбук на всё невозможно. Стали рождаться плейбуки вида rolename_inventory_azaza, rolename_inventory_ololo, rolename_inventory_pururum итп. Ситуацию осложняло то, что не все придерживались практики (я никого не виню - не было никакой договорённости) указывать имя инвентаря в имени плейбука.
В конечном итоге ситуация пришла к тому, что в корневом каталоге у нас оказались порядка 50 плейбуков, вперемешку со служебными файлами - gitlab-ci, Dockerfile, ansible.cfg, ansible-lint итп итп. Лично мне стало уже просто неудобно этим оперировать репозиторием. Не критично, не тяжело или как-то сложно, а именно неудобно. плейбуки перестали помещаться в один столбец в pycharm, а понять из названия сразу к какому инвентарю относится плейбук стало тоже непонятно - нужно было заходить внутрь, смотреть группу по которой катался плейбук, грепать ее по инвентарям... короче гемор! При этом в текущем состоянии репозиторий не то чтобы был плох, нет, им вполне можно было пользоваться, но я понимал, что команда у нас растет, а репозиторию меньше года и что дальше будет только хуже. В итоге назрел план небольшой революции и перекроя репозитория. конечный результат - после истории №2.
#ansible
Forwarded from Mops DevOps
​​Перевели для вас статью
20 лучших практик по работе с Docker-файлами

Эта статья содержит рекомендации по написанию Dockerfile и принципам безопасности контейнеров и некоторые другие связанные темы, например про оптимизацию образов.

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

К счастью, большинство потенциальных проблем мы можем решить еще на этапе разработки.

#docker
Forwarded from Mops DevOps
​​Статья
Kubernetes 1.21 — неожиданно много изменений…

Очередная статья про новую версию Kubernetes, коротко и по делу 👍

#kubernetes
Forwarded from Sysadmin Tools 🇺🇦
Установка полноценного кластера #kubernetes на основе #k3s

https://habr.com/ru/company/southbridge/blog/551214/

PS: Если работаете с k3s, то возможно вам будет интересно взглянуть на k3d и k0s

#k8s #k3d #k0s
🔩 Большая подборка разных API на любой вкус и цвет: https://public-apis.xyz/

#api #фидбечат #линк
🔧 Bash Examples: Redirect stdout and stderr - про перенаправление вывода результатов выполнения команд. #bash #shell #напочитать
🎛 https://mtr.sh/ - удобный сервис для теста сети из разных регионов. #линк #будничное #network
Forwarded from Mops DevOps
​​Pro K8s
Kubernetes setup with CRI-O Runtime 👋

Пример создания кластеров Kubernetes с использованием среды выполнения контейнеров CRI-O вместо Docker.

👉 https://bit.ly/2QqtYBB

#kubernetes #crio #docker
Forwarded from kamyshev.code
Написал статью про метрики — что важно отслеживать, где это лучше делать. Настраивайте мониторинг, снижайте тревожность, радуйте пользователей 🚀

Солидные фронтенды: мониторинг

#фронтенд
Forwarded from Библиотека программиста
🐍 Скрытые сокровища Python

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

https://proglib.io/sh/K9EewnaibA
Forwarded from Mops DevOps
​​Перевели для вас отличную статью
Сеть контейнеров — это не сложно 🤩

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

В этой статье мы ответим на следующие вопросы:
- Как виртуализировать сетевые ресурсы, чтобы контейнеры думали, что у каждого из них есть выделенный сетевой стек?
- Как превратить контейнеры в дружелюбных соседей, не дать им мешать друг другу и научить хорошо общаться?
- Как настроить сетевой доступ из контейнера во внешний мир (например, в Интернет)?
- Как получить доступ к контейнерам, работающим на сервере, из внешнего мира (публикация портов)?

#docker
🔍 A tcpdump Tutorial with Examples — 50 Ways to Isolate Traffic - интересный материал с примерами применения tcpdump. #tcpdump #напочитать
📎 Визуализация цепочек iptables на сервере: https://github.com/Nudin/iptable_vis Удобно для ситуаций, когда нужно наглядно показать последовательность обработки правил. #iptables #фидбечат #будничное
Forwarded from Админим с Буквой (bykva)
Мониторинг postgres

Зацепил тут взглядом недавно прикольный экспортёр для postgresql/patroni/pgbouncer/os-metrics

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

ansible role:
https://github.com/bykvaadm/ansible-pgscv

pgscv github repo:
https://github.com/weaponry/pgscv

grafana dashboard
https://grafana.com/grafana/dashboards/14540

wiki
https://github.com/weaponry/pgscv/wiki

habr
https://habr.com/ru/post/559550/

#postgresql #prometheus
🆖 Ухожу на выходные, но что бы было не скучно, вот вам крутая штуковина от Julia Evans - https://nginx-playground.wizardzines.com/

Теперь, свои и без того красивые конфиги, вы сможете протестировать в реальном времени, и сделать ещё красивее.

О том что это, как появилось, как работает, написано здесь: https://jvns.ca/blog/2021/09/24/new-tool--an-nginx-playground/ Там же есть ссылки на другие подобные утилиты.

#nginx #напочитать #будничное