Что такое веб-перехват мутационного допуска Kubernetes и как он работает?
Вебхук мутационного допуска позволяет изменять объекты Kubernetes в режиме реального времени до их применения в кластере и сохранения. Он запускает динамический контроллер допуска в Kubernetes, который перехватывает запросы API до сохранения объектов в etcd. Он может изменять полезную нагрузку запроса, внедряя, изменяя или удаляя поля, прежде чем разрешить выполнение запроса.
Они обычно используются для:
✍🏻 Внедрения дополнительных объектов (sidecars).
✍🏻 Установки значений по умолчанию для модулей (pod), развертываний (deployments) и других ресурсов.
✍🏻 Применения передовых практик (например, автоматического назначения ограничений ресурсов).
✍🏻 Добавления настроек безопасности (например, требования меток для отслеживания аудита).
Библиотека собеса по DevOps
Они обычно используются для:
✍🏻 Внедрения дополнительных объектов (sidecars).
✍🏻 Установки значений по умолчанию для модулей (pod), развертываний (deployments) и других ресурсов.
✍🏻 Применения передовых практик (например, автоматического назначения ограничений ресурсов).
✍🏻 Добавления настроек безопасности (например, требования меток для отслеживания аудита).
Библиотека собеса по DevOps
Зачем сначала делать COPY package*.json ./ и только потом RUN npm ci, а уже затем COPY . .?
Так кэшируется слой с зависимостями: пока манифесты не меняются, npm ci берётся из кеша, а изменения в исходниках не инвалидируют установку пакетов. Итог — быстрые пересборки и предсказуемость.
Библиотека собеса по DevOps
Библиотека собеса по DevOps
Почему docker stop иногда не завершает контейнер корректно?
docker stop шлёт SIGTERM PID 1 и по таймауту SIGKILL; если PID 1 — shell/скрипт (shell-форма ENTRYPOINT) или процесс не форвардит/не обрабатывает сигналы, graceful shutdown не случается. Решение: exec-форма ENTRYPOINT ["app"], обработка SIGTERM в коде, при нужде STOPSIGNAL, либо --init/tini.
Библиотека собеса по DevOps
Библиотека собеса по DevOps
👍2
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
❤🔥5👍3
Что такое CRI?
CRI означает интерфейс выполнения контейнера. Это спецификация, описывающая определенный уровень абстракции, позволяющая унифицированно использовать различные версии программного обеспечения для работы с контейнерами, такими как Containerd или CRI-O.
Библиотека собеса по DevOps
Библиотека собеса по DevOps
Что такое CNI-плагин и для чего он нужен?
Аббревиатура CNI расшифровывается как Container Network Interface. Это представляет собой уровень абстракции над реализацией сети, позволяя работать с верхнеуровневыми абстракциями, такими как IP-адрес PODа и Endpoint. CNI-плагин отвечает за то, как это будет реализовано на физическом уровне. Существует множество CNI-плагинов (например, Flannel, Calico, Cilium), которые предлагают различный функционал и сетевую производительность. Они могут быть простыми, использующими L3-маршрутизацию, iptables и IPVS, а также достаточно сложными, обеспечивающими шифрование внутреннего трафика, поддержку VLAN, маршрутизацию на основе IBGP, поддержку EGRESS и другие функции.
Библиотека собеса по DevOps
Библиотека собеса по DevOps
Определите услугу/проект, используемый для каждого из следующих действий:
Копирование или снимок инстансов
Графический интерфейс для просмотра и изменения ресурсов
Блочное хранилище
Управление виртуальными инстансами
По порядку: Glance, Horizon, Cinder, Nova
Библиотека собеса по DevOps
Копирование или снимок инстансов
Графический интерфейс для просмотра и изменения ресурсов
Блочное хранилище
Управление виртуальными инстансами
Библиотека собеса по DevOps
Какие типы volum’ов можно использовать в k8s?
Для подключения папки на ноде можно воспользоваться hostpath, однако необходимо учитывать, что POD должен быть привязан к конкретной ноде. В случае перемещения POD на другую ноду, он будет использовать ту же папку, но содержимое в ней может отсутствовать.
Другой вариант использования — local-storage, который также использует папку на диске, но привязан к конкретной ноде и автоматически привязывает POD к нужной ноде.
Также есть возможность использовать сетевые диски с помощью CSI-плагинов.
Библиотека собеса по DevOps
Другой вариант использования — local-storage, который также использует папку на диске, но привязан к конкретной ноде и автоматически привязывает POD к нужной ноде.
Также есть возможность использовать сетевые диски с помощью CSI-плагинов.
Библиотека собеса по DevOps
👍2
Что такое финалайзеры (finalizers) и для чего они нужны?
Это уникальные ключи в манифесте объекта, которые определяют операции, необходимые для выполнения перед удалением объекта. Например, они используются для предотвращения удаления pvc и pv при активном PODе.
Библиотека собеса по DevOps
Библиотека собеса по DevOps
Что такое CSI-плагин?
Это концепция, которая обеспечивает единообразное использование сетевых файловых систем, построенных на различных технологических основах.
Мы определяем storageClass, который соответствует дискам определенного типа, и разворачиваем provisioner в кластере — специальное программное обеспечение, способное заказывать сетевые диски в системе, способной их предоставлять (например, NAS или СХД).
Затем мы создаем объект persistentVolumeClaim, указывая нужный storageClass.
При появлении запроса на persistentVolumeClaim, provisioner заказывает диск необходимого размера в системе, которая их предоставляет, создает объект persistentVolume и связывает его с persistentVolumeClaim. При запуске POD на узле, соответствующий диск монтируется на этот узел по определенному пути, который затем монтируется на файловую систему POD.
Библиотека собеса по DevOps
Мы определяем storageClass, который соответствует дискам определенного типа, и разворачиваем provisioner в кластере — специальное программное обеспечение, способное заказывать сетевые диски в системе, способной их предоставлять (например, NAS или СХД).
Затем мы создаем объект persistentVolumeClaim, указывая нужный storageClass.
При появлении запроса на persistentVolumeClaim, provisioner заказывает диск необходимого размера в системе, которая их предоставляет, создает объект persistentVolume и связывает его с persistentVolumeClaim. При запуске POD на узле, соответствующий диск монтируется на этот узел по определенному пути, который затем монтируется на файловую систему POD.
Библиотека собеса по DevOps
В чем отличие меток (labels) от аннотаций (annotations)?
Метки используются для создания механизмов поиска и группировки объектов, в то время как аннотации используются для добавления метаинформации к объекту. Например, с помощью аннотаций можно запретить service mesh внедрять sidecar-контейнеры в определенные поды.
Библиотека собеса по DevOps
Библиотека собеса по DevOps
👍2
В чем разница между deployment и statefulset?
В наименованиях PODов есть различия: в deployment в качестве суффикса используется случайный хеш, а в statefulset — порядковый номер. Каждый POD в statefulset имеет особое доменное имя, по которому к нему можно обратиться (это особенно полезно, например, для mongodb, где клиент должен знать имена всех узлов кластера).
При работе с дисками (volume) statefulset использует алгоритм работы at most once, который ожидает завершения работы предыдущего POD с таким же именем, чтобы занять его привязанный диск, в то время как PODы deployment'а могут занять первый доступный диск.
В стратегиях перезапуска PODов при обновлении также имеются различия.
Библиотека собеса по DevOps
При работе с дисками (volume) statefulset использует алгоритм работы at most once, который ожидает завершения работы предыдущего POD с таким же именем, чтобы занять его привязанный диск, в то время как PODы deployment'а могут занять первый доступный диск.
В стратегиях перезапуска PODов при обновлении также имеются различия.
Библиотека собеса по DevOps
🤩1
🔥 Кто такой DevOps-инженер?
Человек, что стоит на страже покоя. Человек, способный помирить программиста и системного администратора. Человек, способный сохранить бизнесу миллионы.
В этом ролике кратко рассказывается про задачи DevOps и про необходимые навыки. Также самое интересное — зарплаты DevOps-инженера.
Смотреть видео
Библиотека собеса по DevOps
Человек, что стоит на страже покоя. Человек, способный помирить программиста и системного администратора. Человек, способный сохранить бизнесу миллионы.
В этом ролике кратко рассказывается про задачи DevOps и про необходимые навыки. Также самое интересное — зарплаты DevOps-инженера.
Смотреть видео
Библиотека собеса по DevOps
😢3
За год мы провели три потока курса по ИИ-агентам, а теперь запускаем масштабное обновление!
В новом, четвёртом потоке мы учли все пожелания студентов, добавили большой блок про
В программе:
— практика с первого занятия:
— оркестрация в
— продвинутый
— контроль экономики агентов: маршрутизация и кеширование запросов;
— развёртывание локальных опенсорс-моделей с соблюдением 152-ФЗ.
В честь старта продаж действует спецпредложение: 3 курса по цене 1 (два дополнительных курса в подарок).
Доступ к материалам для предварительной подготовки откроется сразу после оплаты.
По промокоду
👉 Присоединиться к четвёртому потоку и настроить AgentOps
В новом, четвёртом потоке мы учли все пожелания студентов, добавили большой блок про
AgentOps и сместили фокус с базовых концепций на суровый инжиниринг. Рассказать про CI/CD пайплайны на собеседовании легко, а вот настроить трассировку и лимитировать потребление ресурсов ИИ-агентом в проде — задача со звёздочкой.В программе:
— практика с первого занятия:
Jupyter-ноутбуки с автопроверкой;— оркестрация в
LangGraph: human-in-the-loop и механизм time-travel;— продвинутый
RAG для продакшена и парсинг сложных документов;— контроль экономики агентов: маршрутизация и кеширование запросов;
— развёртывание локальных опенсорс-моделей с соблюдением 152-ФЗ.
В честь старта продаж действует спецпредложение: 3 курса по цене 1 (два дополнительных курса в подарок).
Доступ к материалам для предварительной подготовки откроется сразу после оплаты.
По промокоду
Agent забирайте скидку 10 000 ₽ (89 000 ₽ вместо 99 000 ₽). Успейте занять место до 28 февраля!👉 Присоединиться к четвёртому потоку и настроить AgentOps
Что такое ARP? Как это работает?
ARP означает протокол разрешения адресов (Address Resolution Protocol). Когда вы пытаетесь проверить IP-адрес в локальной сети, скажем, 192.168.1.1 , ваша система должна преобразовать IP-адрес 192.168.1.1 в MAC-адрес. Это предполагает использование ARP для разрешения адреса, отсюда и его название. Системы хранят справочную таблицу ARP, в которой хранится информация о том, какие IP-адреса с какими MAC-адресами связаны. При попытке отправить пакет на IP-адрес система сначала сверится с этой таблицей, чтобы узнать, знает ли она уже MAC-адрес. Если значение кэшировано, ARP не используется.
Библиотека собеса по DevOps
Библиотека собеса по DevOps
Вы заметили, что контейнеры в продакшене начинают работать медленнее со временем. Мониторинг показывает рост использования диска внутри контейнера, хотя приложение не пишет данные в тома. Как вы будете искать и устранять проблему?
Проверить, не накапливаются ли временные файлы или логи внутри контейнера (слои copy-on-write). Использовать docker system df, docker inspect и docker logs для анализа. При необходимости — подключить тома/лог-агрегатор вместо записи в контейнерную ФС. Пересобрать образ так, чтобы данные не сохранялись в контейнере.
Библиотека собеса по DevOps
Библиотека собеса по DevOps
Последний шанс: 3 курса по цене 1 и запуск AI-агентов в продакшн
На собеседованиях
Обновлённая программа делает упор на жёсткий инжиниринг и вывод в прод. Вы научитесь строить ReAct-циклы, работать с
Почему нельзя откладывать:
— масштабная акция «3 курса по цене 1» сгорает уже сегодня;
— промокод
— сразу после оформления открываются материалы для подготовки — начать учиться можно прямо сейчас.
Забронировать место на курсе и забрать бонусы до конца дня
На собеседованиях
DevOps-инженеров теперь спрашивают не только про Kubernetes, но и про AgentOps. Как обеспечить Observability мультиагентной системы, отслеживать стоимость токенов и не нарушить 152-ФЗ?Обновлённая программа делает упор на жёсткий инжиниринг и вывод в прод. Вы научитесь строить ReAct-циклы, работать с
LangGraph и AutoGen, внедрять продвинутый RAG, протоколы MCP и AgentOps. Все ключевые навыки в одном месте: измеримость систем, time-travel дебаггинг, управление браузером, human-in-the-loop и развёртывание в закрытых контурах.Почему нельзя откладывать:
— масштабная акция «3 курса по цене 1» сгорает уже сегодня;
— промокод
Agent на скидку 10 000 рублей действует последние часы;— сразу после оформления открываются материалы для подготовки — начать учиться можно прямо сейчас.
Забронировать место на курсе и забрать бонусы до конца дня
Что такое автоматизация? Чем это связано или отличается от оркестровки?
Автоматизация — это процесс автоматизации задач, позволяющий уменьшить вмешательство человека или взаимодействие с ИТ-технологиями и системами.
В то время как автоматизация фокусируется на уровне задач, оркестровка — это процесс автоматизации процессов и/или рабочих процессов, который состоит из множества задач, обычно выполняемых в нескольких системах.
Библиотека собеса по DevOps
В то время как автоматизация фокусируется на уровне задач, оркестровка — это процесс автоматизации процессов и/или рабочих процессов, который состоит из множества задач, обычно выполняемых в нескольких системах.
Библиотека собеса по DevOps
В Kubernetes-продакшене вы замечаете, что при пике нагрузки некоторые Pod’ы начинают завершаться с ошибкой OOMKilled, хотя лимиты памяти выставлены корректно. Как будете диагностировать и решать проблему?
Проверить метрики Pod’ов (kubectl top, Prometheus/Grafana), проанализировать, не занижены ли requests/limits. Проверить утечки памяти в приложении, использование кэшей и сторонних библиотек. Для решения — оптимизировать код, вынести тяжёлые задачи в sidecar/job, при необходимости поднять лимиты памяти или включить горизонтальное масштабирование (HPA).
Библиотека собеса по DevOps
Библиотека собеса по DevOps
🤔1
Что такое Logstash?
Logstash — это мощный и гибкий конвейер, который собирает, обогащает и транспортирует данные. Он работает как инструмент извлечения, преобразования и загрузки для сбора сообщений логов.
Библиотека собеса по DevOps
Библиотека собеса по DevOps