Введение в инфраструктуру

Этот модуль нужен, чтобы backend-разработчик понимал, где и как живёт его сервис после go build. Код не работает в пустоте: ему нужны образ, конфигурация, сеть, секреты, лимиты ресурсов, health checks, деплой и понятное поведение при сбоях.

Цель не в том, чтобы за один модуль стать DevOps-инженером. Цель практичнее: уметь читать Dockerfile, поднимать зависимости локально, понимать базовые объекты Kubernetes и разговаривать с platform-командой на одном языке.

Что будет внутри

Сначала разберём Docker: контейнеры, образы, слои, volumes, Dockerfile и Compose. Затем перейдём к Kubernetes: pod, deployment, service, ingress, config, storage, scaling и scheduling.

Общая картина будет такой:

text
Go service -> Docker image -> container -> Kubernetes workload -> production traffic

Как понять, что освоил

Вы освоили модуль, если можете собрать Go-сервис в Docker-образ, поднять его с зависимостями через Compose, объяснить разницу между container, pod и deployment, а также понять, почему сервис в кластере может не стартовать, не принимать трафик или падать под нагрузкой.

Рабочие ориентиры

  • Локальная среда должна быть похожа на production настолько, насколько это разумно для команды.
  • Контейнер должен быть воспроизводимым артефактом, а не набором ручных команд на сервере.
  • Kubernetes не чинит плохой сервис автоматически. Он только делает его жизненный цикл явным: старт, readiness, restart, rollout, scaling.