Раздел 14 · 24 вопросов

Docker Kubernetes

24 вопросов и ответов в разделе Docker Kubernetes.

Russian Docker Kubernetes Исходный Markdown
Версии по языкам: English Russian Ukrainian

Вопросы этого раздела

  1. Что такое контейнеризация и зачем она нужна?
  2. В чём отличие контейнера от виртуальной машины?
  3. Что такое Dockerfile?
  4. Какие основные инструкции используются в Dockerfile?
  5. В чём разница между CMD и ENTRYPOINT?
  6. Что такое multi-stage build?
  7. Что такое Docker Compose?
  8. Что такое Kubernetes и зачем он нужен?
  9. Что такое Pod в Kubernetes?
  10. Что такое Node в Kubernetes?
  11. Что такое Service в Kubernetes?
  12. Какие типы Service существуют (ClusterIP, NodePort, LoadBalancer)?
  13. Что такое ReplicaSet?
  14. Как происходит масштабирование в Kubernetes?
  15. Что такое HorizontalPodAutoscaler (HPA)?
  16. В чём разница между ConfigMap и Secret?
  17. Что такое liveness probe?
  18. Что такое Readiness Probe?
  19. Зачем нужны Health Checks в Kubernetes?
  20. Что такое Ingress в Kubernetes?
  21. Что такое Namespace в Kubernetes?
  22. Как организовать Rolling Update в Kubernetes?
  23. Что такое StatefulSet и когда его использовать?
  24. Как мониторить приложения в Kubernetes?

Навигатор по разделу

24 вопроса для подготовки к собеседованию на Middle Java Developer.


📋 Все вопросы

# Вопрос Уровень сложности
1 Что такое контейнеризация и зачем она нужна
2 В чём отличие контейнера от виртуальной машины
3 Что такое Dockerfile
4 Какие основные инструкции используются в Dockerfile ⭐⭐
5 В чём разница между CMD и ENTRYPOINT ⭐⭐
6 Что такое multi-stage build ⭐⭐
7 Что такое Docker Compose
8 Что такое Kubernetes и зачем он нужен ⭐⭐
9 Что такое Pod в Kubernetes ⭐⭐
10 Что такое Node в Kubernetes ⭐⭐
11 Что такое Service в Kubernetes ⭐⭐
12 Какие типы Service существуют ⭐⭐
13 Что такое ReplicaSet ⭐⭐
14 Как происходит масштабирование в Kubernetes ⭐⭐
15 Что такое HorizontalPodAutoscaler ⭐⭐⭐
16 В чём разница между ConfigMap и Secret
17 Что такое liveness probe ⭐⭐
18 Что такое readiness probe ⭐⭐
19 Зачем нужны health checks ⭐⭐
20 Что такое Ingress в Kubernetes ⭐⭐
21 Что такое namespace
22 Как организовать rolling update в Kubernetes ⭐⭐
23 Что такое StatefulSet и когда его использовать ⭐⭐⭐
24 Как мониторить приложения в Kubernetes ⭐⭐

🗺️ Карта зависимостей тем

                    ┌──────────────────────────────────────────┐
                    │   DOCKER ОСНОВЫ (1-7)                    │
                    │   1. Контейнеризация                     │
                    │   2. Контейнер vs ВМ                     │
                    │   3. Dockerfile                          │
                    │   4. Инструкции Dockerfile               │
                    │   5. CMD vs ENTRYPOINT                   │
                    │   6. Multi-stage build                   │
                    │   7. Docker Compose                      │
                    └──────────────────┬───────────────────────┘
                                       │
            ┌──────────────────────────┼──────────────────────────┐
            ▼                          ▼                          ▼
    ┌───────────────┐        ┌───────────────┐        ┌────────────────────┐
    │ K8s ОСНОВЫ     │        │ K8s СЕТЬ       │        │ K8s МАСШТАБИРОВАНИЕ│
    │ (8-13)         │        │ (11-12, 20)    │        │ (14-15, 22)        │
    │ 8. K8s обзор   │        │ 11. Service    │        │ 14. Масштабир.     │
    │ 9. Pod         │        │ 12. Типы Svc   │        │ 15. HPA            │
    │ 10. Node       │        │ 20. Ingress    │        │ 22. Rolling update │
    │ 13. ReplicaSet │        │                │        │                    │
    └───────┬───────┘        └───────┬───────┘        └────────┬───────────┘
            │                        │                        │
            └────────────────────────┼────────────────────────┘
                                     ▼
                    ┌──────────────────────────────────────────┐
                    │   K8s КОНФИГ И ЗДОРОВЬЕ (16-21)          │
                    │   16. ConfigMap vs Secret                │
                    │   17. Liveness probe                     │
                    │   18. Readiness probe                    │
                    │   19. Health checks                      │
                    │   21. Namespace                          │
                    └──────────────────────────────────────────┘
                                     │
                                     ▼
                    ┌──────────────────────────────────────────┐
                    │   STATEFUL И МОНИТОРИНГ (23-24)          │
                    │   23. StatefulSet                        │
                    │   24. Мониторинг                         │
                    └──────────────────────────────────────────┘

🎯 Рекомендуемый порядок изучения

🟢 Уровень Junior (недели 1-2)

Шаг Тема Файлы Цель
1 Docker база Q1, Q2, Q3 Контейнер vs ВМ, Dockerfile
2 Dockerfile инструкции Q4, Q5 RUN/COPY/ADD, CMD vs ENTRYPOINT
3 Multi-stage и Compose Q6, Q7 Маленькие образы, многоконтейнерная разработка
4 K8s база Q8, Q9, Q10 Оркестратор, Pod, Node
5 Service и Config Q11, Q16 Стабильный адрес, ConfigMap vs Secret

🟡 Уровень Middle (недели 3-4)

Шаг Тема Файлы Цель
1 Service types Q12 ClusterIP, NodePort, LoadBalancer
2 ReplicaSet и Deployment Q13 Desired state, self-healing
3 Health checks Q17, Q18, Q19 Liveness, readiness, startup
4 Ingress и Namespace Q20, Q21 L7 routing, логическая изоляция
5 Rolling update Q22 Zero-downtime deploy

🔴 Уровень Senior (недели 5-6)

Шаг Тема Файлы Цель
1 HPA deep dive Q15 Formula, stabilizationWindow, custom metrics
2 StatefulSet Q23 Stable identity, ordered updates, headless service
3 Monitoring Q24 Prometheus, Grafana, ELK, distributed tracing
4 Scaling strategies Q14, Q15, Q22 HPA + VPA + Cluster Autoscaler

🔗 Ключевые связи между темами

Тема: Docker

Q1 (Контейнеризация) → Q2 (Контейнер vs ВМ) → Q3 (Dockerfile)
     ↓
Q4 (Инструкции) → Q5 (CMD vs ENTRYPOINT) → Q6 (Multi-stage) → Q7 (Compose)

Тема: K8s Основы

Q8 (K8s обзор) → Q9 (Pod) → Q10 (Node) → Q13 (ReplicaSet)

Ключевые связи:

  • Q9 ↔ Q13: Pod’ы управляются через ReplicaSet (который создаётся Deployment)
  • Q10 ↔ Q9: Node — сервер, на котором запускаются Pod’ы

Тема: Сеть

Q11 (Service) → Q12 (Типы Service) → Q20 (Ingress)

Ключевые связи:

  • Q11 ↔ Q12: Service — абстракция, типы — конкретные реализации
  • Q12 ↔ Q20: LoadBalancer (L4) vs Ingress (L7) — разные уровни

Тема: Конфигурация и здоровье

Q16 (ConfigMap/Secret) → Q17 (Liveness) → Q18 (Readiness) → Q19 (Health checks)

Тема: Масштабирование

Q14 (Масштабирование) → Q15 (HPA) → Q22 (Rolling update)

🎓 Шпаргалка: что знать для каждого уровня

🟢 Junior

  • Контейнер = процесс Linux, ВМ = полноценная ОС
  • Dockerfile: FROM, RUN, COPY, CMD, ENTRYPOINT
  • CMD можно переопределить при запуске, ENTRYPOINT — нет (но можно добавить аргументы)
  • Pod = минимальная единица в K8s, обычно 1 контейнер
  • Service = стабильный адрес для группы Pod’ов
  • ConfigMap = конфиги, Secret = секреты (base64, НЕ шифрование!)

🟡 Middle

  • Multi-stage build: только последний FROM в финальном образе
  • ReplicaSet создаётся Deployment’ом, напрямую не используется
  • Liveness probe → перезапуск, Readiness probe → убрать из балансировки
  • ClusterIP (внутренний), NodePort (порт на Node), LoadBalancer (облачный LB)
  • Ingress = L7 маршрутизатор, требует Ingress Controller
  • Rolling update: maxUnavailable + maxSurge контролируют процесс

🔴 Senior

  • HPA formula: desiredReplicas = ceil(current * (currentMetric / desiredMetric))
  • stabilizationWindow предотвращает flapping
  • StatefulSet: stable identity (web-0, web-1), ordered updates, headless service
  • Secrets в etcd без EncryptionConfiguration = открытый текст
  • Prometheus: pull-model, local storage 15-30 дней, Thanos для long-term
  • Gateway API (GA v1.28) постепенно заменяет Ingress

📝 Формат каждого файла

Каждый файл содержит:

  • 🟢 Junior Level — базовое понимание, простые аналогии, примеры
  • 🟡 Middle Level — внутренности, типичные ошибки, практические примеры
  • 🔴 Senior Level — deep dive, edge cases, production experience, monitoring
  • 🎯 Шпаргалка для интервью — ключевые тезисы, частые вопросы, красные флаги, связанные темы