Работал ли с подходом инфраструктура как код с использованием Docker или Kubernetes

«Работал ли с подходом инфраструктура как код с использованием Docker или Kubernetes» — вопрос из категории Методологии разработки, который задают на 23% собеседований Менеджер Проектов. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, работал с инфраструктурой как код (IaC) в контексте Docker и Kubernetes.

Docker: Использовал Dockerfile для описания образов и docker-compose.yml для оркестрации контейнеров. Пример:

FROM python:3.9
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]

Kubernetes: Развертывал кластеры с помощью kubectl и описывал ресурсы в YAML (Deployments, Services, Ingress). Пример deployment.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
      - name: web
        image: my-registry/web-app:latest
        ports:
        - containerPort: 80

Для управления инфраструктурой применял Terraform (настройка облачных ресурсов) и Helm (пакетизация Kubernetes-приложений).