DevOps – Telegram
DevOps
8.47K subscribers
1.46K photos
822 videos
28 files
1.74K links
Docker, Kubernetes, облачные сервисы (AWS, GCP, Azure), Infrastructure as a Code (Terraform, CloudFormation), администрирование Windows и Linux, сети TCP, IP, скрипты (Bash, PowerShell), Ansible, Jenkins, DevSecOps, логирование. По вопросам @evgenycarter
Download Telegram
Тренировки по DevOps. Часть 1

Лекция 1: Кто такой DevOps
Лекция 2: Облако. Кто виноват и что делать?
Лекция 3: Процессы Linux
Лекция 4: Сети Часть 1. Коты и коробки
Разбор домашнего задания 1: Кто такой DevOps
Разбор домашнего задания 2: Облако. Кто виноват и что делать?
Лекция 5: Linux: инструменты командной строки
Лекция 6: Базы данных
Разбор домашнего задания 3: Процессы Linux"
Разбор домашнего задания 4: Сети. Часть 1. Коты и коробки

источник

#devops #девопс

Подпишись 👉@i_DevOps
🔥2👍1
Сертификация, которая реально работает на вас

🔘DevOps‑инженеры с опытом от 2 лет могут пройти экзамен Yandex Cloud DevOps Engineer: 65 вопросов, 90 минут, онлайн. Это не просто теория — это подтверждение практического опыта с автоматизацией инфраструктуры и CI/CD.

🔘 После прохождения сертификации 74% участников отмечают, что почувствовали рост уверенности в своих знаниях. Такое нам надо! Успейте зарегистрироваться до 31 марта со скидкой 50% и получить буст для карьеры. Все подробности тут.

📲 Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
👍3🤣2
DevOps, как сам? Как строили мост между разработкой и эксплуатацией

Меня зовут Георг Гаал, я член ПК DevOpsConf. Я энтузиаст информационных технологий со школьной скамьи. Меня эта тема очень зажгла, когда я в первый раз сел за компьютер и осознал, что вообще не понимаю, как он функционирует. Сегодня я попытаюсь на примерах из своего опыта рассказать про эволюцию DevOps, актуальных трендах и о том, как оставаться востребованным в профессии.

https://habr.com/ru/companies/oleg-bunin/articles/891422/

📲 Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
👍31
SnapScheduler — это контроллер Kubernetes, который автоматически создает снапшоты PVC (PersistentVolumeClaim) по расписанию, используя встроенный механизм VolumeSnapshot. Он не зависит от CSI-драйвера, пока тот поддерживает VolumeSnapshot, и работает с любым сторедж-классом, поддерживающим снапшоты.

Основные возможности:
- Создание снапшотов PVC по расписанию (cron).
- Поддержка нескольких расписаний для одного PVC.
- Возможность настройки политики хранения (retention policy).
- Не требует изменений в приложении или манифестах PVC.

Как это работает:
Вы создаете ресурс SnapshotSchedule, в котором указываете:
- Селектор PVC.
- Cron-расписание.
- Максимальное количество снапшотов для хранения.
Контроллер следит за расписанием и создает VolumeSnapshot объекты автоматически.

Пример использования:

apiVersion: snapscheduler.backube/v1
kind: SnapshotSchedule
metadata:
name: example-schedule
spec:
schedule: "0 */6 * * *"
snapshotTemplate:
labels:
createdBy: snapscheduler
pvcSelector:
matchLabels:
snapshot: "true"
retention:
maxCount: 5


Такой манифест будет создавать снапшоты каждые 6 часов для всех PVC с лейблом snapshot=true, и хранить максимум 5 последних.

https://github.com/backube/snapscheduler

📲 Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
👍2
⚙️ CI/CD часто выглядит как набор разрозненных скриптов.

Но платформа — это не пайплайн, а пайплайн — не YAML.

На открытом уроке вы за один раз пройдёте весь путь: от выбора платформы до работающего CI/CD-конвейера.

Покажем, как за 100 секунд получить первый результат, а затем разберём, из каких решений он состоит и почему это именно так.

⌨️ Вы увидите, как проектировать CI/CD системно:
- создание пайплайнов
- тестирование
- деплой
- обработка ошибок
- обновления без простоев
- масштабирование

Разберём типовые архитектурные подходы и ошибки, которые мешают превратить CI/CD в устойчивую часть инфраструктуры.

💛Встречаемся 29 января в 20:00 МСК в преддверии старта курса «Инфраструктурная платформа на основе Kubernetes».

➡️ Регистрация открыта: https://vk.cc/cTMqSm

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🚑 HEALTHCHECK: Спасательный круг или выстрел в ногу?

Продолжаем тему стабильности. Сегодня про Healthchecks (в Docker) и Probes (в K8s).

Казалось бы, что сложного? Написал curl -f http://localhost/ || exit 1 и пошел пить кофе. Но именно такие "простые" решения часто становятся причиной того, что ваш прод лежит, хотя нагрузка детская.

Разберем две крайности и как делать правильно.

Ошибка №1: "Зомби-апокалипсис" (Слишком слабый чек)

Вы проверяете только то, что процесс веб-сервера запущен и порт слушается.

🔘Сценарий: У приложения отвалился коннект к БД (pool exhaustion), или случился дедлок внутри кода.

🔘Итог: Хелсчек проходит (порт-то открыт!), балансировщик продолжает лить трафик на под, а пользователи получают 500-ки.

🔘Лечение: Чек должен проверять работоспособность логики, а не просто наличие процесса.

Ошибка №2: "Эффект Домино" (Слишком жадный чек)

Вы решили быть умными и в /health эндпоинт засунули проверку коннекта к Базе, Редису и S3.

🔘Сценарий: База данных немного приуныла (медленные запросы).

🔘Итог: Хелсчеки всех 50 подов начинают тайм-аутить. Kubernetes думает: "Ага, поды сдохли!" и начинает их перезагружать.

🔘Финал: Все поды рестартуют одновременно, ломятся устанавливать соединения к и так лежащей базе и добивают её окончательно. Congratulations, you played yourself.

Как делать правильно: Liveness vs Readiness

В Kubernetes (да и в грамотном Docker Compose) эти понятия разделены. Это фундамент.

1. Liveness Probe (Я жив?)

🔘Цель: Понять, не завис ли процесс намертво.
🔘Действие при сбое: РЕСТАРТ контейнера.
🔘Что проверять: Очень легкий запрос. "Я могу отвечать на HTTP?". Не трогайте тут базу данных! Если база лежит, рестарт бэкенда не поможет ей подняться.


2. Readiness Probe (Я готов работать?)

🔘Цель: Понять, можно ли пускать на меня трафик.
🔘Действие при сбое: УБРАТЬ из балансировки (не убивать!).
🔘Что проверять: Вот тут проверяем зависимости. Есть коннект к БД? Прогрелся кэш? Если нет, просто временно не шлите на меня юзеров.



📝 Пример (K8s Manifest):


livenessProbe:
httpGet:
path: /health/live # Максимально тупой ответ 200 OK
port: 8080
initialDelaySeconds: 5
periodSeconds: 10

readinessProbe:
httpGet:
path: /health/ready # Проверка БД, очередей и т.д.
port: 8080
initialDelaySeconds: 10
periodSeconds: 10
failureThreshold: 3



💡 Главный совет

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

#k8s #devops #fails #stability #bestpractices

📲 Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62
Какую функцию выполняет ReplicaSet?

Функция ReplicaSet (RS) в Kubernetes заключается в обеспечении стабильного количества экземпляров подов в кластере. RS является основным компонентом Kubernetes, который используется для развертывания Stateless-приложений. Он обеспечивает непрерывную доступность приложения, автоматически запуская новые экземпляры подов в случае их выхода из строя. Без использования RS такие поды пришлось бы запускать вручную, что затруднило бы поддержание доступности приложения для пользователей.

Что такое пространство имен (namespaces)? Почему не стоит использовать одно namespace для всех приложений?


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

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

Еще один случай, когда несколько пространств имен могут пригодиться, — это ситуация, когда несколько команд работают с одним кластером.

📲 Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
👍2🔥2
Furiko

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

Furiko состоит из следующих компонентов:

- QueueJob Controller: абстракция заданий, которые можно ставить в очередь с масштабируемой логикой запуска.

- CronJob Controller: надёжный планировщик повторяющихся заданий с CRON-подобной семантикой.

- Web UI: удобный пользовательский интерфейс для управления заданиями и их выполнениями.

- CLI: утилита командной строки для взаимодействия с заданиями Furiko.

https://github.com/furiko-io/furiko

📲 Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Yandex BareMetal подтвердил соответствие высшему стандарту безопасности персональных данных.

Сервис прошел аттестацию по высшей степени защиты персональных данных. Это значит, что пользователи гарантировано безопасно могут хранить на BareMetal всё, что требует максимальной безопасности — от CRM и бухгалтерии до медицинских и государственных данных.

Независимый аудит подтвердил, что команда сервиса действительно серьезно относится к защите информации, а не просто формально выполняет требования.

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

Как устроена безопасность
- Дата-центры в России
- Модульная L2-связность без единой точки отказа (SPOF)
- Данные стираются полностью при возврате серверов
- Поврежденные диски уничтожаются физически

Кратко про Yandex BareMetal
- Физические серверы без виртуализации
- Высокая изоляция ресурсов
- Интеграция с Yandex Cloud
- Аренда от 1 дня
- Готовые и кастомные конфигурации

Подробнее по ссылке.
👍3😁1
Устранение проблем с отсутствующими логами Kubernetes в Elasticsearch

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

Я исследовал случай отсутствующих логов Kubernetes в Elasticsearch, который в моем случае агрегирует логи для подов Kubernetes. У меня стандартная настройка Elasticsearch и Fluentd, и время от времени в Elasticsearch появляется пропуск, когда в течение нескольких секунд нет логов.

https://povilasv.me/troubleshooting-missing-kubernetes-logs-in-elasticsearch/

📲 Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
👍2
📲 Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
😁10🤡4👍2