Перейти к содержимому

Kubernetes

Kubernetes (K8s) — open-source платформа оркестрации контейнерных рабочих нагрузок. Через декларативный API описывают желаемое состояние, а контроллеры поддерживают запуск, распределение и восстановление ресурсов.

Проект распространяется под Apache License 2.0. Можно эксплуатировать собственный кластер или managed Kubernetes облачного провайдера.

  • Pods и Deployments для stateless-нагрузок;
  • Services и Ingress для сетевого доступа;
  • StatefulSets и PersistentVolumeClaims для stateful-нагрузок;
  • ConfigMaps и Secrets для конфигурации;
  • probes, resource requests/limits и rollout strategies;
  • Horizontal Pod Autoscaler и scheduling;
  • Helm, OpenTelemetry и GitOps-контроллеры вроде Argo CD.

Kubernetes добавляет сложность сети, хранения, RBAC, обновлений и диагностики. Для типового небольшого сайта он часто избыточен. Несколько реплик приложения с локальными файлами требуют внешнего или ReadWriteMany-хранилища; PersistentVolumeClaim сам по себе не решает архитектуру общих данных. Secret в манифесте — не универсальный менеджер секретов.

Оправдан для нескольких сервисов, команд с платформенной компетенцией, потребности в декларативном rollout и масштабировании. Для одного приложения проще Docker Compose или PaaS; для управления желаемым состоянием из Git добавляют Argo CD.