Какой тип метрики Prometheus использовать для латентности с агрегируемыми перцентилями?
👾 — Gauge
👍 — Histogram с бакетами, перцентили через histogram_quantile по агрегированному rate
🥰 — Summary — легко агрегируется между инстансами
⚡️ — Counter — подходит для p99
Библиотека задач по DevOps
👾 — Gauge
👍 — Histogram с бакетами, перцентили через histogram_quantile по агрегированному rate
🥰 — Summary — легко агрегируется между инстансами
⚡️ — Counter — подходит для p99
Библиотека задач по DevOps
👍6
Как масштабировать по p95 латентности в Kubernetes?
👾 — Через HPA v1 по CPU/Memory
👍 — Через HPA v2 с custom/external метрикой (Prometheus Adapter) и таргетом p95
🥰 — Через VPA: он меняет реплики по задержке
⚡️ — ReplicaSet сам увеличит реплики при росте p95
Библиотека задач по DevOps
👾 — Через HPA v1 по CPU/Memory
👍 — Через HPA v2 с custom/external метрикой (Prometheus Adapter) и таргетом p95
🥰 — Через VPA: он меняет реплики по задержке
⚡️ — ReplicaSet сам увеличит реплики при росте p95
Библиотека задач по DevOps
👍4
✨ Halloween Special — последний день магии! 👻
Успевай сегодня купить курсы со скидкой 40%!
А также участвуй в розыгрыше MacBook Pro 14 💻
После полуночи останется только тыква 🎃
🔮 Открой портал и выбери курс
Успевай сегодня купить курсы со скидкой 40%!
А также участвуй в розыгрыше MacBook Pro 14 💻
После полуночи останется только тыква 🎃
🔮 Открой портал и выбери курс
Как корректно посчитать процент ошибок в Prometheus?
👾 — sum(http_errors_total) / sum(http_requests_total) (сырые счетчики)
👍 — rate(http_errors_total[5m]) / rate(http_requests_total[5m]) с теми же фильтрами/лейблами и затем агрегацией
🥰 — avg_over_time(http_errors_total[5m])
⚡️ — irate(http_errors_total[5m]) для алерта по SLO
Библиотека задач по DevOps
👾 — sum(http_errors_total) / sum(http_requests_total) (сырые счетчики)
👍 — rate(http_errors_total[5m]) / rate(http_requests_total[5m]) с теми же фильтрами/лейблами и затем агрегацией
🥰 — avg_over_time(http_errors_total[5m])
⚡️ — irate(http_errors_total[5m]) для алерта по SLO
Библиотека задач по DevOps
👾2👍1
Опишите составные части архитектуры Docker
Основные составные части архитектуры Docker — это:
✍🏻 сервер, содержит сервис Docker, образы и контейнеры. Сервис связывается с Registry, образы — метаданные приложений, запускаемых в контейнерах Docker.
✍🏻 клиент, применяется для запуска различных действий на сервере Docker.
✍🏻 registry, используется для хранения образов. Есть публичные, доступные каждому, например, Docker Hub и Docker Cloud.
Библиотека задач по DevOps
Основные составные части архитектуры Docker — это:
✍🏻 сервер, содержит сервис Docker, образы и контейнеры. Сервис связывается с Registry, образы — метаданные приложений, запускаемых в контейнерах Docker.
✍🏻 клиент, применяется для запуска различных действий на сервере Docker.
✍🏻 registry, используется для хранения образов. Есть публичные, доступные каждому, например, Docker Hub и Docker Cloud.
Библиотека задач по DevOps
Что такое Kubernetes HPA (горизонтальное автомасштабирование Pod)?
👾 — Механизм автоматического масштабирования количества модулей в зависимости от использования ресурсов
👍 — Способ динамической корректировки ресурсов, выделяемых модулю, в зависимости от спроса
🥰 — Метод распределения сетевого трафика между несколькими модулями
⚡ — Инструмент для мониторинга и оптимизации использования ресурсов в кластере
Библиотека задач по DevOps
👾 — Механизм автоматического масштабирования количества модулей в зависимости от использования ресурсов
👍 — Способ динамической корректировки ресурсов, выделяемых модулю, в зависимости от спроса
🥰 — Метод распределения сетевого трафика между несколькими модулями
Библиотека задач по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👾3
👾 В облаке есть 3 зоны доступности. Как сделать так, чтобы поды приложения распределились по этим зонам доступности равномерно?
Необходимо настроить podAntiAffinity. Либо, более новый вариант для данной задачи, настроить topologySpreadConstraints с указание ключа лейбла зон.
Библиотека задач по DevOps
Библиотека задач по DevOps
Установите узел с именем «worker node» как недоступный и перепланируйте все работающие на нем модули
Kubectl drain node <worker node> --ignore-daemonsets
Библиотека задач по DevOps
Библиотека задач по DevOps
Что реально гарантирует PodDisruptionBudget (PDB) в Kubernetes?
👾 — Защиту от OOM и крэшей ноды
👍 — Ограничение добровольных эвикшенов (drain/upgrade), ниже минимума не опустят; от аварий не спасает
🥰 — Нулевой простой при любых инцидентах
⚡️ — Автоматический автоскейлинг при эвикшене
Библиотека задач по DevOps
👾 — Защиту от OOM и крэшей ноды
👍 — Ограничение добровольных эвикшенов (drain/upgrade), ниже минимума не опустят; от аварий не спасает
🥰 — Нулевой простой при любых инцидентах
⚡️ — Автоматический автоскейлинг при эвикшене
Библиотека задач по DevOps
👍4
Как выдать CI job облачные права без хранения долгоживущих ключей?
👾 — Хранить access-keys в переменных окружения репозитория
👍 — OIDC/workload identity: обмен короткоживущего токена раннера на временные креды (AWS STS/GCP WIF/Azure)
🥰 — Прокинуть ключи через ARG в Dockerfile
⚡️ — Закоммитить .env и закодировать Base64
Библиотека задач по DevOps
👾 — Хранить access-keys в переменных окружения репозитория
👍 — OIDC/workload identity: обмен короткоживущего токена раннера на временные креды (AWS STS/GCP WIF/Azure)
🥰 — Прокинуть ключи через ARG в Dockerfile
⚡️ — Закоммитить .env и закодировать Base64
Библиотека задач по DevOps
👍5⚡1
Что такое error budget в SRE?
👾 — Плановый бюджет на инфраструктуру в долларах
👍 — Допустимая доля несоответствия SLO за окно наблюдения (напр., 0.1% при SLO 99.9%), используемая для темпа релизов и алертинга
🥰 — Сумма логов, которую можно хранить
⚡️ — Максимальный RTO при аварии
Библиотека задач по DevOps
👾 — Плановый бюджет на инфраструктуру в долларах
👍 — Допустимая доля несоответствия SLO за окно наблюдения (напр., 0.1% при SLO 99.9%), используемая для темпа релизов и алертинга
🥰 — Сумма логов, которую можно хранить
⚡️ — Максимальный RTO при аварии
Библиотека задач по DevOps
👍5
Для чего нужен паттерн Circuit Breaker?
👾 — Для распределения нагрузки по репликам
👍 — Чтобы при частых ошибках/таймаутах прекращать вызовы к зависимому сервису (open), затем пробовать редко (half-open) и восстанавливаться при успехе (closed)
🥰 — Для кэширования успешных ответов
⚡️ — Для очередей ретраев в брокере сообщений
Библиотека задач по DevOps
👾 — Для распределения нагрузки по репликам
👍 — Чтобы при частых ошибках/таймаутах прекращать вызовы к зависимому сервису (open), затем пробовать редко (half-open) и восстанавливаться при успехе (closed)
🥰 — Для кэширования успешных ответов
⚡️ — Для очередей ретраев в брокере сообщений
Библиотека задач по DevOps
👍6
Что происходит при обновлении ConfigMap в Kubernetes?
👾 — Env-переменные в работающем поде обновятся сразу автоматически
👍 — При монтировании как volume файлы обновятся (с задержкой), а env-переменные применятся только после рестарта пода/роллаута
🥰 — Ничего не изменится, пока не удалить и не создать ConfigMap заново
⚡️ — Обновление ConfigMap всегда триггерит автоматический rolling restart Deployment
Библиотека задач по DevOps
👾 — Env-переменные в работающем поде обновятся сразу автоматически
👍 — При монтировании как volume файлы обновятся (с задержкой), а env-переменные применятся только после рестарта пода/роллаута
🥰 — Ничего не изменится, пока не удалить и не создать ConfigMap заново
⚡️ — Обновление ConfigMap всегда триггерит автоматический rolling restart Deployment
Библиотека задач по DevOps
👍5
Как смонтировать один и тот же том в несколько подов на разных нодах Kubernetes?
👾 — Использовать emptyDir с RWX
👍 — Нужен storage-класс/драйвер, поддерживающий ReadWriteMany (RWX) — напр., NFS/CSI с RWX; ReadWriteOnce (RWO) не подходит
🥰 — Достаточно hostPath, он общий для кластера
⚡️ — Любой PersistentVolumeClaim по умолчанию делится между подами
Библиотека задач по DevOps
👾 — Использовать emptyDir с RWX
👍 — Нужен storage-класс/драйвер, поддерживающий ReadWriteMany (RWX) — напр., NFS/CSI с RWX; ReadWriteOnce (RWO) не подходит
🥰 — Достаточно hostPath, он общий для кластера
⚡️ — Любой PersistentVolumeClaim по умолчанию делится между подами
Библиотека задач по DevOps
👍3⚡1
🖤 ЧЕРНАЯ ПЯТНИЦА: СКИДКА 40%
Что общего между Black Friday и подготовкой к собесам? Оба случаются раз в год, и оба нельзя пропустить! 😎
🔥 Курсы со скидкой 40% до конца ноября:
🐍 Python
📐 Математика
🤖 AI
🔢 Алгоритмы и структуры
Пока другие покупают кофемашины и телевизоры, инвестируй в себя📈
Что общего между Black Friday и подготовкой к собесам? Оба случаются раз в год, и оба нельзя пропустить! 😎
🔥 Курсы со скидкой 40% до конца ноября:
🐍 Python
📐 Математика
🤖 AI
🔢 Алгоритмы и структуры
Пока другие покупают кофемашины и телевизоры, инвестируй в себя📈
Как реализовать «build once, promote many» для контейнеров?
👾 — Пересобирать образ под каждое окружение с разными ARG
👍 — Продвигать один неизменяемый образ по digest, конфиг/секреты — через env/Secrets/ConfigMaps
🥰 — Везде тянуть :latest
⚡️ — Вшивать секреты и конфиги в образ для каждого окружения
Библиотека задач по DevOps
👾 — Пересобирать образ под каждое окружение с разными ARG
👍 — Продвигать один неизменяемый образ по digest, конфиг/секреты — через env/Secrets/ConfigMaps
🥰 — Везде тянуть :latest
⚡️ — Вшивать секреты и конфиги в образ для каждого окружения
Библиотека задач по DevOps
👍4
Что опасно из-за высокой кардинальности меток в Prometheus?
👾 — Статический service="payments"
👍 — Лейбл с user_id/request_id в каждой метрике
🥰 — Текст # HELP/# TYPE
⚡️ — Использование counter вместо gauge
Библиотека задач по DevOps
👾 — Статический service="payments"
👍 — Лейбл с user_id/request_id в каждой метрике
🥰 — Текст # HELP/# TYPE
⚡️ — Использование counter вместо gauge
Библиотека задач по DevOps
👍1
📊 Задача с собеседования
Если не понимаете с какой стороны подступиться к задаче, то пора подтянуть математику.
🎓 Именно этому посвящен курс экспресс-курс «Математика для Data Science» от Proglib Academy:
— работа с векторами и матрицами;
— линейная регрессия и метод наименьших квадратов;
— вероятности, распределения, статистика;
— и многое другое.
⏳ Старт: 4 декабря
🔥 Скидка: 40% до конца ноября
👉 Подключиться к курсу
Имеются данные о продажах за последние 12 месяцев. Требуется оценить наличие линейной зависимости между количеством заключённых сделок и объёмом выручки, а также построить прогноз выручки при достижении 150 сделок.
Если не понимаете с какой стороны подступиться к задаче, то пора подтянуть математику.
🎓 Именно этому посвящен курс экспресс-курс «Математика для Data Science» от Proglib Academy:
— работа с векторами и матрицами;
— линейная регрессия и метод наименьших квадратов;
— вероятности, распределения, статистика;
— и многое другое.
⏳ Старт: 4 декабря
🔥 Скидка: 40% до конца ноября
👉 Подключиться к курсу
Как в Kubernetes сделать канареечный релиз с точным процентом трафика (10%→30%→100%)?
👾 — Просто увеличить число подов новой версии — сервис сам обеспечит точные проценты
👍 — Использовать Ingress/Service Mesh с взвешенным роутингом (Istio VirtualService, NGINX Ingress canary аннотации)
🥰 — Обновить ConfigMap — проценты применятся автоматически
⚡️ — Поставить maxSurge: 10% — это и есть доля трафика
Библиотека задач по DevOps
👾 — Просто увеличить число подов новой версии — сервис сам обеспечит точные проценты
👍 — Использовать Ingress/Service Mesh с взвешенным роутингом (Istio VirtualService, NGINX Ingress canary аннотации)
🥰 — Обновить ConfigMap — проценты применятся автоматически
⚡️ — Поставить maxSurge: 10% — это и есть доля трафика
Библиотека задач по DevOps
👍6
Какой тип Kubernetes Service нужен для внешнего доступа из интернета в облаке?
👾 — ClusterIP — достаточно
👍 — LoadBalancer (облачный LB); Ingress обычно работает поверх него
🥰 — Headless Service
⚡️ — NodePort всегда автоматически создаёт облачный балансировщик
Библиотека задач по DevOps
👾 — ClusterIP — достаточно
👍 — LoadBalancer (облачный LB); Ingress обычно работает поверх него
🥰 — Headless Service
⚡️ — NodePort всегда автоматически создаёт облачный балансировщик
Библиотека задач по DevOps
👍4