DevOps Star (Звезда Девопса) – Telegram
DevOps Star (Звезда Девопса)
2.16K subscribers
240 photos
192 videos
19 files
290 links
Devops, Linux, SRE, Kubernetes, Сисадмин, Девопс, Python, JS, Java, Git, IT канал, программирование, безопасность, ИТ, Sysadmin

По всем вопросам @evgenycarter
Download Telegram
Советы по Kubernetes!

15 советов и рекомендаций по работе с Kubernetes, о которых должен знать каждый администратор Kubernetes 👇⚓️

1/ 🔍 Мастерство работы с пространствами имен:
Эффективное использование пространств имен позволяет упорядочить кластеры. Логическая группировка ресурсов, изоляция сред и упрощение управления.

2/ 🚦 Квоты и лимиты ресурсов:
Установите квоты на ресурсы, чтобы предотвратить их перегрузку. Используйте лимиты, чтобы обеспечить справедливое распределение ресурсов и избежать влияния одного недобросовестного стручка на другие.

3/ 🔄 Срочные обновления FTW:
Используйте обновление по расписанию при развертывании. Это обеспечивает минимальное время простоя за счет постепенной замены экземпляров, что делает обновление более плавным и удобным.

4/ 🛡️ RBAC Best Practices:
Тонкая настройка управления доступом с помощью ролевого управления доступом (RBAC). Предоставление наименьших привилегий, регулярный аудит ролей и обеспечение безопасности кластера.

5/ 📚 Документация имеет значение:
Kubernetes имеет обширную документацию. Ознакомьтесь с ней! Глубокое понимание особенностей позволит сэкономить время и избежать головной боли.

6/ 💻 Imperative vs. Declarative:
Знайте, когда следует использовать императивные команды (kubectl run), а когда - декларативные YAML-файлы. Декларативная конфигурация более удобна в обслуживании и масштабируема.

7/ 🔄 Pod Disruption Budgets:
Реализовать PodDisruptionBudgets для контроля случайных сбоев, таких как обновление или обслуживание. Сохраняйте стабильность!

8/ 🚨 Мониторинг и оповещения:
Настройте надежный мониторинг и оповещения. Prometheus и Grafana - ваши друзья. Раннее обнаружение предотвращает катастрофы.

9/ 🛠️ Мудрость диаграмм Helm:
Используйте диаграммы Helm для упаковки, версионирования и управления приложениями Kubernetes. Это упрощает сложные развертывания.

10/ 🔄 CronJobs для запланированных задач:
Используйте CronJobs для автоматизации повторяющихся задач в кластере. Запланированное обслуживание, резервное копирование и очистка стали проще!

11/ 🧹 Очистка ресурсов:
Регулярный аудит и очистка неиспользуемых ресурсов. Избегайте разрастания ресурсов и поддерживайте кластер.

12/ 🚀 Пользовательские определения ресурсов (CRD):
Расширяйте API Kubernetes своими собственными ресурсами. CRD позволяют определять пользовательские объекты и контроллеры для специализированных случаев использования.

13/ 🔗 Сетевые политики:
Определение сетевых политик для контроля взаимодействия между капсулами. Повышение уровня безопасности и ограничение потенциальных возможностей для атак.

14/ 🔄 Горизонтальное автомасштабирование Pod:
Включите автомасштабирование для своих развертываний. Пусть Kubernetes автоматически регулирует количество pod-ов в зависимости от использования ресурсов или пользовательских показателей.

15/ 🚛 Persistent Volumes:
Понимание и использование Persistent Volumes и Persistent Volume Claims. Обеспечение сохранности данных и эффективное управление хранением.

👉 @devops_star
👍3
Технологический стек Netflix - CI/CD Pipeline


Эта статья основана на материалах многих инженерных блогов Netflix и проектов с открытым исходным кодом.

🔹Планирование: Netflix Engineering использует JIRA для планирования и Confluence для документирования.

🔹Код: Java - основной язык программирования для сервисов бэкенда, другие языки используются для различных задач.

🔹Сборка: Для сборки в основном используется Gradle, а для поддержки различных вариантов использования создаются плагины Gradle.

🔹Упаковка: Пакет и зависимости упаковываются в машинный образ Amazon (AMI) для выпуска.

🔹Тестирование: Тестирование подчеркивает ориентацию продакшен-культуры на создание хаос-инструментов.

🔹Развертывание: Для развертывания Netflix использует самостоятельно созданный Spinnaker.

🔹Мониторинг: Метрики мониторинга централизованы в Atlas, а для выявления аномалий используется Kayenta.

🔹Отчет об инцидентах: Инциденты рассылаются в соответствии с приоритетом, а для их обработки используется PagerDuty.

👉 @devops_star
👍2
Docker vs. Kubernetes. Что мы должны использовать?

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

Что такое Kubernetes?
Kubernetes, также известная как K8s, - это система с открытым исходным кодом для автоматизации развертывания, масштабирования и управления контейнерными приложениями. Она группирует контейнеры, из которых состоит приложение, в логические блоки для удобства управления и обнаружения в кластере машин. Для запуска контейнеров в Kubernetes используются не Docker Engine, а такие среды выполнения контейнеров, как containerd и CRI-O.

Чем они отличаются?
Docker ориентирован на автоматизацию создания и развертывания отдельных контейнеров на одном узле. Хотя он может управлять коллекциями контейнеров с помощью Docker Swarm, он более ограничен по сравнению с Kubernetes с точки зрения масштабируемости и возможностей.

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

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

👉 @devops_star
1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
SRE Roadmap

Дорожная карта, чтобы стать SRE (концепции > инструменты)

https://github.com/teivah/sre-roadmap

👉 @devops_star
👍5
Этот репозиторий Awesome DevOps содержит отличную подборку инструментов, практик и ресурсов для DevOps-инженеров. Здесь вы найдете:

- 📌 Автоматизацию CI/CD
- ☁️ Облачные платформы и инфраструктуру как код
- 🔍 Мониторинг и логирование
- 🔄 Оркестрацию контейнеров (Kubernetes, Docker)
- 🛠 Полезные DevOps-инструменты

Если вы хотите улучшить свой стек технологий или просто узнать что-то новое в мире DevOps — обязательно загляните!

https://github.com/awesome-soft/awesome-devops

👉 @devops_star
👍1
Топ 4 лучших типа сервисов Kubernetes в одной диаграмме.

🔹 ClusterIP
ClusterIP - это стандартный и наиболее распространенный тип службы. Kubernetes назначает сервису ClusterIP внутренний IP-адрес кластера. Это делает службу доступной только в пределах кластера.

🔹 NodePort
Это позволяет вывести сервис за пределы кластера, добавив общекластерный порт поверх ClusterIP. Мы можем запросить сервис по NodeIP:NodePort.

🔹 LoadBalancer
Этот способ раскрывает сервис извне, используя балансировщик нагрузки облачного провайдера.

🔹 ExternalName
Сопоставляет службу с доменным именем. Обычно это используется для создания службы в Kubernetes для представления внешней базы данных.

👉 @devops_star
👍2
DevToys

Швейцарский армейский нож для разработчиков.

DevToys помогает выполнять повседневные задачи разработки, такие как форматирование JSON, сравнение текста и тестирование RegExp. Нет необходимости использовать множество ненадежных веб-сайтов для выполнения простых задач с вашими данными. Благодаря функции Smart Detection DevToys может определить, какой инструмент лучше использовать для данных, скопированных в буфер обмена Windows. Компактное наложение позволяет сохранить небольшой размер приложения поверх других окон. Можно использовать несколько экземпляров приложения одновременно.

https://github.com/veler/DevToys

👉 @devops_star
👍3
Автоматизация AWS SSO с помощью Terraform

Использование Terraform для автоматизации установки и настройки ресурсов SSO, упрощения управления пользователями и повышения уровня безопасности.

https://medium.com/cloud-native-daily/automate-aws-sso-using-terraform-2f219a45c16f

👉 @devops_star
👍2
Лучшие практики мониторинга статических веб-приложений

Статические сайты в настоящее время являются популярным решением для многих легких веб-приложений, таких как корпоративные сайты, блоги, сайты объявлений о работе и хранилища документации. В статической веб-архитектуре страницы генерируются и предварительно рендерятся во время сборки из файлов разметки и обычно кэшируются в сети доставки контента (CDN) для эффективной доставки. Это позволяет командам экономить на управлении серверами и обеспечивает быструю загрузку страниц.

https://www.datadoghq.com/blog/static-web-application-monitoring-best-practices/

👉 @devops_star
👍1
Руководство по GitOps: ArgoCD против Flux

GitOps стал чрезвычайно популярным способом управления инфраструктурой и приложениями Kubernetes. Используя Git в качестве единого источника, GitOps позволяет использовать инфраструктуру как код и автоматизировать развертывание приложений в Kubernetes. Этот подход сегодня используют многие компании, поэтому я хотел поделиться нашим путешествием по GitOps в серии постов на эту тему.

https://www.codereliant.io/gitops-guide-argocd-vs-flux/

👉 @devops_star
👍1
🔥 Как настроить мониторинг инфраструктуры с нуля? 🔥

Выбор системы мониторинга
- Prometheus + Grafana – золотой стандарт для большинства DevOps.
- Zabbix – если хочется all-in-one с GUI.
- Datadog/New Relic – если готов платить за облачные решения.

Метрики, которые нельзя игнорировать
- CPU, RAM, Disk I/O – классика, без неё никуда.
- Network latency & errors – чтобы не гадать, почему тормозит.
- Application-level metrics – ошибки, время отклика API, потребление ресурсов.

Логи – твои лучшие друзья
- Loki + Grafana – если уже используешь Prometheus.
- ELK (Elasticsearch + Logstash + Kibana) – мощный стек для больших нагрузок.
- Fluentd/Fluent Bit – если нужен лёгкий агент для логов.

Alerting: не спать по пустякам
- Настроить Alertmanager для отправки уведомлений в Slack, Telegram, PagerDuty.
- Долой алерты без контекста – важна корреляция событий.
- Пороговые значения ≠ реальная проблема. Включай аналитику.

👉 @devops_star
Пробки в облаке: Перегрузки снижают надежность ваших приложений?

Представьте себе оживленную систему автомагистралей - сложную сеть дорог, мостов, туннелей и перекрестков, каждая из которых рассчитана на определенный объем движения. А теперь подумайте о событиях, которые приводят к пробкам: авариях, дорожных работах или внезапном наплыве автомобилей. Эти происшествия вызывают заторы на дорогах, и часто затор на одном участке шоссе вызывает затор на другом. Например, затор на мосту может привести к затору на дороге, ведущей к нему. Заторы создают множество проблем, начиная от задержек и увеличения времени в пути и заканчивая раздражением водителей из-за потерянного времени и слишком большого количества сожженного топлива. Такие сбои в работе наносят ущерб не только водителям, но и всей экономике. Задерживаются товары, нарушается предоставление услуг, поскольку сотрудники приходят на работу с опозданием (и в раздражении).

https://blog.fluxninja.com/blog/traffic-jams-in-the-cloud-unveiling-the-true-enemy-of-reliability

👉 @devops_star
👍2🔥1
Притормози! Глубокое погружение в ограничение скорости

В этом посте мы обсудим важность и реализацию механизмов ограничения скорости для повышения надежности API.

Что такое ограничение скорости? Это механизм контроля, определяющий, как часто пользователь может обращаться к вашему API в течение определенного времени.

Итак, почему вас должно волновать ограничение скорости? Рассмотрим ситуацию, когда к вашему API поступает огромное количество запросов за короткий промежуток времени. Это может быть связано с резким увеличением трафика пользователей, сбоем, вызывающим повторные запросы, или даже попыткой перегрузить вашу систему с помощью DDOS-атаки. Без ограничения скорости ваша система может быть перегружена, что приведет к медленным ответам или, что еще хуже, к полному отказу в обслуживании.

Но преимущества ограничения скорости выходят за рамки просто защиты вашей системы. Это также инструмент для управления использованием сервиса. Оно помогает применять политики использования API, контролировать квоты API и даже предлагать клиентам многоуровневые планы использования. Проще говоря, ограничение скорости - это ключевой игрок в эффективном управлении API.

https://www.codereliant.io/rate-limiting-deep-dive/

👉 @devops_star
👍1
🔧 DevOps и искусственный интеллект: будущее уже здесь?

В последние годы AI все больше проникает в сферу DevOps, автоматизируя рутинные процессы, улучшая мониторинг и повышая скорость разработки. Но насколько он реально полезен?

🔥 Где уже используют AI в DevOps?
Автоматизация CI/CD – умные алгоритмы анализируют код и предсказывают потенциальные ошибки.
Мониторинг и алерты – ML-модели анализируют логи, предсказывают сбои и уменьшают количество фальшивых тревог.
Оптимизация инфраструктуры – AI помогает уменьшить затраты, предсказывая пиковые нагрузки и распределяя ресурсы.
Чат-боты для SRE – автоматический разбор инцидентов и предложение решений.

🚀 Будущее DevOps с AI
В ближайшие годы AI в DevOps станет не просто помощником, а полноценным участником команды. Автоматическая коррекция инфраструктуры, автогенерация конфигураций и даже self-healing системы – всё это уже не фантастика.

👉 @devops_star
1👍1👎1
GMonit приглашает на технический вебинар

🗓 Когда: 13 марта, 17:00 (Мск)
🔗 Регистрация по ссылке

О чем поговорим:

1️⃣ Как работают head-based и tail-based сэмплирование — плюсы и подводные камни.
2️⃣ Какие алгоритмы помогают снижать нагрузку на инфраструктуру.
3️⃣ Когда оптимизация данных экономит деньги, а когда — создает проблемы.

В финале — разбор реальных сценариев и демонстрация сэмплирования в GMonit + QA-сессия.

Если ваши системы генерируют тонны логов, метрик и трейсинга — этот вебинар поможет держать их под контролем. 😉
Faasd

Это переосмысленный OpenFaaS, но без стоимости и сложности Kubernetes. Он работает на одном хосте с очень скромными требованиями, что делает его быстрым и простым в управлении. Под капотом он использует containerd и Container Networking Interface (CNI) вместе с теми же основными компонентами OpenFaaS из основного проекта.

https://github.com/openfaas/faasd

👉 @devops_star
👍3
Pipeline CI/CD, объясненный простыми словами

Раздел 1 - SDLC с CI/CD
Жизненный цикл разработки программного обеспечения (SDLC) состоит из нескольких ключевых этапов: разработка, тестирование, развертывание и сопровождение. CI/CD автоматизирует и интегрирует эти этапы, чтобы обеспечить более быстрые и надежные релизы.
Когда код размещается в git-репозитории, он запускает автоматизированный процесс сборки и тестирования. Для проверки кода запускаются сквозные (e2e) тесты. Если тесты пройдены, код может быть автоматически развернут на этапе staging/продакшен. Если обнаружены проблемы, код возвращается в разработку для исправления ошибок. Такая автоматизация обеспечивает быструю обратную связь с разработчиками и снижает риск появления ошибок в продакшене.

Раздел 2 - Разница между CI и CD
Непрерывная интеграция (CI) автоматизирует процесс сборки, тестирования и слияния. Она запускает тесты при коммите кода, чтобы обнаружить проблемы интеграции на ранней стадии. Это стимулирует частые коммиты кода и быструю обратную связь.

Continuous Delivery (CD) автоматизирует процессы выпуска, такие как изменение инфраструктуры и развертывание. Она обеспечивает надежный выпуск программного обеспечения в любое время благодаря автоматизированным рабочим процессам. CD также может автоматизировать ручное тестирование и этапы утверждения, необходимые перед развертыванием продакшена.

Раздел 3 - CI/CD Pipeline
Типичный pipeline CI/CD состоит из нескольких взаимосвязанных этапов:
- Разработчик коммитит изменения кода в системе контроля исходного кода
- CI-сервер обнаруживает изменения и запускает сборку
- Код компилируется, тестируется (модульные, интеграционные тесты)
- Результаты тестирования сообщаются разработчику
- При успешном завершении артефакты развертываются в среде staging.
- Дальнейшее тестирование может быть проведено в среде staging перед выпуском.
- Система CD развертывает одобренные изменения в продакшене

👉 @devops_star
👍4
🔥 Автоматическое удаление старых логов в Linux 🔥

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

📌 Скрипт для удаления логов старше 7 дней:


#!/bin/bash

LOG_DIR="/var/log" # Директория с логами
DAYS=7 # Количество дней хранения

find "$LOG_DIR" -type f -name "*.log" -mtime +$DAYS -exec rm -f {} \;

echo "Старые логи удалены!"


🔹 Можно добавить этот скрипт в cron для автоматического запуска, например, каждый день в 3 часа ночи:

0 3 * * * /path/to/noscript.sh


Преимущества:
- Освобождает место на сервере 🧹
- Автоматизирует рутину
- Предотвращает переполнение диска 🛑

Используйте с умом и не забывайте проверять важные логи перед удалением!

👉 @devops_star
👍4👎1
This media is not supported in your browser
VIEW IN TELEGRAM
TFTUI - The Terraform textual UI

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

Ключевые особенности
Комплексное отображение всего дерева состояний Terraform
Удобный просмотр и навигация по состоянию одного ресурса
Поиск по дереву состояний и определениям ресурсов
Создавайте планы, отображайте их в полном объеме и применяйте их непосредственно из интерфейса TUI
Выбор одного/нескольких ресурсов
Операции над ресурсами: восстановление, очистка, удаление, уничтожение
Поддержка Terraform (например, terragrunt)

https://github.com/idoavrah/terraform-tui

👉 @devops_star
👍3
Как разработчику «влиться» в тему DevOps

Сегодня мы решили взглянуть на ситуацию с Java- и Python-разработчиком, который задумался о «погружении» в тему DevOps в тот момент, когда он начал все больше отдаляться от привычных инструментов в пользу работы с Oracle Weblogic и shell-скриптами. Он решил совместить свой опыт в области разработки с новым опытом в работе с процессами.

Мы посмотрели на основные советы экспертов в области DevOps на Quora и дополнили рассказ примерами из опыта команды 1cloud.

https://habr.com/ru/companies/1cloud/articles/277369/

👉 @devops_star
👍2