Компания Google объявила о доступности платформы оркестровки контейнеров Kubernetes 1.0, позволяющей как единым целым управлять кластером Linux-контейнеров, созданных с использованием таких инструментариев как Docker и Rocket. Выпуск 1.0 ознаменовал готовность системы к промышленному применению. Код Kubernetes написан на языке Go и распространяется под лицензией Apache 2.0. Отмечается, что с момента открытия кода Kubernetes в проект внесено более 14 тысяч изменений от 400 разработчиков.
Kubernetes нацелен на решение проблемы с эффективным распределением выполнения контейнеров по узлам кластера в зависимости от изменения нагрузки и потребности в сервисах. Отслеживая состояние серверов, Kubernetes предоставляет средства для развёртывания, мониторинга и репликации контейнеров, упрощая их связывания между собой или с внешними сервисами. Продукт позиционируется как развиваемое сообществом универсальное решение, не привязанное к отдельным решениям и способное работать с любыми приложениями в любых облачных окружениях.
При создании Kubernetes учтён опыт использования изолированных контейнеров в инфраструктуре Google - работа практически всех сервисов Google организована с использованием Linux-контейнеров, еженедельно в Google запускается около двух миллиардов контейнеров (~3300 в секунду). Kubernetes позволяет любому желающему развернуть систему управления инфраструктурой контейнеров, схожую по своим возможностям с инфраструктурой Google.
Основные особенности Kubernetes:
- Предоставление базовых функций для развёртывания и управления инфраструктурой, таких как ведение базы DNS, балансировка нагрузки, проверка работоспособности на уровне приложений, управление аккаунтами;
- Поддержка динамической миграции приложений, для хранения данных которых могут применяться как локальные хранилища, так и сетевые системы, такие как Google Compute Engine, AWS Elastic Block Store и NFS;
- Возможность развёртывания групп контейнеров с выполнением операций обновлений и отмены изменений сразу для всей группы;
- Средства для инспектирования и отладки приложений с поддержкой в CLI- и web-интерфейсах выполнения произвольных команд, перенаправления сетевых портов, сбором логов и мониторингом за потреблением ресурсов.
- Средства для обновления и динамического масштабирования работающего кластера, без его остановки;
- Использование пространств имён для логического разбиения кластера на части с более гранулированным разделением ресурсов. Например, определённые части кластера можно выделить для обслуживания различных приложений или разделить кластер на разделы для тестирования и рабочего выполнения.
- Высокое время отклика на обращение к API, например, перепланирование выполнения контейнера осуществляется менее чем в течение 5 секунд;
- Система протестирована в конфигурациях с тысячами узлов в кластере с сотнями контейнеров на узле.
Для разработки адаптированных для контейнерных технологий приложений и сервисов, рассчитанных на запуск в основанной на Kubernetes инфраструктуре микросерверов с динамическим распределением ресурсов, под эгидой организации Linux Foundation несколько дней назад создана группа Cloud Native Computing Foundation, о совместной работе в которой заявили такие компании, как AT&T, Box, Cisco, CoreOS, Cycle Computing, Docker, eBay, Goldman Sachs, Google, Huawei, IBM, Intel, Joyent, Kismatic, Mesosphere, Red Hat, Switch SUPERNAP, Twitter, Univa, VMware и Weaveworks.
|