редакции Выбор
Kubernetes в продакшене: основные понятия и вопросы на собеседовании
Меня зовут Александр, я CTO компании AppFox. Мы более 10 лет занимаемся заказной разработкой и также имеем собственные продукты.

В этой статье мы рассмотрим, что такое Kubernetes, в каких случаях его использование оправдано, и разберем вопросы, которые вы можете встретить на собеседованиях
Что такое Kubernetes простыми словами?
Разберем на примере интернет-магазина с тремя серверами:
- Сервер № 1 — основной (принимает заказы).
- Сервер № 2 — база данных (хранит товары и пользователей).
- Сервер № 3 — бекенд для API (обрабатывает платежи).
Проблема:
- В Чёрную пятницу приходит в 10 раз больше покупателей. В результате, сервера № 1 и № 3 падают от нагрузки, магазин «висит».
- Сервер № 2 (база данных) ломается, а все заказы теряются.
- Чтобы добавить новые сервера, админ вручную копирует настройки, что занимает часы.
Решение при помощи Kubernetes.
Те же 3 сервера, но теперь они управляются Kubernetes.
- АвтомасштабированиеПри наплыве покупателей Kubernetes автоматически запускает дополнительные копии серверов № 1 и № 3.Когда нагрузка падает — лишние сервера отключаются.
- ОтказоустойчивостьЕсли сервер № 2 (база данных) упал, Kubernetes сразу переключает нагрузку на его резервную копию.Покупатели даже не замечают проблемы.
- Гибкие обновленияВы хотите обновить API (сервер № 3).Kubernetes делает это без downtime:Запускает новые версии API, переключает трафик на них и останавливает старые.
- Экономия денегНочью, когда магазин почти не используют, Kubernetes отключает часть серверов.Утром — снова включает.
Что это даёт бизнесу?
- Магазин не «падает» в пиковые нагрузки (Чёрная пятница, распродажи).
- Нет потери заказов — если что-то сломалось, система сама всё починит.
- Быстрые обновления — можно выпускать новые фичи без остановки магазина.
- Экономия на серверах — не нужно держать «лишние» мощности.
Kubernetes: мощный инструмент, но не серебряная пуля
Kubernetes — это система оркестрации контейнеров, которая помогает управлять масштабируемыми и отказоустойчивыми приложениями.
Термин k8s является синонимом Kubernetes и означает 8 букв между первой и последней буквой. Да, программисты любят сокращения :)
Примерно с 2018 года мы наблюдаем устойчивый тренд: Kubernetes стал синонимом «правильной» продакшн-инфраструктуры. И это не случайно. Он действительно решает множество проблем, связанных с управлением микросервисами, масштабированием, отказоустойчивостью и обновлением без простоев.
Когда Kubernetes оправдан:
- Микросервисная архитектура с большим количеством сервисов.
- Необходимость автоматического масштабирования под нагрузку.
- Высокие требования к отказоустойчивости.
- Гибкость деплоя (Canary, Blue-Green, A/B-тестирование).
Когда Kubernetes — избыточное решение:
- Монолитное приложение с низкой нагрузкой.
- Маленькие проекты без потребности в масштабировании.
- Стартапы с ограниченным бюджетом.
- Проект для демо или MVP, в которых планируется масштабирования только после получения инвестиций
- Команда не готова к сложности k8s (обучение и поддержка требуют ресурсов).
В компании AppFox мы используем Kubernetes при построения кластеров для мультиплеерных игр и проектов со сложной микросервисной архитектурой. В частности, мы его использовали при разработке решений для СберБанка и Банка ВТБ.
Основные понятия Kubernetes
- Pod — минимальная единица развертывания (может содержать один или несколько контейнеров).
- Deployment — декларативное описание желаемого состояния приложения.
- Service — абстракция для доступа к подам (ClusterIP, NodePort, LoadBalancer).
- Ingress — управление внешним трафиком (роутинг, SSL).
- ConfigMap & Secret — хранение конфигураций и чувствительных данных.
- PersistentVolume (PV) & PersistentVolumeClaim (PVC) — работа с постоянным хранилищем.
- Helm — менеджер пакетов для k8s (чарты).
Вопросы по Kubernetes на собеседовании
Теперь самое интересное — какие вопросы задают кандидатам в зависимости от их уровня.
Для backend-разработчика
Что такое контейнер и зачем нужен Docker?
- Контейнер — это изолированное окружение для запуска приложений со всеми зависимостями.
- Docker — платформа для создания и управления контейнерами.
Разница между Docker и Kubernetes
- Docker создает контейнеры
- Kubernetes управляет множеством контейнеров на разных серверах.
Как работает kubectl get pods? Что выведет эта команда?
Команда показывает список подов (pods) — минимальных единиц развертывания в k8s. Вывод включает имя пода, статус, количество рестартов и возраст.
Что такое Deployment и зачем он нужен?
Это объект k8s для декларативного управления подами. Позволяет:
- Разворачивать приложения
- Обновлять их (rolling update)
- Возвращаться к предыдущим версиям (rollback)
- Масштабировать количество реплик
Как приложение в k8s получает конфигурацию (ConfigMap, Secrets)?
- ConfigMap хранит конфигурации (например, настройки приложения)
- Secrets — чувствительные данные (пароли, токены). Они монтируются в поды как файлы или переменные окружения.
Что такое Pod, Deployment и Service?
- Pod — это минимальная единица в Kubernetes
- Deployment управляет жизненным циклом Pod’ов
- Service предоставляет сетевой доступ.
Как подать переменные окружения в Pod?
Через env, envFrom, ConfigMap, Secret.
Что произойдет, если Pod упал?Kubernetes сам его перезапустит — важно понимать работу контроллеров.
Для Junior DevOps
Как создать под с помощью kubectl? Как посмотреть логи пода? Как работает Service? Какие типы сервисов знаете? Абстракция для доступа к набору подов. Типы: Как обновить приложение в k8s (стратегии деплоя)? Что делает kubelet и kube-proxy? Как создать кластер Kubernetes? Как подключить volume к Pod’у? Volume (том) в Kubernetes позволяет сохранять данные между перезапусками Pod’ов. Есть несколько типов томов, но для постоянного хранения данных используются PersistentVolume (PV) и PersistentVolumeClaim (PVC). Чем отличается Horizontal Pod Autoscaler от Vertical Pod Autoscaler? Как настроить Ingress для доступа к сервису? Как сделать Horizontal Pod Autoscaler (HPA)? Как управлять ресурсами (requests/limits)? Как настроить PersistentVolume для stateful-приложения? Как диагностировать проблему с CrashLoopBackOff? Как настроить NetworkPolicy для изоляции подов? Как работает etcd и что делать при его проблемах? Распределенное key-value хранилище — «мозг» Kubernetes. Проблемы и решения: Как настроить мониторинг (Prometheus + Grafana)? Как организовать multi-cluster управление? Варианты: Как оптимизировать costs в облачном k8s (автоскейлинг нод)? Заключение: Kubernetes — мощный инструмент, но не панацея Kubernetes действительно стал стандартом для оркестрации контейнеров в современных облачных и гибридных средах. Он решает ключевые задачи: масштабируемость, отказоустойчивость и автоматизацию деплоя. Однако его внедрение требует взвешенного подхода — не каждый проект нуждается в такой сложности. Главный совет: Попробуйте Kubernetes в действии:Посмотреть PV и PVC
Для Middle DevOps
Для Senior DevOps