открытое программное обеспечение Kubernetes для автоматизации развёртывания, масштабирования контейнеризированных приложений и управления ими.
Оригинальная Kubernetes версия была разработана компанией Google для внутренних нужд, впоследствии система передана под управление Cloud Native Computing Foundation. Используются рядом крупных организаций и интернет-проектов, в частности, инфраструктура фонда Wikimedia Foundation перенесена с самостоятельно разработанного программного обеспечения для организации кластеров на Kubernetes.
Сервисом в Kubernetes называют совокупность логически связанных наборов подов и политик доступа к ним. Например, сервис может соответствовать одному из уровней программного обеспечения, разработанного в соответствии с принципами многоуровневой архитектуры программного обеспечения. Набор подов, соответствующий сервису, получается в результате выполнения селектора соответствующей метки.
Kubernetes обеспечивает функции обнаружения сервисов и маршрутизации по запросу, в частности, система умеет переназначать необходимые для обращения к сервису IP-адрес и доменное имя сервиса различным подам, входящим в его состав. При этом обеспечивается балансировка нагрузки между подами, чьи метки соответствуют сервису в стиле Round robin DNS, а также корректная работа в том случае, если один из узлов кластера вышел из строя и размещённые на нём поды автоматически переместились на другой.
По умолчанию сервис доступен внутри управляемого Kubernetes кластера, например поды бэкенда группируются для обеспечения балансировки нагрузки и в таком виде предоставляются фронтенду, но он может быть настроен и для того, чтобы предоставлять доступ к входящим в его состав подам извне, как к единому фронтенду.
В новой версии Kubernetes 1.20:
- Kubernetes переходит на использование стандарта Container Runtime Interface (CRI). Для запуска контейнеров теперь будет использоваться не Docker, а любая из реализаций стандарта, например containerd. Для большинства пользователей разница не будет заметна - например, любые существующие образы Docker будут работать нормально. Но проблемы могут возникнуть при работе с ограничениями ресурсов, журналированием или взаимодействием с графическими процессорами и специальным оборудованием.
- Входящие запросы к kube-apiserver можно отсортировать по уровням приоритета, чтобы администратор мог указать, какие запросы должны быть удовлетворены в первую очередь.
- Ограничение PID процесса теперь общедоступно. Эта функция гарантирует, что модули не могут исчерпать количество идентификаторов процессов, доступных на хосте Linux, или помешать другим модулям, используя слишком много процессов.