Как работает Kubernetes

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

Ответ

Kubernetes (K8s) — это система оркестрации контейнеров, автоматизирующая развертывание, масштабирование и управление приложениями. Основные компоненты:

  1. Control Plane (мастер-ноды): управляет кластером (API Server, Scheduler, Controller Manager, etcd).
  2. Worker Nodes: запускают контейнеры через kubelet и kube-proxy.
  3. Pods: минимальная единица развертывания (1+ контейнеров с общими ресурсами).
  4. Deployments: декларативно управляют репликами подов.
  5. Services: обеспечивают сетевой доступ к подам.

Пример Deployment:

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

K8s сам восстанавливает поды при падении, балансирует нагрузку и масштабирует приложения.