DevOps*Kubernetes*Docker*Linux*Карьера в IT*

DevOps-инженер: что нужно знать с нуля, ключевой стек (Docker, K8s, CI/CD) и вопросы на собеседовании

Подробный гид по профессии DevOps-инженера: основы Linux, контейнеризация в Docker, оркестрация в Kubernetes, CI/CD пайплайны, Infrastructure as Code и частые вопросы технических интервью.

Команда Capycodio
Команда Capycodio
·9 мин

DevOps — одна из самых высокооплачиваемых и востребованных специализаций в IT. Если разработчики создают продукт, а системные администраторы поддерживают «железо», то DevOps-инженер выстраивает культуру и автоматизированный конвейер доставки кода (CI/CD): от локального коммита программиста до мгновенного релиза в продакшн без простоя пользователей.

В этой статье мы разберем:

  1. Базовые компетенции, без которых в DevOps не берут даже джунов.
  2. Актуальный стек технологий.
  3. 5 глубоких вопросов с собеседований с подробными инженерными ответами.

Ключевой стек DevOps-инженера#

В индустрии закрепился джентльменский набор инструментов, вокруг которого строятся 90% вакансий:

ТаблицаСвайп вправо
НаправлениеСтандарт де-фактоАльтернативы
ОС и средаLinux (Ubuntu, Debian, RHEL)Alpine (для компактных образов)
КонтейнеризацияDockerPodman, containerd
ОркестрацияKubernetes (k8s)Docker Swarm, Nomad
CI/CDGitLab CI, GitHub ActionsJenkins, ArgoCD (GitOps)
IaC (Инфраструктура как код)Terraform, AnsibleOpenTofu, Pulumi
Наблюдаемость (Observability)Prometheus + GrafanaVictoriaMetrics, Loki, ELK/OpenSearch

Дорожная карта (Roadmap) обучения#

Пошаговый план развития DevOps-инженера

5 этапов
01
Фундамент: Linux и компьютерные сети
1-2 месяца

Глубокое понимание ядра Linux, управление процессами (systemd, сигналы), сетевой стек TCP/IP, маршрутизация, DNS и диагностика через tcpdump и ss.

LinuxTCP/IPDNSBashsystemdiptables
02
Контейнеризация и Docker
3-4 недели

Изоляция процессов через cgroups и namespaces, multi-stage сборка компактных образов, безопасность и запуск без root-прав.

DockercgroupsnamespacesMulti-stageDocker Compose
03
CI/CD автоматизация и доставка кода
3-4 недели

Построение надежных конвейеров сборки, тестирования и деплоя в GitLab CI и GitHub Actions. Артефакты, кэш и секреты.

GitLab CIGitHub ActionsGitАвтотесты
04
Оркестрация в Kubernetes (k8s)
2-3 месяца

Архитектура Control Plane, Pods, Deployments, Services, сетевые плагины CNI, Ingress и Helm-чарты для управления манифестами.

Kubernetesk8sHelmIngressCoreDNS
05
IaC и наблюдаемость (Observability)
1-2 месяца

Декларативное описание инфраструктуры через Terraform / Ansible, сбор метрик в Prometheus и построение графиков в Grafana.

TerraformAnsiblePrometheusGrafanaLoki

Топ-5 вопросов с собеседований по DevOps#

1. Чем контейнер Docker принципиально отличается от виртуальной машины?#

Этот вопрос проверяет, понимает ли кандидат устройство виртуализации на уровне ядра.

  • Виртуальная машина (ВМ): Работает поверх гипервизора (KVM, ESXi). ВМ включает в себя собственное полноценное гостевое ядро ОС, драйверы и виртуализированное оборудование. Старт занимает минуты, потребляет гигабайты памяти на каждую ВМ.
  • Контейнер: Это просто изолированный процесс в общей операционной системе хоста. Он делит общее ядро Linux с хостовой машиной. Изоляция обеспечивается двумя фичами ядра:
    • Namespaces (Пространства имен): Изолируют видимость (PID, сеть NET, точки монтирования MNT, пользователей USER).
    • Control Groups (cgroups): Ограничивают потребление ресурсов (например, не более 2 ядер CPU и 512 МБ памяти).

2. Что происходит под капотом при kubectl apply -f deployment.yaml?#

Классический вопрос на архитектуру управляющего слоя (Control Plane) Kubernetes:

  1. kubectl валидирует манифест и отправляет HTTP POST запрос в kube-apiserver.
  2. kube-apiserver аутентифицирует пользователя, проверяет права через RBAC, применяет Admission Webhooks и сохраняет декларативное состояние в распределенную базу данных etcd.
  3. kube-controller-manager видит через механизм Watch, что в etcd появился новый Deployment, и создает соответствующий ReplicaSet.
  4. kube-scheduler замечает непоселенные поды (nodeName пустой), анализирует доступные ресурсы нод кластера (фильтрация и ранжирование) и назначает поду конкретную рабочую ноду.
  5. Агент kubelet на назначенной ноде видит задачу, обращается к Container Runtime (containerd) через интерфейс CRI и запускает контейнеры.

3. Стратегии деплоя: Rolling Update vs Blue-Green vs Canary#

ТаблицаСвайп вправо
СтратегияКак работаетПлюсыМинусы
Rolling Update (дефолт в K8s)Постепенная замена старых подов на новые по одному0 простоя, не требует двойных ресурсовВ кластере одновременно работают две версии API
Blue-GreenРазворачивается полностью новое окружение (Green) рядом со старым (Blue), после чего трафик на роутере переключается мгновенноМгновенный откат (Rollback) назад при багеТребует x2 мощностей серверов
Canary (Канареечный)На новую версию пускают только 5-10% реального трафика. При отсутствии ошибок трафик поднимают до 100%Минимальный риск для пользователейСложнее настройка (нужен Service Mesh / Envoy)

4. В чем разница между ENTRYPOINT и CMD в Dockerfile?#

  • ENTRYPOINT — задает неизменяемый исполняемый файл контейнера:
    DOCKERFILE
    ENTRYPOINT ["nginx"]
    
  • CMD — задает аргументы по умолчанию для ENTRYPOINT. Их можно легко переопределить при вызове docker run:
    DOCKERFILE
    CMD ["-g", "daemon off;"]
    
    Если запустить docker run my-nginx -v, то CMD заменится на -v, а ENTRYPOINT (nginx) останется прежним.

5. Что такое GitOps и как устроен ArgoCD?#

GitOps — это подход к управлению инфраструктурой, где единственным источником правды (Single Source of Truth) для состояния кластера является репозиторий Git.

Вместо того чтобы CI-раннер выполнял kubectl apply с правами админа напрямую в кластер, агент ArgoCD, установленный внутри Kubernetes, непрерывно опрашивает Git-репозиторий. Если реальное состояние кластера отличается от декларации в Git, ArgoCD производит синхронизацию (Sync).


Резюме#

DevOps — это постоянный баланс между скоростью доставки фич и отказоустойчивостью инфраструктуры. Понимание Linux и контейнерной изоляции — фундамент для уверенного старта в профессии.

Capycodio

Прокачивай IT-скиллы с Capycodio

Не зубри теорию часами перед компьютером. Короткие 3-минутные интерактивные сессии прямо с телефона: по дороге, за кофе или перед сном.

Теги публикации:
#devops#docker#kubernetes#ci/cd#linux#terraform#собеседование
Капибара
Команда Capycodio

Мы создаем интерактивный мобильный тренажер для разработчиков. Короткие сессии по 3-5 минут, чтобы держать базу и закрывать пробелы перед собеседованиями.