Kubernetes (часто сокращается как K8s) — это открытая система для автоматизации развертывания, масштабирования и управления приложениями в контейнерах. Первоначально разработанная Google на основе их опыта работы с системой Borg, Kubernetes быстро стала стандартом для оркестрации контейнеров и поддерживается Cloud Native Computing Foundation.
Ключевые возможности Kubernetes:
- Автоматическое развертывание и восстановление приложений: Kubernetes позволяет автоматически развертывать и восстанавливать приложения в соответствии с определенными пользователем параметрами, обеспечивая высокую доступность и надежность.
- Масштабирование: Автоматическое или ручное масштабирование количества контейнеров с приложениями в зависимости от нагрузки и потребностей.
- Управление конфигурациями и секретами: Централизованное управление конфигурациями и секретами, что упрощает настройку приложений и повышает их безопасность.
- Обнаружение сервисов и балансировка нагрузки: Kubernetes может автоматически находить и связывать различные части приложения между собой и балансировать трафик, чтобы обеспечить стабильную работу.
- Поддержка различных сред выполнения: Помимо поддержки Docker, Kubernetes также совместим с другими средами выполнения контейнеров, что обеспечивает гибкость в выборе инструментов.
- Хранение данных: Возможность подключения и автоматического монтирования систем хранения данных от различных поставщиков облачных и локальных решений.
Kubernetes используется для управления масштабными, распределенными системами и облегчает DevOps практики, такие как непрерывная интеграция и непрерывное развертывание (CI/CD), автоматическое тестирование и развертывание. Его поддержка портативности, масштабируемости и конфигурируемости делают K8s востребованным решением для компаний любого размера, стремящихся к эффективной работе с контейнеризированными приложениями в облаке или на собственных серверах.