Проверяет умение контейнеризировать приложение через Dockerfile и описывать его развёртывание в Kubernetes через Deployment.
Контейнеризация и оркестрация — два последовательных шага доставки приложения. Dockerfile описывает, как собрать образ: какое окружение взять за основу, какие файлы скопировать, какие команды выполнить. Kubernetes Deployment описывает, как этот образ запускать в кластере: сколько копий, какие порты, как обновлять и откатывать.
Dockerfile читается сверху вниз, каждая инструкция создаёт слой. Важно копировать зависимости отдельно от кода, чтобы кэш работал эффективно.
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]Сборка и публикация образа:
docker build -t myapp:1.0 .
docker push registry.example.com/myapp:1.0Deployment управляет ReplicaSet, который создаёт поды. Указываем образ, число реплик, порты и стратегию обновления.
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
spec:
replicas: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: registry.example.com/myapp:1.0
ports:
- containerPort: 3000Применение манифеста и проверка:
kubectl apply -f deployment.yaml
kubectl get pods
kubectl rollout status deployment/myappИтог: Dockerfile нужен для воспроизводимой сборки образа, а Deployment — для декларативного управления его запуском в кластере. Применяйте эту связку для любого сервиса, который должен масштабироваться и обновляться без простоя.
Уровень
Рейтинг:
5
Сложность:
5
Навыки
Docker
Kubernetes
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию