Kubernetes (сокращенно K8s) — это открытая платформа для автоматизации развертывания, масштабирования и управления контейнеризированными приложениями. По сути, это операционная система для облачных сред, которая берет на себя рутинные задачи по управлению контейнерами.
Основные возможности и задачи
Главная ценность Kubernetes в том, что он делает управление сложными системами из множества контейнеров простым и автоматизированным. С его помощью можно:
- Автоматизировать развертывание и откаты: Kubernetes может поэтапно развертывать новые версии приложения, отслеживая их работоспособность. Если что-то пойдет не так, он автоматически откатит изменения к предыдущей стабильной версии.
- Самостоятельно восстанавливаться: Платформа отслеживает состояние контейнеров и автоматически перезапускает упавшие, заменяет неработающие экземпляры и «лечит» себя на уровне узлов.
- Управлять нагрузкой и обнаружением сервисов: Kubernetes присваивает контейнерам собственные IP-адреса и единое DNS-имя для группы контейнеров. Это позволяет балансировать трафик между ними без изменения кода самого приложения.
- Автоматически масштабироваться: Вы можете легко увеличивать или уменьшать количество экземпляров приложения (как вручную, так и автоматически, например, на основе нагрузки на процессор).
- Оркестровать хранилище: Kubernetes позволяет автоматически подключать к контейнерам системы хранения данных: от локальных дисков до сетевых хранилищ и решений от облачных провайдеров.