DevOps Инженер | Kubernetes, Docker & CI/CD. SRE Практики, Linux и Cloud. Девопс инфраструктура, автоматизация и Python. IT технологии.


Гео и язык канала: Россия, Русский
Категория: Технологии


Всё о мире DevOps и SRE. Оркестрация контейнеров: K8s (Kubernetes), Helm, Docker Compose. Настройка пайплайнов: Jenkins, GitLab CI, GitHub Actions. Infrastructure as Code (IaC): Terraform, Ansible, Pulumi. Облачные платформы: AWS, Azure, GCP. Мониторинг и логирование: Prometheus, Grafana, ELK, Loki. Скрипты на Bash, Go и Python. Архитектура Microservices и HighLoad систем.

Связанные каналы

Гео и язык канала
Россия, Русский
Категория
Технологии
Статистика

В чем разница stateful и stateless?

Stateful-приложение сохраняет данные внутри себя во время работы, например, сессии пользователей на сервере. Ответ на запрос пользователя зависит от состояния сессии. Такие приложения сложнее масштабировать горизонтально, так как для развертывания нескольких экземпляров необходимо переносить состояния на новые машины и синхронизировать их.

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

#devops #девопс

Подпишись 👉 @i_DevOps


Видео недоступно для предпросмотра
Смотреть в Max
k8s-cleaner — это утилита для автоматической очистки ресурсов Kubernetes, которые больше не используются.
Она помогает поддерживать кластеры в чистоте, удаляя устаревшие объекты (Pods, Deployments, ConfigMaps и др.), которые больше не нужны, снижая нагрузку и освобождая ресурсы.

Основные возможности:

- Анализирует ресурсы в кластере и находит неиспользуемые.
- Поддерживает разные типы объектов Kubernetes.
- Может запускаться по расписанию.
- Упрощает администрирование и уменьшает «мусор» в кластере.

https://github.com/gianlucam76/k8s-cleaner

#devops #девопс

Подпишись 👉 @i_DevOps


Лучшие практики Kubernetes, о которых я хотел бы знать раньше

Kubernetes, без сомнения, преобразил то, как мы создаём, доставляем и запускаем приложения. Но давайте будем честны: начать работу с Kubernetes может ощущаться как попытка взобраться на Эверест в шлёпанцах.

Как человек, увлечённый облачными технологиями и Kubernetes, я понял на собственном опыте: существует целый набор лучших практик из серии «лучше бы я знал это раньше». Они могли бы сэкономить мне время, деньги и нервы.

https://www.pulumi.com/blog/kubernetes-best-practices-i-wish-i-had-known-before/

#devops #девопс

Подпишись 👉 @i_DevOps


🌟 GitHub Actions для Terraform 🌟

Если вы используете Terraform и хотите интегрировать его с CI/CD процессами на GitHub Actions, используйте библиотеку terraform-github-actions.

С её помощью вы сможете:
- Автоматизировать и тестировать Terraform-код.
- Настраивать проверки terraform plan и terraform apply.
- Ускорить деплой инфраструктуры.

Документация в репозитории описывает примеры использования и тонкости настройки.

https://github.com/dflook/terraform-github-actions

#devops #девопс

Подпишись 👉 @i_DevOps


🔥 Elasticsearch или PostgreSQL: зачем платить за сложность?

В DevOps-сообществе тренд «просто используй Postgres» с каждым годом становится всё более актуальным. Команда TigerData выкатили отличную статью, в которой разобрали 10 главных болей при эксплуатации Elasticsearch в продакшене и объяснили, как архитектура PostgreSQL помогает их избежать.

Спойлер: с великой силой (ES) приходит великая операционная боль.

Вот лишь несколько классических проблем, о которых идет речь в материале:

☕ JVM Garbage Collection (GC). Elasticsearch работает на Java, а значит, внезапные паузы "stop-the-world" при сборке мусора - часть вашей жизни. Если нода «подвисает» надолго, кластер считает ее мертвой и начинает панически перераспределять данные. Итог: каскадный отказ на пустом месте. Postgres написан на C, управляет памятью напрямую и не страдает от подобных фризов.

🧩 Математика шардирования. Неправильный сайзинг шардов в ES - это бомба замедленного действия. Слишком маленькие шарды создают оверхед, слишком большие приводят к проблемам с ребалансировкой и восстановлением.

🔄 ETL-пайплайны и синхронизация. Держать основные данные в реляционной БД и постоянно переливать их в ES для поиска - это всегда костыли, риск рассинхрона, задержки (lag) и лишняя точка отказа.

📈 Оверхед на мониторинг. ES требует отдельного зоопарка инструментов и глубокой узконаправленной экспертизы для поддержания кластера в зеленом статусе.

Какой выход предлагают авторы?
Для большинства проектов полномасштабный ES просто не нужен. Современный PostgreSQL (благодаря мощным расширениям вроде pg_textsearch с поддержкой BM25 и pgvector для векторного поиска) отлично справляется с задачами поиска. Вы получаете полноценные ACID-транзакции, единую точку правды и предсказуемое потребление ресурсов без возни с настройкой JVM.

Рекомендуется к прочтению всем, кто устал дебажить кластеры ES по ночам и задумывается о консолидации инфраструктуры.

https://www.tigerdata.com/blog/10-elasticsearch-production-issues-how-postgres-avoids-them

#devops #elasticsearch #postgresql #database #architecture #backend

Подпишись 👉 @i_DevOps


Видео недоступно для предпросмотра
Смотреть в Max
Проектирование CI CD. DevOps умеешь?

Не каждый DevOps инженер умеет проектировать ci cd конвейер. А сейчас все чаще и чаще это спрашивают на собеседовании DevOps инженера.

источник

#devops #девопс

Подпишись 👉 @i_DevOps


📣 Kubernetes Events — новостная лента вашего кластера

Kubernetes Events — это ресурсы типа Event в Kubernetes, которые информируют вас о том, что происходит в вашем кластере. Это похоже на новостную ленту для компонентов кластера: они фиксируют всё — от запуска Pod'ов до ошибок в работе контроллеров.

Каждое событие в Kubernetes содержит:

* message: краткое описание произошедшего
* reason: код причины события
* type: Normal или Warning
* involvedObject: объект, к которому относится событие (например, Pod или Node)
* firstTimestamp, lastTimestamp, count: время и количество повторений

🔎 Как посмотреть события:

kubectl get events

Или для конкретного Pod'а:

kubectl describe pod <pod-name>

Kubernetes сам удаляет события через час. Это значит, что они не предназначены для долговременного хранения.

📤 Хранение событий

Если вам нужно сохранить события дольше, можно:

* Настроить аудит в Kubernetes
* Использовать внешние системы логирования (например, Elasticsearch + Fluentd)
* Подключить event exporters

https://decisivedevops.com/kubernetes-events-news-feed-of-your-kubernetes-cluster-826e08892d7a/

#devops #девопс

Подпишись 👉 @i_DevOps


⚡️5 фундаментальных курсов по ИБ по цене одного

Это предложение для тех, кто готов войти в новую профессию прямо сейчас!

🔥 Пакет курсов за 50 000 ₽ вместо 250 000 ₽:
▪️ Linux CyberPunk - обычная цена 49 500 ₽ (+ Курс идет с официальным дипломом системного администратора!)
▪️ SQL для хакера - обычная цена 15 000 ₽
▪️ HackerPoint - обычная цена ~70 000 ₽
▪️ HackerPoint (Blue vs Red Team) - обычная цена 43 500 ₽
▪️ AI-помощники на Python - обычная цена 71 500 ₽

Вы экономите 200 000 ₽ и получаете полную базу: от работы с терминалом и базами данных до разработки ИИ-агентов и взлома систем.

🔒 Квота: набор на программу ограничен по количеству мест.

🦔Закрепить за собой скидку и узнать подробности:
👉 https://max.ru/id667015044079_4_bot


Видео недоступно для предпросмотра
Смотреть в Max
Soft skills. Стоит ли вкладываться в софт скилы DevOps, программистам, тестировщикам?

Говорят Айтишник, особенно DevOps и SRE, должен быть улыбчивый, коммуникабельный и всё в этом роде. Зачем нужны софт скилы?

источник

#devops #девопс

Подпишись 👉 @i_DevOps


💡 Calico Whisker — безопасные сетевые политики в Kubernetes без простоев

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

Теперь есть решение: Calico Whisker — механизм этапных сетевых политик. Суть простая:

🔸 Вы пишете политику, но не применяете её сразу.
🔸 Система "наблюдает", какой трафик она бы заблокировала или пропустила.
🔸 Вы смотрите логи, анализируете поведение.
🔸 И только потом, когда уверены, активируете её без изменений.

Это как staging-режим, только для сетевой безопасности. Без риска. Без простоя.

Идеально для DevSecOps и всех, кто хочет внедрять Zero Trust подход аккуратно и осознанно.

https://www.tigera.io/blog/calico-whisker-staged-network-policies-secure-kubernetes-workloads-without-downtime/

#devops #девопс

Подпишись 👉 @i_DevOps


Вопрос, который часто задают в начале собеса

Представлен вывод команды top. Что означает каждая запись в выводе?

top — 10:44:36 up 91 days, 19:29, 7 users, load average: 0,00, 0,02, 0,05
Tasks: 156 total, 1 running, 155 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0,0 us, 1,5 sy, 0,0 ni, 96,9 id, 0,0 wa, 0,0 hi, 0,0 si, 1,5 st
KiB Mem : 12137392 total, 6227844 free, 1117728 used, 4791820 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 10090148 avail Mem

top — утилита
10:44:36 — время системы
up — сколько система работает с момента последнего запуска
7 user — количество авторизованных юзеров в системе
load average: 0.00, 0.02, 0.05 — параметр средней нагрузки на систему за период времени 1 минута, 5 минут, 15 минут
156 total — всего процессов в системе
1 running — количество процессов в работе
155 sleeping — ожидание процесса или сигнала
0 stopped — количество приостановленных процессов сигналом STOP или выполнение трассировки
0 zombie — количество зомби-процессов, которые завершили своё выполнение, но присутствующие в системе, чтобы дать родительскому процессу считать свой код завершения.

#devops #девопс

Подпишись 👉 @i_DevOps


🚀 Шпаргалка по Docker 🐳

🔹 Сборка (Build)
🔹 Запуск (Run)
🔹 Шаринг (Share)
🔹 Управление (Management)


📌 Сборка образов
📍 Создать образ из Dockerfile и присвоить тег:
docker build -t myimage:1.0 .
📍 Посмотреть локальные образы:
docker image ls
📍 Удалить образ:
docker image rm alpine:3.4

📌 Запуск контейнеров
📍 Запустить контейнер на порту 5000:
docker container run --name web -p 5000:80 alpine:3.9
📍 Остановить контейнер:
docker container stop web
📍 Принудительно завершить контейнер:
docker container kill web
📍 Список запущенных контейнеров:
docker container ls
📍 Удалить все контейнеры:
docker container rm -f $(docker ps -aq)

📌 Работа с образами (Share)
📍 Скачать образ из реестра:
docker pull myimage:1.0
📍 Изменить тег у локального образа:
docker tag myimage:1.0 myrepo/myimage:2.0
📍 Запушить образ в реестр:
docker push myrepo/myimage:2.0

📌 Управление Docker (Management)
⚙️ docker app – Управление приложениями
⚙️ docker image – Управление образами
⚙️ docker container – Управление контейнерами
⚙️ docker network – Управление сетями
⚙️ docker volume – Управление хранилищами
⚙️ docker stack – Управление Docker Stack
⚙️ docker swarm – Управление кластером Swarm
⚙️ docker system – Управление всей системой

📝 Сохраните, поделитесь с друзьями и подписывайтесь на канал! 💙🐳

#devops #девопс

Подпишись 👉 @i_DevOps



Автоматизация платформы не отбирает у вас интересные задачи. Она забирает рутину.

Deckhouse Platform берёт на себя обновление, масштабирование и поддержку инфраструктуры «из коробки». Освободившееся время остаётся вам — на то, что вам действительно нравится.

Обсудите с инженерами Deckhouse, что можно автоматизировать в вашем стеке 👈


DevOps практикум

1 - Базовая автоматизация с использованием ANSIBLE
2 - Создаем роли ANSIBLE
3 - Учимся хранить роли Ansible на GitLab
4 - Знакомимся с переменными в ANSIBLE
5 - Знакомимся с магическими переменными в ANSIBLE
6 - Избавляемся в ANSIBLE от использования ROOT (отладка кибербезопасности)
7 - Централизованное развертывание пакетов с ANSIBLE

источник

#devops #девопс

Подпишись 👉 @i_DevOps


🍔 DevOps как бургер (DaaB)

Дорожная карта DevOps-инженера должна выглядеть так:

1. Изучите язык программирования (Python, Go и т.д.) для написания скриптов автоматизации.

2. Освойте одну операционную систему (Linux) и её командную строку (CLI).

3. Освойте управление серверами, веб-серверами, включая прокси, такие как Nginx или IIS.

4. Изучите контейнеризацию с использованием Docker.

5. Ознакомьтесь с оркестрацией контейнеров с помощью Kubernetes.

6. Откройте для себя инфраструктуру как код (IaC),
используя такие инструменты, как Terraform, Ansible, Chef или Puppet, для подготовки и управления конфигурациями.

7. Поймите сетевые протоколы: DNS, IP-адреса, порты и модель OSI.

8. Примите практики непрерывной интеграции/непрерывного развертывания (CI/CD) для автоматизации этапов доставки и развертывания приложений.

9. Освойте методы мониторинга для контроля приложений, сервисов и инфраструктуры в реальном времени.

10. Получите практический опыт работы с облачными провайдерами, такими как AWS и Azure.

#devops #девопс

Подпишись 👉 @i_DevOps


💡Большая шпаргалка по Linux Storage Stack

#devops #девопс

Подпишись 👉 @i_DevOps



ИТ-сообщество, хватит онлайн-митапов – приходите офлайн.

18 сентября в Москве состоится ЛЦТ. Старт Кодинга, открывающее событие восьмого сезона хакатона «Лидеры цифровой трансформации». Деловые сессии, нетворкинг, битва роботов, полигон роверов, зона кодинга и другие активности.

📅 18 сентября, с 15:00
📍 Центр роботизации «Создатели», ул. Миклухо-Маклая, 27А, 3 этаж (м. Беляево)
🔗 Регистрация на событие и подробности по ссылке. Количество мест ограничено!


🛡️ Helmsman — это инструмент командной строки для управления Kubernetes через Helm с использованием простого и декларативного файла конфигурации.

С Helmsman ты можешь:

* устанавливать, обновлять и удалять релизы Helm;
* управлять правами доступа и пространствами имён Kubernetes;
* запускать проверки безопасности перед развёртыванием;
* создавать dry-run планы и сравнивать их перед применением;
* организовать деплой по зависимостям и приоритетам.

Конфигурация пишется в YAML и поддерживает шаблонизацию, переменные окружения и условия. Helmsman может использоваться как в CI/CD пайплайнах, так и вручную.


https://github.com/mkubaczyk/helmsman

#devops #девопс

Подпишись 👉 @i_DevOps


Тариф действует до конца месяца. Роль сотрудника — до определённой даты. Бронь — с одного дня по другой. Как хранить такие данные в PostgreSQL и не поддерживать собственный набор триггеров и проверок?

⏰ 16 сентября в 20:00 МСК на открытом уроке разберём темпоральные возможности PostgreSQL 18. Посмотрим, как WITHOUT OVERLAPS и PERIOD позволяют самой базе контролировать пересечение периодов и целостность связанных данных.

На примерах тарифов, бронирований и версионируемых сущностей разберём Range-типы, GiST и новые ограничения PostgreSQL 18. Вы поймёте, как проектировать таблицы с историей и переносить существующие решения на встроенные возможности базы.

🔥Урок проходит в преддверии старта курса «PostgreSQL для администраторов баз данных и разработчиков».

👉Зарегистрируйтесь и разберите PostgreSQL 18 на практике: https://vk.cc/d1KM6w

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576


Репост из: Типичный Сисадмин
Видео недоступно для предпросмотра
Смотреть в Max
RJ-45 «Дедова скрутка» 😄

Подписывайтесь на канал 👉 @tipsysdmin

Показано 20 последних публикаций.