Kubernetes 1.6: первый релиз без менеджмента Google и с поддержкой 5000 нод
Вчера вышла новая версия популярной Open Source-платформы для автоматизации деплоя и управления приложениями в контейнерах — Kubernetes 1.6.0.
Kubernetes 1.6 — первый релиз продукта, подготовкой которого руководил представитель компании, отличной от оригинального разработчика системы (Google). Его релиз-менеджером стал Dan Gillespie из CoreOS, которому выражена особая благодарность в официальном анонсе. Ключевым изменением, которое принёс последний релиз Kubernetes, стали улучшения в масштабировании: официально объявлено о поддержке кластеров из 5000 нод (или 150 тысяч подов, т.е. групп контейнеров). Это означает, что такая конфигурация прошла тест на соответствие требованиям SLO (Service Level Objectives), которые гарантируют наличие 99 % ответов от всех запросов к API менее чем за 1 секунду и запуск 99 % подов и их контейнеров в течение 5 секунд. Среди других изменений в Kubernetes 1.6.0:
- консольная утилита kubefed для объединения кластеров получила статус бета-версии и автоматическую конфигурацию kube-dns;
- управление доступом на основе ролей (Role-Based Access Control, RBAC) тоже переведено в статус бета-версии, получило новые политики по умолчанию и возможности;
- улучшения в планировании позволяют ограничивать поды указанными нодами в гетерогенных кластерах (с помощью возможности node affinity/anti-affinity, также получившей статус бета-версии) и запускать свои планировщики вдобавок к стандартному от Kubernetes (или вместо него);
- StorageClass и dynamic volume provisioning объявлены стабильными, «закрывая задачу автоматизации создания и удаления хранилищ по запросу и устраняя необходимость предварительной подготовки (pre-provision)»;
- расширено число поддерживаемых хранилищ: добавлены плагины для ScaleIO и Portworx, заявлена поддержка NFSv3, NFSv4 и GlusterFS на кластерах с образом для ноды COS (Container-Optimized OS), а также поддержка пользовательских динамических PV provisioners (с примерами реализации на языке Go) и бета-версия поддержки опций монтирования для постоянных томов;
- доступна бета-версия Docker-CRI (по умолчанию включена в kubelet) и альфа-версии для других сред исполнения: cri-o, frakti, rkt;
- для новых кластеров по умолчанию используется etcd v3;
- альфа-версия для ряда новых возможностей включая поддержку нескольких Nvidia GPU для Docker runtime.
Разработкой Kubernetes занимается Open Source-сообщество при поддержке некоммерческой организации CNCF (Cloud Native Computing Foundation). Исходный код Kubernetes 1.6 опубликован на GitHub. Для начала работы с этой системой рекомендуется ознакомиться с готовыми tutorials (на английском языке).
Дмитрий Шурупов по материалам Kubernetes Blog.