DevOps
Відкрити в Telegram
Docker, Kubernetes, облачные сервисы (AWS, GCP, Azure), Infrastructure as a Code (Terraform, CloudFormation), администрирование Windows и Linux, сети TCP, IP, скрипты (Bash, PowerShell), Ansible, Jenkins, DevSecOps, логирование. По вопросам @evgenycarter
Показати більше8 812
Підписники
+324 години
+67 днів
+2130 днів
Архів дописів
8 811
🛡️ Helmsman — это инструмент командной строки для управления Kubernetes через Helm с использованием простого и декларативного файла конфигурации.
С Helmsman ты можешь:
* устанавливать, обновлять и удалять релизы Helm;
* управлять правами доступа и пространствами имён Kubernetes;
* запускать проверки безопасности перед развёртыванием;
* создавать dry-run планы и сравнивать их перед применением;
* организовать деплой по зависимостям и приоритетам.
Конфигурация пишется в YAML и поддерживает шаблонизацию, переменные окружения и условия. Helmsman может использоваться как в CI/CD пайплайнах, так и вручную.
https://github.com/mkubaczyk/helmsman
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
8 811
🎓 Как изучать Kubernetes - пошагово
Если ты хочешь разобраться в Kubernetes с нуля, эта карта - твой навигатор. Разбито по 6 ключевым блокам, чтобы учиться было легко и по делу 👇
1️⃣ Основы и архитектура
🔹 Что такое Kubernetes
🔹 Кластер, Node, Pod
🔹 Control Plane
🔹 Worker Node
2️⃣ Нагрузки и контроллеры
🔸 Pod, ReplicaSet, Deployment
🔸 StatefulSet, DaemonSet
🔸 Job и CronJob
🔸 Labels и Selectors
🔸 Rolling Updates
🔸 Автомасштабирование (HPA, VPA, Cluster Autoscaler)
3️⃣ Сеть и управление сервисами
🟣 Services и кластерная сетевая модель
🟣 ClusterIP, NodePort, LoadBalancer
🟣 Ingress
🟣 Политики сети
🟣 DNS-обнаружение сервисов
4️⃣ Хранилище и конфигурация
🟪 Volumes и Persistent Volumes
🟪 Storage Classes
🟪 Stateful приложения
🟪 ConfigMap и Secret
5️⃣ Безопасность и контроль доступа
🟫 RBAC и сервисные аккаунты
🟫 Secrets Management
🟫 Admission Controllers
🟫 Pod Security
🟫 TLS и API доступ
6️⃣ DevOps и деплоймент
🟩 Kubectl, YAML-файлы
🟩 Helm Charts
🟩 Интеграция с CI/CD
🟩 GitOps (ArgoCD, Flux)
🟩 Мониторинг
🟩 Облачные провайдеры: EKS, GKE, AKS
🧠 Запоминай структуру, изучай блок за блоком, и скоро будешь собирать продакшн-кластеры с закрытыми глазами!
📌 Сохрани себе и поделись с теми, кто хочет прокачать Kubernetes 🙌
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
8 811
🛠 SRE vs DevOps
Разные роли — единая миссия
DevOps-инженеры:
• CI/CD пайплайны
• Инфраструктура как код (IaC)
• Автоматизация деплоймента
• Подготовка среды для приложений
• Взаимодействие между командами
• Оптимизация рабочих процессов разработчиков
Инженеры надёжности сайтов (SRE):
• Надёжность системы и аптайм
• SLOs/SLIs и бюджеты ошибок
• Планирование ёмкости
• Автоматизированная реакция на инциденты
• Управление изменениями и снижение рисков
• Масштабный мониторинг производительности
🧩 Разные роли — единая цель: быстрая, надёжная и устойчивая доставка ценности пользователю.
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
8 811
Шпаргалка по удалению томов в Docker
📦 Удаление неиспользуемых томов
Удаляет все тома, не прикреплённые ни к одному контейнеру:
docker volume prune
🔒 Подтверждение будет запрошено. Добавь❌ Удаление конкретного тома-fдля принудительного удаления:docker volume prune -f
docker volume rm <имя_тома>
Пример:
docker volume rm my_data_volume
📋 Список всех томов
docker volume ls
🔍 Поиск имени тома, связанного с контейнером
docker inspect <имя_контейнера> --format '{{ json .Mounts }}' | jq
или без jq:
docker inspect <имя_контейнера> --format '{{range .Mounts}}{{.Name}} {{end}}'
💣 Удаление всех томов (⚠️ Осторожно!)
docker volume rm $(docker volume ls -q)
🧼 Удаление всех ресурсов, включая тома
docker system prune --volumes
Добавь-aи-f, чтобы удалить всё без подтверждений:
docker system prune -a --volumes -f
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps8 811
Из каких компонентов состоит k8s и каково их назначение?
Kubernetes (K8s) включает в себя плоскость управления и плоскость данных.
Плоскость управления — это уровень управления, который работает на узлах, называемых главными узлами, и может работать в конфигурации с одним главным узлом или несколькими главными узлами.
Плоскость управления включает в себя:
— ETCD: хранилище конфигурации кластера
— Kubernetes API: предоставляет API для взаимодействия между компонентами K8s и клиентами внутри и вне кластера
— Kubernetes controller manager: реализует контроллеры, управляющие основными сущностями кластера, такими как контроллер узлов, контроллер задач и контроллер срезов конечных точек
— Kubernetes scheduler: выбирает узлы, на которых будут запускаться POD
— cloud controller manager: используется для реализации функций, специфичных для работы с облаком (если кластер K8s работает в облачной среде)
Плоскость данных состоит из компонентов, работающих на каждом узле:
— kubelet: отслеживает изменения конфигурации узла, применяет изменения конфигурации, выполняет проверки контейнера, сообщает о статусе контейнера, работает с плагином CRI и обеспечивает функции запуска и остановки контейнера
— kube-proxy: отвечает за сетевой компонент, работает с плагином CNI и обеспечивает работу сущности «сервис» на своем узле.
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
8 811
Doas – утилита, которая позволяет обычным пользователям выполнять задачи от имени root, так же как это делает sudo. Она была разработана проектом OpenBSD как минималистичная альтернатива sudo.
Запускайте
apt install doas.
Так как doas не входит по умолчанию в коробочные версии linux, утилита требует немного бОльших настроек, в отличие от sudo. Но конфигурация намного проще для понимания чем sudo. Настраивается все это через файл /etc/doas.conf. Если файла нет — создайте.
Сымитируем поведение sudo и позволим пользователю выполнять любые команды от пользователя root. Добавим в конфиг такое:
permit persist user as root
Теперь пользователь user сможет выполнять команды от root + пользователь получает льготный период, когда не нужно вводить пароль в течение нескольких минут после последовательных команд doas.
Допустим нужно сделать подобное, но для определенной группы, добавляем в конфиг строчку:
permit persist :wheel as root
Теперь все кто в группе wheel смогут побыть рутом. Также и с белым списком команд, которые можно выдать для запуска без пароля:
permit persist user as root
permit nopass :user as root cmd apt
Да, конфиг более читабельный чем у sudo
Конфиг sudo
%wheel ALL=(ALL) NOPASSWD: ALL
Конфиг doas
permit nopass :wheel as root
Ну и с помощью doas можно запустить root shell такой командой:
doas -s
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps8 811
🛠Btop++ — это высокопроизводительный монитор ресурсов, написанный на C++, который предоставляет детальную информацию о загрузке процессора, использовании памяти, активности дисков, сетевой активности и процессах. Он является продолжением проектов
bashtop и bpytop, предлагая улучшенную производительность и расширенные возможности.
Основные возможности btop++:
🔹Интуитивно понятный интерфейс с поддержкой мыши и клавиатуры.
🔹Подробная информация о выбранных процессах.
🔹Фильтрация и сортировка процессов, включая древовидное отображение.
🔹Отправка сигналов процессам.
🔹Настраиваемые параметры через меню интерфейса.
🔹Автоматическое масштабирование графиков сетевой активности.
🔹Отображение активности и скорости ввода/вывода для дисков.
🔹Поддержка различных тем оформления.
Проект активно развивается, в последнюю версия v1.4.0 добавлена поддержка Intel GPU и NetBSD.
💻Для пользователей Windows доступна специальная версия — btop4win, которая предоставляет аналогичный функционал и поддерживает мониторинг GPU и температуры процессора при использовании версии с Open Hardware Monitor Report.
https://github.com/aristocratos/btop
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps8 811
systemd: как писать юниты с элегантной перезагрузкой
Разработка системы с элегантным завершением работы может оказаться той ещё пляской с бубном. В идеальном мире каждый сервис управлялся бы юнитом systemd. ExecStart запускала бы процесс, обрабатывающий SIGTERM, а ExecStop оповещало бы процесс и осуществляло блокировку, которая бы корректно завершала процесс и его ресурсы.
Однако многие программы завершаются некорректно, а то и вовсе сбивают все настройки при закрытии. В этой статье мы рассмотрим поведение systemd при завершении работы и методы написания юнитов systemd для выборочной очистки (custom cleanup) перед закрытием.
https://www.psdn.io/posts/systemd-shutdown-unit/
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
8 811
⚡️⚡️Инциденты, метрики и спасенный прод на DevOops 2026
Даже самая отказоустойчивая инфраструктура иногда преподносит сюрпризы, а один неудачный коммит может устроить всей команде долгий вечер.
На DevOops 2026 будут разбирать, что делать с такими ситуациями в реальной инфраструктуре: от проблем с Kubernetes и GitOps до инцидентов, метрик и observability.
Программный комитет выбрал восемь докладов, которые рекомендует посмотреть в первую очередь.
Здесь — Kafka в Kubernetes, архитектура корпоративного GPT, GitOps без лишнего blast radius, security-политики, надежность, DORA и observability.
Все подробности — в карточках и на сайте.
🔥С промокодом
iDevOps персональные билеты дешевле
Купить билет8 811
+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 #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
8 811
HolmesGPT — опенсорсный DevOps-ассистент
Он соединяет AI-модели с данными мониторинга в реальном времени и организационными знаниями. Он использует агентный цикл для анализа данных из нескольких источников и выявления возможных первопричин.
Что может HolmesGPT?
👉 Расследует инциденты (AIOps) с помощью PagerDuty/OpsGenie/Prometheus/Jira
👉 Автоматизированная сортировка: отмечайте важные предупреждения и устанавливайте их приоритетность, чтобы ваша команда могла их рассмотреть
👉 Расширение возможностей оповещений: автоматическое добавление контекста к оповещениям, таким как журналы и информация о работоспособности микросервисов, для более быстрого поиска первопричин
👉 Выявляйте проблемы с облаком, задавая вопросы HolmesGPT о неработоспособности инфраструктуры
👉 Автоматизация Runbook простым языком: ускорьте решение известных проблем, проводя расследование в соответствии с предоставленными вами runbook.
https://github.com/robusta-dev/holmesgpt
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
8 811
Tailspin - позволяет просматривать логи с подсветкой
Tailspin не делает предположений о формате или расположении элементов, которые нужно подсветить. По этой причине он не требует настройки, и подсветка будет работать одинаково стабильно для разных лог-файлов.
Особенности
🪵 Просмотр (или отслеживание) любых лог-файлов в любом формате
🍰 Не требует настройки или конфигурации
🌈 Подсвечивает числа, даты, IP-адреса, UUID, URL и многое другое
⚙️ Все группы подсветки настраиваемы
🧬 Легко интегрируется с другими командами
🔍 Использует less для прокрутки, поиска и фильтрации
https://github.com/bensadeh/tailspin
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
8 811
Docker на каждый день: Ключевые команды в одной статье-шпаргалке
Забудьте о том, что Docker — это некий таинственный инструмент исключительно для DevOps-инженеров. В современном мире разработки Docker стал таким же незаменимым швейцарским ножом, как Git или ваш любимый редактор кода. Он позволяет любому разработчику писать код, который будет одинаково работать на машине коллеги, на тестовом стенде и в продакшене, забыв о кошмаре "а у меня на машине все работает". Если вы еще не погрузились в мир контейнеризации или вам нужен удобный источник команд, эта статья — ваш экспресс-билет.
https://habr.com/ru/articles/913978/
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
8 811
🗂️ Как найти большие файлы в системе
Иногда на сервере внезапно заканчивается место, и нужно срочно найти, какие файлы занимают больше всего пространства. Вот простая команда на bash:
find / -type f -size +500M -exec ls -lh {} \; 2>/dev/null | awk '{ print $NF ": " $5 }' | sort -hr -k2
🔹 Что делает этот скрипт:
• Ищет все файлы больше 500 МБ по всему серверу.
• Показывает их размер и путь.
• Сортирует список по размеру - самые большие файлы будут вверху.
Совет:
Если нужно искать не по всему серверу, а только в домашней папке, просто поменяй / на ~/.
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps8 811
Как проверить, что твои бэкапы не просто занимают место?
Резервное копирование — это как страховка: пока не случится беда, никто о нём не думает. Но когда приходит время восстановления, многие с удивлением обнаруживают, что бэкап либо повреждён, либо неполон, либо вовсе не содержит нужных данных. Как избежать этого?
🔹 Автоматическое тестирование восстановления
Настрой регулярное восстановление из резервных копий в тестовой среде. Например, можно развернуть временный сервер и поднять на нём восстановленную БД.
🔹 Сравнение контрольных сумм
Для файловых бэкапов сохраняй хэши (MD5, SHA256) до и после резервного копирования. Это поможет выявить изменения или повреждения данных.
🔹 Логирование и мониторинг
Настрой алерты на ошибки резервного копирования. Если скрипт завершился неудачно, ты должен об этом узнать раньше, чем твой прод улетит в тартарары.
🔹 Глубина хранения и дедупликация
Не удаляй старые бэкапы слишком рано. Иногда проблему замечают через несколько недель. Храни несколько версий резервных копий, но следи за размером и удостоверься, что не копируешь лишнее.
🔹 Периодические мануальные проверки
Раз в месяц пробуй восстановить данные вручную. Это займёт 15 минут, но может спасти компанию от потерь.
Бэкап, который не тестировали на восстановление — это просто набор битов. Убедись, что твои копии действительно можно использовать!
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
8 811
🔧 Про grep, который умеет больше, чем ты думаешь
Все знают
grep как утилиту “найди мне это слово в этих логах”. Но давай копнём глубже — вот тебе пара трюков, которые удивят даже видавшего виды девопса:
📍 Ищем с контекстом
Хочешь не просто строку, а и то, что рядом?
grep -C 3 "ошибка" /var/log/syslog
Покажет 3 строки до и после найденной.
📍 Ищем по слову, а не по вхождению
Не хочешь ловить ошибка, если в логе есть предошибкака?
grep -w "ошибка" файл.log
Совпадение только по целому слову.
📍 Списки IP-шников? Без проблем.
Вытаскиваем IPv4 из текста:
grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' лог.txt
📍 Ищем рекурсивно, но только в файлах
Искать по директории, пропуская бинарники и показывая имя файла:
grep -rIn --exclude-dir={.git,node_modules} "TODO" .
📍 Цвет для глаз
Визуально быстрее цепляться за результат:
grep --color=auto "fail" журнал.log
Если ты думаешь, что grep — это просто "найди слово", то, возможно, ты не используешь весь его потенциал. А зря 😉
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps8 811
💡 Как DevOps'у не утонуть в логах
Когда в продакшене случается затык, первое, что мы делаем - лезем в логи. Но с микросервисами, десятками подов и различными компонентами инфраструктуры, логов становится столько, что можно утонуть.
Вот несколько проверенных приёмов, которые реально спасают время:
🔹 Стандартизируй формат логов. JSON - твой друг. Структурированные логи можно парсить, фильтровать и индексировать.
🔹 Сразу думай про central logging. Loki + Grafana, Elasticsearch + Kibana или даже простой Fluent Bit + S3. Главное - не SSH на 20 серверов.
🔹 Добавляй trace_id во все логи. Это твой маяк в море. Особенно полезно, когда надо отслеживать один запрос через всю систему.
🔹 Фильтры, фильтры, фильтры. Хорошие правила фильтрации в Grafana или Kibana - это как хороший кофе с утра. Делают день лучше.
🔹 Логи - это не помойка. Не пиши туда
print("Hello from service X"). Пиши полезное: ошибки, статусы, идентификаторы.
И напоследок: не забывай про ротацию и retention. Логи не должны жить вечно, особенно если ты не хочешь платить лишнее за storage.
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps8 811
Crd-to-sample-yaml or cty ( city )
Утилита для генерации манифестов YAML из CRD.
Это простая утилита, написанная на Go, которая читает CRD-файлы и создает из них YAML-образцы.
Она использует
controller-tools/pkg/crd/schema и controller-tools/pkg/crd/markers для интерпретации и разбора схемы.
Установка:
go install github.com/Skarlso/crd-to-sample-yaml@latest
Использование:
crd-to-sample-yaml -path ./path/to/crds > output.yaml
https://github.com/Skarlso/crd-to-sample-yaml
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps8 811
Netshoot — набор инструментов для устранения сетевых проблем с Docker и Kubernetes.
Отладка сетей Docker и Kubernetes может быть сложной. Однако при правильном понимании принципов работы сетей Docker и Kubernetes, а также наличии подходящих инструментов, вы сможете эффективно выявлять и устранять сетевые проблемы. Контейнер netshoot включает в себя мощный набор инструментов для диагностики сетевых проблем в Docker. Вместе с этими инструментами идут практические примеры, демонстрирующие, как netshoot можно использовать в реальных сценариях.
https://github.com/nicolaka/netshoot
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
8 811
У нас есть инсайдерская инфа для девопсов и их руководителей.
17.09.26 в 12:00 технические лидеры Deckhouse объяснят, зачем объединили несколько продуктов в единую платформу, которая закрывает разные задачи — запуск контейнеров, виртуалок и ИИ-нагрузок в облаках, on-prem, edge и гибридной инфраструктуре. Расскажут, почему будущее принадлежит гибридной инфраструктуре и как её строить.
Даже если вы работаете не на уровне энтерпрайза, будет полезно услышать, к чему идёт рынок.
Регистрируйтесь и до встречи в прямом эфире
