Введение в инфраструктуру
Этот модуль нужен, чтобы backend-разработчик понимал, где и как живёт его сервис после go build. Код не работает в пустоте: ему нужны образ, конфигурация, сеть, секреты, лимиты ресурсов, health checks, деплой и понятное поведение при сбоях.
Цель не в том, чтобы за один модуль стать DevOps-инженером. Цель практичнее: уметь читать Dockerfile, поднимать зависимости локально, понимать базовые объекты Kubernetes и разговаривать с platform-командой на одном языке.
Что будет внутри
Сначала разберём Docker: контейнеры, образы, слои, volumes, Dockerfile и Compose. Затем перейдём к Kubernetes: pod, deployment, service, ingress, config, storage, scaling и scheduling.
Общая картина будет такой:
Go service -> Docker image -> container -> Kubernetes workload -> production traffic
Как понять, что освоил
Вы освоили модуль, если можете собрать Go-сервис в Docker-образ, поднять его с зависимостями через Compose, объяснить разницу между container, pod и deployment, а также понять, почему сервис в кластере может не стартовать, не принимать трафик или падать под нагрузкой.
Рабочие ориентиры
- Локальная среда должна быть похожа на production настолько, насколько это разумно для команды.
- Контейнер должен быть воспроизводимым артефактом, а не набором ручных команд на сервере.
- Kubernetes не чинит плохой сервис автоматически. Он только делает его жизненный цикл явным: старт, readiness, restart, rollout, scaling.