DevOps
8.81K subscribers
1.42K photos
913 videos
28 files
1.82K links
Docker, Kubernetes, облачные сервисы (AWS, GCP, Azure), Infrastructure as a Code (Terraform, CloudFormation), администрирование Windows и Linux, сети TCP, IP, скрипты (Bash, PowerShell), Ansible, Jenkins, DevSecOps, логирование. По вопросам @evgenycarter
Download Telegram
Лечим проблемы Kubernetes на лету по мере масштабирования проекта: опыт команды VK Cloud

Производительность etcd-кластера со множеством объектов — головная боль команд, которые любят и ценят Kubernetes. И вот почему: чаще всего для роста производительности кластера используют горизонтальное скалирование, а это приводит к нагрузке на кластер из-за увеличения времени согласования записи данных. В результате вместо шустрого кластера получается неповоротливый тяжеловес.

Меня зовут Алексей Волков. Я менеджер продукта Cloud Containers в VK Cloud. В этой статье я расскажу о кейсе одного из наших клиентов: с каким запросом он пришел и с какими сложностями сталкивался, как мы провели тюнинг etcd-кластера и какие настройки нужны, чтобы повысить производительность Kubernetes.

https://habr.com/ru/companies/vktech/articles/911542/

#devops #девопс

Подпишись 👉@i_DevOps
👍31
Docker на каждый день: Ключевые команды в одной статье-шпаргалке

Забудьте о том, что Docker — это некий таинственный инструмент исключительно для DevOps-инженеров. В современном мире разработки Docker стал таким же незаменимым швейцарским ножом, как Git или ваш любимый редактор кода. Он позволяет любому разработчику писать код, который будет одинаково работать на машине коллеги, на тестовом стенде и в продакшене, забыв о кошмаре "а у меня на машине все работает". Если вы еще не погрузились в мир контейнеризации или вам нужен удобный источник команд, эта статья — ваш экспресс-билет.

https://habr.com/ru/articles/913978/

#devops #девопс

Подпишись 👉@i_DevOps
👍41
🚀 Подборка Telegram каналов для программистов

Системное администрирование, DevOps 📌

https://xn--r1a.website/bash_srv Bash Советы
https://xn--r1a.website/win_sysadmin Системный Администратор Windows
https://xn--r1a.website/sysadmin_girl Девочка Сисадмин
https://xn--r1a.website/srv_admin_linux Админские угодья
https://xn--r1a.website/linux_srv Типичный Сисадмин
https://xn--r1a.website/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://xn--r1a.website/linux_odmin Linux: Системный администратор
https://xn--r1a.website/devops_star DevOps Star (Звезда Девопса)
https://xn--r1a.website/i_linux Системный администратор
https://xn--r1a.website/linuxchmod Linux
https://xn--r1a.website/sys_adminos Системный Администратор
https://xn--r1a.website/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://xn--r1a.website/sysadminof Книги для админов, полезные материалы
https://xn--r1a.website/i_odmin Все для системного администратора
https://xn--r1a.website/i_odmin_book Библиотека Системного Администратора
https://xn--r1a.website/i_odmin_chat Чат системных администраторов
https://xn--r1a.website/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://xn--r1a.website/sysadminoff Новости Линукс Linux

1C разработка 📌
https://xn--r1a.website/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://xn--r1a.website/DevLab1C 1С:Предприятие 8
https://xn--r1a.website/razrab_1C 1C Разработчик
https://xn--r1a.website/buh1C_prog 1C Программист | Бухгалтерия и Учёт
https://xn--r1a.website/rabota1C_rus Вакансии для программистов 1С

Программирование C++📌
https://xn--r1a.website/cpp_lib Библиотека C/C++ разработчика
https://xn--r1a.website/cpp_knigi Книги для программистов C/C++
https://xn--r1a.website/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://xn--r1a.website/pythonofff Python академия.
https://xn--r1a.website/BookPython Библиотека Python разработчика
https://xn--r1a.website/python_real Python подборки на русском и английском
https://xn--r1a.website/python_360 Книги по Python

Java разработка 📌
https://xn--r1a.website/BookJava Библиотека Java разработчика
https://xn--r1a.website/java_360 Книги по Java Rus
https://xn--r1a.website/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://xn--r1a.website/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://xn--r1a.website/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://xn--r1a.website/developer_mobila Мобильная разработка
https://xn--r1a.website/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://xn--r1a.website/frontend_1 Подборки для frontend разработчиков
https://xn--r1a.website/frontend_sovet Frontend советы, примеры и практика!
https://xn--r1a.website/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://xn--r1a.website/game_devv Все о разработке игр

Библиотеки 📌
https://xn--r1a.website/book_for_dev Книги для программистов Rus
https://xn--r1a.website/programmist_of Книги по программированию
https://xn--r1a.website/proglb Библиотека программиста
https://xn--r1a.website/bfbook Книги для программистов

БигДата, машинное обучение 📌
https://xn--r1a.website/bigdata_1 Big Data, Machine Learning

Программирование 📌
https://xn--r1a.website/bookflow Лекции, видеоуроки, доклады с IT конференций
https://xn--r1a.website/rust_lib Полезный контент по программированию на Rust
https://xn--r1a.website/golang_lib Библиотека Go (Golang) разработчика
https://xn--r1a.website/itmozg Программисты, дизайнеры, новости из мира IT
https://xn--r1a.website/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://xn--r1a.website/nodejs_lib Подборки по Node js и все что с ним связано
https://xn--r1a.website/ruby_lib Библиотека Ruby программиста
https://xn--r1a.website/lifeproger Жизнь программиста. Авторский канал.

QA, тестирование 📌
https://xn--r1a.website/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://xn--r1a.website/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://xn--r1a.website/thehaking Канал о кибербезопасности
https://xn--r1a.website/xakep_2 Хакер Free

Книги, статьи для дизайнеров 📌
https://xn--r1a.website/ux_web Статьи, книги для дизайнеров

Математика 📌
https://xn--r1a.website/Pomatematike Канал по математике
https://xn--r1a.website/phis_mat Обучающие видео, книги по Физике и Математике
https://xn--r1a.website/matgeoru Математика | Геометрия | Логика

Excel лайфхак📌
https://xn--r1a.website/Excel_lifehack

https://xn--r1a.website/mir_teh Мир технологий (Technology World)

Вакансии 📌
https://xn--r1a.website/sysadmin_rabota Системный Администратор
https://xn--r1a.website/progjob Вакансии в IT
1🤮1
Архитектура Docker состоит из трех основных компонентов

🔹 Клиент Docker
Это интерфейс, через который осуществляется взаимодействие с пользователями. Он взаимодействует с демоном Docker.

🔹 Docker Host
Здесь демон Docker принимает запросы Docker API и управляет различными объектами Docker, включая образы, контейнеры, сети и тома.

🔹 Реестр Docker
Здесь хранятся образы Docker. Например, широко используется публичный реестр Docker Hub.

#devops #девопс

Подпишись 👉@i_DevOps
👍4
🦖 Тестирование в продакшене — синтетический мониторинг на Rust

Prodzilla — это современный инструмент синтетического мониторинга, созданный на Rust. Он ориентирован на тестирование сложных пользовательских сценариев в продакшене, сохраняя при этом удобочитаемость для человека.

Prodzilla поддерживает последовательные запросы к эндпоинтам, передачу значений из одного ответа в следующий запрос, проверку того, что ответы соответствуют ожиданиям, и отправку уведомлений через вебхуки в случае сбоев. Также он предоставляет API, позволяющее просматривать результаты в формате JSON и вручную запускать проверки. Интеграция с OpenTelemetry добавляет trace_id ко всем запросам, направляемым в вашу систему. В будущем может быть добавлен пользовательский интерфейс.

Кроме того, Prodzilla крайне быстр, использует менее 15 МБ оперативной памяти и распространяется бесплатно для хостинга на Shuttle.

Долгосрочные цели Prodzilla:

* Сократить расхождения и дублирование кода между blackbox- и end-to-end-тестированием и инструментами наблюдения за продакшеном.
* Избежать ситуаций, когда документация по поведению системы устарела или поведение системы в отдельных сценариях неизвестно.
* Сделать тестирование в продакшене более простым и доступным.

https://github.com/prodzilla/prodzilla

#devops #девопс

Подпишись 👉@i_DevOps
👍2🤣2
Forwarded from Bash Советы
🕵️‍♂️ Мониторим новые файлы в каталоге в реальном времени

Иногда нужно узнать, когда в определённой папке появляются новые файлы. Bash + inotifywait помогут:


inotifywait -m -e create --format '%w%f' /path/to/dir | while read NEWFILE; do
echo "🆕 Новый файл: $NEWFILE"
done


📦 Объяснение:

* inotifywait -m — постоянный мониторинг
* -e create — событие создания
* --format '%w%f' — полный путь к новому файлу
* /path/to/dir — нужная папка
* Всё новое сразу отображается в консоли

Установить inotify-tools:


sudo apt install inotify-tools


👉@bash_srv
👍5
Tailspin — позволяет просматривать логи с подсветкой

Tailspin не делает предположений о формате или расположении элементов, которые нужно подсветить. По этой причине он не требует настройки, и подсветка будет работать одинаково стабильно для разных лог-файлов.

Особенности
🪵 Просмотр (или отслеживание) любых лог-файлов в любом формате
🍰 Не требует настройки или конфигурации
🌈 Подсвечивает числа, даты, IP-адреса, UUID, URL и многое другое
⚙️ Все группы подсветки настраиваемы
🧬 Легко интегрируется с другими командами
🔍 Использует less для прокрутки, поиска и фильтрации

https://github.com/bensadeh/tailspin

#devops #девопс

Подпишись 👉@i_DevOps
👌52👍1
HolmesGPT — опенсорсный DevOps-ассистент

Он соединяет AI-модели с данными мониторинга в реальном времени и организационными знаниями. Он использует агентный цикл для анализа данных из нескольких источников и выявления возможных первопричин.

Что может HolmesGPT?

👉 Расследует инциденты (AIOps) с помощью PagerDuty/OpsGenie/Prometheus/Jira
👉 Автоматизированная сортировка: отмечайте важные предупреждения и устанавливайте их приоритетность, чтобы ваша команда могла их рассмотреть
👉 Расширение возможностей оповещений: автоматическое добавление контекста к оповещениям, таким как журналы и информация о работоспособности микросервисов, для более быстрого поиска первопричин
👉 Выявляйте проблемы с облаком, задавая вопросы HolmesGPT о неработоспособности инфраструктуры
👉 Автоматизация Runbook простым языком: ускорьте решение известных проблем, проводя расследование в соответствии с предоставленными вами runbook.

https://github.com/robusta-dev/holmesgpt

#devops #девопс

Подпишись 👉@i_DevOps
👍42
(Почти) каждое инфраструктурное решение, которое я одобряю или о котором жалею после четырёх лет управления инфраструктурой в стартапе

Я отвечал за инфраструктуру в стартапе последние четыре года, и компании пришлось быстро масштабироваться. С самого начала я принял несколько ключевых решений, которым компания следовала, к лучшему или к худшему, на протяжении всех этих четырёх лет. В этом посте перечислены основные принятые решения и указано, поддерживаю ли я их для вашего стартапа или жалею о них и советую выбрать что-то другое.

https://cep.dev/posts/every-infrastructure-decision-i-endorse-or-regret-after-4-years-running-infrastructure-at-a-startup/

#devops #девопс

Подпишись 👉@i_DevOps
5
Профилировщик памяти для Linux

Heaptrack отслеживает все выделения памяти и аннотирует эти события с помощью трассировки стека. Специальные инструменты анализа позволяют интерпретировать профиль памяти кучи, чтобы:

⚫️найти «горячие точки», которые необходимо оптимизировать, чтобы уменьшить объем памяти приложения
⚫️найти утечки памяти, т. е. места, где выделяется память, которая никогда не деаллоцируется
⚫️найти «горячие точки» выделения, то есть места в коде, которые вызывают большое количество вызовов выделения памяти
⚫️находить временные выделения, то есть выделения, за которыми непосредственно следует их деаллокация

https://github.com/KDE/heaptrack

#devops #девопс

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
CI/CD на GitHub Actions и GitLab CI для самых маленьких. Часть 1

Основы CI/CD – что это и зачем нужно; обзор GitHub Actions и GitLab CI

В последние годы вы, вероятно, слышали слова "DevOps", "CI", "CD", возможно, даже "GitHub Actions" или "GitLab CI". Но что это всё значит на практике? Нужно ли быть сеньором DevOps-инженером, чтобы с этим разобраться?

https://habr.com/ru/articles/914560/

#devops #девопс

Подпишись 👉@i_DevOps
👍9
CI/CD на GitHub Actions и GitLab CI для самых маленьких. Часть 2

Настройка GitHub Actions и GitLab CI – первый workflow и деплой

В первой статье мы разобрались с основами CI/CD: что это такое, зачем нужно и какие инструменты существуют. Теперь пришло время перейти от теории к практике – создадим наши первые рабочие CI/CD-конвейеры на GitHub Actions и GitLab CI.

https://habr.com/ru/articles/914614/

#devops #девопс

Подпишись 👉@i_DevOps
👍1
🧅 Onionpipe

Перенаправляет порты на локальном хосте на удаленные Onion-адреса как скрытые сервисы Tor и наоборот.

https://github.com/cmars/onionpipe

#devops #девопс

Подпишись 👉@i_DevOps
👍3
🧵Понимание probes в Kubernetes

1/ Что такое probes в Kubernetes?

В Kubernetes probes используются для проверки состояния ваших контейнеров приложений.

Существует три типа:

* Liveness Probe (Проверка живости)
* Readiness Probe (Проверка готовности)
* Startup Probe (Проверка запуска)

Давайте разберёмся на аналогии с рестораном. 🧵👇

2/ Представьте ваше приложение как кухню в ресторане.

* Клиенты = Входящий трафик
* Шеф-повар = Контейнер приложения
* Официант = Kubernetes

Официанту (K8s) нужно понять:

* Жив ли шеф? (Liveness)
* Готов ли шеф принимать заказы? (Readiness)
* Завершил ли шеф подготовку? (Startup)

3/ 🍳 Liveness Probe = Жив ли шеф?

Эта проверка смотрит, функционирует ли кухня (приложение) вообще.

Если шеф теряет сознание или исчезает, официант (K8s) перезапустит кухню (контейнер).

4/ 🛎️ Readiness Probe = Готов ли шеф готовить?

Возможно, шеф проснулся, но ещё нарезает ингредиенты.

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

5/ 🕐 Startup Probe = Завершил ли шеф настройку?

Некоторым шефам нужно больше времени, чтобы подготовиться.
Startup Probe даёт им дополнительное время перед началом остальных проверок.
Если эта проверка не проходит, K8s убьёт под, полагая, что он застрял. Полезно для медленно стартующих приложений!

6/ Итого 🧠

* Startup Probe: Приложение завершило запуск?
* Liveness Probe: Приложение всё ещё работает?
* Readiness Probe: Приложение готово обрабатывать трафик?

Используйте все три, чтобы сделать ваши развертывания в K8s максимально надёжными. 💪

#devops #девопс

Подпишись 👉@i_DevOps
👍91
⚙️Автоматизация отслеживания релизов развертывания с помощью Python, Docker и интеграции с Confluence Wiki.

💡Почему стоит автоматизировать документацию релизов?

Ручное обновление заметок о релизах или журналов может быть утомительным и склонным к ошибкам. Автоматизировав этот процесс, можно добиться нескольких ключевых преимуществ:

➡️Последовательность: каждый выпуск документируется одинаково, уменьшая количество ошибок и обеспечивая запись всей релевантной информации.
➡️Экономия времени: разработчики и команды DevOps могут сосредоточиться на кодировании и улучшении приложения вместо обновления заметок о релизах.
➡️Сотрудничество: централизованный журнал выпусков в Confluence упрощает доступ команд к деталям развертывания и их обмен.
➡️Отслеживаемость: автоматическое отслеживание развертываний позволяет легко прослеживать историю версий, что помогает при устранении неполадок или откатах.
➡️Готовность к аудиту: поскольку все развертывания зафиксированы в Confluence, процесс становится готовым к аудиту, обеспечивая соблюдение требований в любое время.

https://medium.com/@pranshu.jain_77905/automating-deployment-release-tracking-with-python-docker-and-confluence-wiki-integration-254cfd9d76fb

#devops #девопс

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31