Сервис держит долгие HTTP/GRPC-соединения. При деплоях клиенты теряют коннекты. Как добиться graceful shutdown без обрывов?
Обработать SIGTERM в приложении (перестать принимать новые, завершить активные), добавить preStop hook с drain (например, /ready=false), увеличить terminationGracePeriodSeconds, проверять readinessProbe (после перевода в not-ready трафик уйдёт), на входе — корректный LB/ingress timeouts. Для gRPC — GOAWAY перед закрытием.
Библиотека собеса по DevOps
Библиотека собеса по DevOps
Как в Kubernetes реализовать безопасную ротацию секретов без даунтайма: чтобы сервисы подхватывали новые креды/ключи без ручных рестартов и «мигающих» ошибок?
Хранить секреты вне кластера (KMS/Secret Manager) и подтягивать через External Secrets / CSI Secrets Store, монтируя как файл (а не env) — тогда обновления приходят «на лету». В приложении — hot-reload (watch файла, SIGHUP, sidecar-reloader). Для несовместимых ротаций — двухключевой период (старый+новый), фича-флаг переключения и постепенное отключение старого. Для критичных потоков — поэтапный rollout и health-checks, чтобы трафик шёл только на инстансы с новым секретом.
Библиотека собеса по DevOps
Библиотека собеса по DevOps
🔥 Не пропустите событие осени для AI-комьюнити
24 сентября, 19:00 Мск — бесплатный вебинар с Максимом Шаланкиным «ИИ-агенты: новая фаза развития искусственного интеллекта»
😤 Пока все спорят, «боты это или нет», мы покажем, как работают настоящие агенты: с планированием, инструментами и памятью. За час Максим разберёт:
— почему ИИ-агенты сейчас на пике инвестиций
— чем они отличаются от ChatGPT и обычных моделей
— цикл агента: восприятие → планирование → действие → обучение
— живое демо простого агента
— как бизнес уже получает ROI до 80%
⚡️ Хотите спросить у Максима всё, что обычно остаётся «за кадром»? Ловите шанс — только в прямом эфире.
⏰ Мест мало, регистрация закроется, как только забьём комнату
24 сентября, 19:00 Мск — бесплатный вебинар с Максимом Шаланкиным «ИИ-агенты: новая фаза развития искусственного интеллекта»
😤 Пока все спорят, «боты это или нет», мы покажем, как работают настоящие агенты: с планированием, инструментами и памятью. За час Максим разберёт:
— почему ИИ-агенты сейчас на пике инвестиций
— чем они отличаются от ChatGPT и обычных моделей
— цикл агента: восприятие → планирование → действие → обучение
— живое демо простого агента
— как бизнес уже получает ROI до 80%
⚡️ Хотите спросить у Максима всё, что обычно остаётся «за кадром»? Ловите шанс — только в прямом эфире.
⏰ Мест мало, регистрация закроется, как только забьём комнату
❤2
В продакшене контейнер «плохо» останавливается: docker stop тянется, внутри остаются зомби-процессы, сервис не ловит SIGTERM. Как диагностировать и починить?
Проблема PID 1: приложение запущено как PID1, не форвардит сигналы и не “reap’ит” детей. Решение — запускать с init (docker run --init / tini, dumb-init), в коде обработать SIGTERM/SIGINT (graceful shutdown), в Dockerfile указать STOPSIGNAL SIGTERM, в Compose/K8s — адекватный stop_grace_period/terminationGracePeriodSeconds. Не ставить /bin/sh -c ... как PID1 без init и не прятать процесс за оболочкой.
Библиотека собеса по DevOps
Библиотека собеса по DevOps
👍1
❗ Сегодня премьера
В 19:00 МСК стартует бесплатный вебинар с Максимом Шаланкиным — «ИИ-агенты: новая фаза развития искусственного интеллекта».
В программе:
— почему агенты ≠ чат-боты;
— живое демо простого агента;
— и как эта тема встроена в курс, который разработан под руководством Никиты Зелинского.
⏰ Это прямой эфир: подключиться можно через лендинг курса.
В 19:00 МСК стартует бесплатный вебинар с Максимом Шаланкиным — «ИИ-агенты: новая фаза развития искусственного интеллекта».
В программе:
— почему агенты ≠ чат-боты;
— живое демо простого агента;
— и как эта тема встроена в курс, который разработан под руководством Никиты Зелинского.
⏰ Это прямой эфир: подключиться можно через лендинг курса.
Какие типы сервисов доступны в Kubernetes Services?
Kubernetes предоставляет четыре основных типа Service, каждый для своей сетевой задачи:
📌 ClusterIP (по умолчанию): обеспечивает внутреннее взаимодействие Pod’ов. Доступен только внутри кластера.
📌 NodePort: публикует Service на статическом порту каждой ноды, делая его доступным извне кластера.
📌 LoadBalancer: использует внешний балансировщик облачного провайдера. Сервис получает публичный IP.
📌 ExternalName: сопоставляет Kubernetes-сервис с внешним DNS-именем (hostname).
Библиотека собеса по DevOps
📌 ClusterIP (по умолчанию): обеспечивает внутреннее взаимодействие Pod’ов. Доступен только внутри кластера.
📌 NodePort: публикует Service на статическом порту каждой ноды, делая его доступным извне кластера.
📌 LoadBalancer: использует внешний балансировщик облачного провайдера. Сервис получает публичный IP.
📌 ExternalName: сопоставляет Kubernetes-сервис с внешним DNS-именем (hostname).
Библиотека собеса по DevOps
👍2
🤖 Перечислите основные компоненты архитектуры Kubernetes
Два основных компонента архитектуры Kubernetes — главный узел и рабочий узел.
Главный узел — это плоскость управления, принимающая глобальные решения внутри кластера. Главный узел включает в себя компоненты плоскости управления, отвечающие за управление и координацию кластера. Эти компоненты — сервер API, планировщик, менеджер контроллера облака и менеджер контроллера.
Рабочий узел имеет четыре очень легких компонента, что имеет смысл, поскольку вы хотите зарезервировать большую часть пространства для своих модулей. Эти компоненты — прокси, Kubelet и среда выполнения контейнера.
Библиотека собеса по DevOps
Главный узел — это плоскость управления, принимающая глобальные решения внутри кластера. Главный узел включает в себя компоненты плоскости управления, отвечающие за управление и координацию кластера. Эти компоненты — сервер API, планировщик, менеджер контроллера облака и менеджер контроллера.
Рабочий узел имеет четыре очень легких компонента, что имеет смысл, поскольку вы хотите зарезервировать большую часть пространства для своих модулей. Эти компоненты — прокси, Kubelet и среда выполнения контейнера.
Библиотека собеса по DevOps
🤫 Курс «ИИ-агенты для DS-специалистов»
Каждый технологический скачок оставляет позади тех, кто «подождал ещё чуть-чуть». ИИ-агенты — это новый рывок.
Уже через пару лет именно они будут драйвить аналитику и автоматизацию. Хотите остаться на гребне?
🖥️ На курсе «ИИ-агенты для DS-специалистов» мы разберём:
— создание AI-агентов с нуля
— сборку собственной RAG-системы
— интеграцию LLM под задачи бизнеса
📌 Курс подходит:
→ ML/AI инженерам (middle+ / senior)
→ Data Scientists
→ Backend и platform-инженерам
→ Advanced CS/DS студентам
⚡️ Старт уже скоро — 3 октября.
💰 До 28 сентября действует скидка — 57.000 ₽ вместо 69.000 ₽ (по промокоду datarascals).
🔗 Узнать больше о курсе и записаться
З.ы. если вы не успели на вебинар «ИИ-агенты: новая фаза развития искусственного интеллекта» — запись уже доступна
Каждый технологический скачок оставляет позади тех, кто «подождал ещё чуть-чуть». ИИ-агенты — это новый рывок.
Уже через пару лет именно они будут драйвить аналитику и автоматизацию. Хотите остаться на гребне?
🖥️ На курсе «ИИ-агенты для DS-специалистов» мы разберём:
— создание AI-агентов с нуля
— сборку собственной RAG-системы
— интеграцию LLM под задачи бизнеса
📌 Курс подходит:
→ ML/AI инженерам (middle+ / senior)
→ Data Scientists
→ Backend и platform-инженерам
→ Advanced CS/DS студентам
⚡️ Старт уже скоро — 3 октября.
💰 До 28 сентября действует скидка — 57.000 ₽ вместо 69.000 ₽ (по промокоду datarascals).
🔗 Узнать больше о курсе и записаться
З.ы. если вы не успели на вебинар «ИИ-агенты: новая фаза развития искусственного интеллекта» — запись уже доступна
Как реализовать авто-масштабирование по SLO (например, p95 latency/RPS), а не только по CPU/Memory, в Kubernetes?
Собрать метрики в Prometheus и отдать их в Custom/External Metrics API через Prometheus Adapter (или KEDA), затем настроить HPA v2 на произвольные метрики (p95, RPS, очередь). Добавить стабилизацию/политику масштабирования (cooldown, behavior), и триггеры алертов/автоотката при деградации.
Библиотека собеса по DevOps
Библиотека собеса по DevOps
🚀 Всё о курсе «ИИ-агенты для DS-специалистов»
❓ Зачем нужны ИИ-агенты?
Это системы, которые берут на себя задачи аналитики и автоматизации. Именно они становятся основой для работы с корпоративными данными и для поддержки принятия решений.
❓ Зачем мне курс?
Курс отвечает на три ключевых вопроса:
— Как построить собственную систему агентов с нуля?
— Каким образом использовать RAG-подход для работы с корпоративными данными?
— Как адаптировать LLM под реальные задачи бизнеса?
❓ Подходит ли это мне?
Курс рассчитан на специалистов уровня middle+ и senior: ML/AI инженеров, Data Scientists, backend и platform-разработчиков. Подойдёт и студентам CS/DS, если вы готовы к продвинутым практикам.
Запись вводной встречи «ИИ-агенты: новая фаза развития искусственного интеллекта» доступна по ссылке.
❓ Когда старт?
Обучение начинается 3 октября.
❓ Сколько стоит?
До 28 сентября действует скидка → 57 000 ₽ вместо 69 000 ₽ (промокод datarascals).
🔗 Описание программы и регистрация
❓ Зачем нужны ИИ-агенты?
Это системы, которые берут на себя задачи аналитики и автоматизации. Именно они становятся основой для работы с корпоративными данными и для поддержки принятия решений.
❓ Зачем мне курс?
Курс отвечает на три ключевых вопроса:
— Как построить собственную систему агентов с нуля?
— Каким образом использовать RAG-подход для работы с корпоративными данными?
— Как адаптировать LLM под реальные задачи бизнеса?
❓ Подходит ли это мне?
Курс рассчитан на специалистов уровня middle+ и senior: ML/AI инженеров, Data Scientists, backend и platform-разработчиков. Подойдёт и студентам CS/DS, если вы готовы к продвинутым практикам.
Запись вводной встречи «ИИ-агенты: новая фаза развития искусственного интеллекта» доступна по ссылке.
❓ Когда старт?
Обучение начинается 3 октября.
❓ Сколько стоит?
До 28 сентября действует скидка → 57 000 ₽ вместо
🔗 Описание программы и регистрация
Объясните принципы оркестровки, когда речь идет о программном обеспечении и DevOps.
Автоматизированная конфигурация, координация и управление компьютерными системами, службами и приложениями называется оркестровкой в DevOps. Она использует инструменты DevOps, которые позволяют контролировать версии, быстро обновлять и выпускать, а также использовать другие передовые методы разработки программного обеспечения.
Оркестровка в программном обеспечении включает в себя координацию и управление несколькими компьютерными системами, приложениями и/или службами, связывая вместе различные задачи для выполнения более крупного рабочего процесса или процесса. Эти процессы могут состоять из многочисленных автоматизированных задач и могут включать несколько систем.
Библиотека собеса по DevOps
Автоматизированная конфигурация, координация и управление компьютерными системами, службами и приложениями называется оркестровкой в DevOps. Она использует инструменты DevOps, которые позволяют контролировать версии, быстро обновлять и выпускать, а также использовать другие передовые методы разработки программного обеспечения.
Оркестровка в программном обеспечении включает в себя координацию и управление несколькими компьютерными системами, приложениями и/или службами, связывая вместе различные задачи для выполнения более крупного рабочего процесса или процесса. Эти процессы могут состоять из многочисленных автоматизированных задач и могут включать несколько систем.
Библиотека собеса по DevOps
Какие инструменты с открытым исходным кодом вы используете, чтобы сделать Puppet более мощным?
Изменения в конфигурации отслеживаются с помощью Jira, а дальнейшее обслуживание осуществляется посредством внутренних процедур. Контроль версий использует поддержку Git и приложения диспетчера кода Puppet. Изменения передаются через конвейер непрерывной интеграции Jenkins.
Библиотека собеса по DevOps
Изменения в конфигурации отслеживаются с помощью Jira, а дальнейшее обслуживание осуществляется посредством внутренних процедур. Контроль версий использует поддержку Git и приложения диспетчера кода Puppet. Изменения передаются через конвейер непрерывной интеграции Jenkins.
Библиотека собеса по DevOps
🥱1
Что такое Ingress и для чего он необходим?
Ingress позволяет настраивать маршрутизацию трафика от внешних источников к сервисам внутри кластера.
Ingress определяет правила маршрутизации к сетевым сервисам, а контроллер Ingress отвечает за их реализацию. Контроллер не входит в стандартную поставку Kubernetes, но вы можете использовать сторонние решения, конечно, если предварительно изучите их возможности и особенности.
Библиотека собеса по DevOps
Ingress определяет правила маршрутизации к сетевым сервисам, а контроллер Ingress отвечает за их реализацию. Контроллер не входит в стандартную поставку Kubernetes, но вы можете использовать сторонние решения, конечно, если предварительно изучите их возможности и особенности.
Библиотека собеса по DevOps
COPY vs ADD?
COPY для файлов из контекста. ADD ещё умеет tar-распаковку и URL — почти всегда зло. COPY предпочтительнее.
ARG vs ENV?
ARG виден только на этапе build (не в рантайме). ENV попадает в образ и окружение контейнера.
Как уменьшить размер образа?
Multi-stage builds, .dockerignore, Alpine/ubi-minimal/Distroless, объединяй RUN, чисти кеши (apt/apk) в том же слое, пинь версии.
Библиотека собеса по DevOps
ARG vs ENV?
Как уменьшить размер образа?
Multi-stage builds, .dockerignore, Alpine/ubi-minimal/Distroless, объединяй RUN, чисти кеши (apt/apk) в том же слое, пинь версии.
Библиотека собеса по DevOps
❤1👍1
Почему docker stop иногда не завершает контейнер корректно?
docker stop шлёт SIGTERM PID 1 и по таймауту SIGKILL; если PID 1 — shell/скрипт (shell-форма ENTRYPOINT) или процесс не форвардит/не обрабатывает сигналы, graceful shutdown не случается. Решение: exec-форма ENTRYPOINT ["app"], обработка SIGTERM в коде, при нужде STOPSIGNAL, либо --init/tini.
Библиотека собеса по DevOps
Библиотека собеса по DevOps
Зачем сначала делать COPY package*.json ./ и только потом RUN npm ci, а уже затем COPY . .?
Так кэшируется слой с зависимостями: пока манифесты не меняются, npm ci берётся из кеша, а изменения в исходниках не инвалидируют установку пакетов. Итог — быстрые пересборки и предсказуемость.
Библиотека собеса по DevOps
Библиотека собеса по DevOps
Что такое веб-перехват мутационного допуска Kubernetes и как он работает?
Вебхук мутационного допуска позволяет изменять объекты Kubernetes в режиме реального времени до их применения в кластере и сохранения. Он запускает динамический контроллер допуска в Kubernetes, который перехватывает запросы API до сохранения объектов в etcd. Он может изменять полезную нагрузку запроса, внедряя, изменяя или удаляя поля, прежде чем разрешить выполнение запроса.
Они обычно используются для:
✍🏻 Внедрения дополнительных объектов (sidecars).
✍🏻 Установки значений по умолчанию для модулей (pod), развертываний (deployments) и других ресурсов.
✍🏻 Применения передовых практик (например, автоматического назначения ограничений ресурсов).
✍🏻 Добавления настроек безопасности (например, требования меток для отслеживания аудита).
Библиотека собеса по DevOps
Они обычно используются для:
✍🏻 Внедрения дополнительных объектов (sidecars).
✍🏻 Установки значений по умолчанию для модулей (pod), развертываний (deployments) и других ресурсов.
✍🏻 Применения передовых практик (например, автоматического назначения ограничений ресурсов).
✍🏻 Добавления настроек безопасности (например, требования меток для отслеживания аудита).
Библиотека собеса по DevOps
Что такое виртуализация?
В момент появления понятия виртуализации, оно представляло собой метод логического разделения мейнфреймов для одновременной работы нескольких приложений. Однако с развитием технологий появилась возможность одновременной работы нескольких операционных систем на одном сервере x86, что значительно изменило смысл виртуализации.
В результате виртуализация позволяет запускать две различные операционные системы на одном устройстве. Первая операционная система может использоваться для административных целей, в то время как остальные гостевые операционные системы загружаются как обычно, включая инициализацию и загрузку ядра. Этот метод также обеспечивает повышенный уровень безопасности, так как гостевая операционная система не имеет полного доступа к управляющей (host) операционной системе, что помогает избежать возможных уязвимостей в безопасности.
Есть три типа виртуализации:
✍🏻 Паравиртуализация
✍🏻 Эмуляция
✍🏻 Контейнерная виртуализация
Библиотека собеса по DevOps
В результате виртуализация позволяет запускать две различные операционные системы на одном устройстве. Первая операционная система может использоваться для административных целей, в то время как остальные гостевые операционные системы загружаются как обычно, включая инициализацию и загрузку ядра. Этот метод также обеспечивает повышенный уровень безопасности, так как гостевая операционная система не имеет полного доступа к управляющей (host) операционной системе, что помогает избежать возможных уязвимостей в безопасности.
Есть три типа виртуализации:
✍🏻 Паравиртуализация
✍🏻 Эмуляция
✍🏻 Контейнерная виртуализация
Библиотека собеса по DevOps
Объясни разницу между layer-кэшем сборки и BuildKit-кэшем через RUN --mount=type=cache/--mount=type=secret, как они инвалидируются и как делиться кэшем между машинами.
Layer-кэш — это слои образа: ключ — инструкция и входы шага (для COPY/ADD — хэш содержимого, для RUN — команда + предыдущие слои); изменение любого раннего шага сбрасывает все ниже, кэш хранится в локальном image store и по сути переносится только вместе с образом. даёт временный RW-каталог для шага, содержимое не попадает в слой и уменьшает размер образа; кэш живёт отдельно от образа и идентифицируется id/target, подходит для пакетных менеджеров/сборок. подаёт секрет как файл только на время шага, он не записывается в слой и не «утекает» в историю; сам факт секрета не ломает кэш шага. Для обмена кэшем: в Buildx — (local|registry), а для наследования кэша слоёв через реестр — пушить образ (или использовать ).
Библиотека собеса по DevOps
--mount=type=cache
--mount=type=secret
--cache-to/--cache-from
inline-cache/BUILDKIT_INLINE_CACHE=1
Библиотека собеса по DevOps
Что такое архитектура «Shared-Nothing»?
Это архитектура, в которой данные извлекаются из одного, не общего источника, обычно подключенного исключительно к одному узлу, в отличие от архитектур, в которых запрос может попасть на один из многих узлов, а данные будут извлечены из одного общего места (хранилища, памяти).
Библиотека собеса по DevOps
Библиотека собеса по DevOps