- tocdepth
2
Версии Kubernetes
В разделе описаны ключевые особенности поддерживаемых сервисом версий Kubernetes.
Версия 1.28
Функциональность Non-Graceful Node Shutdown объявлена стабильной.
Non-Graceful Node Shutdown разрешает StatefulSet перезапускаться на другом узле, если исходный узел неожиданно отключается или оказывается в невосстанавливаемом состоянии, например из-за аппаратного сбоя или не отвечающей операционной системы.
Команда
kubectl events
общедоступна.Команда
kubectl events
расширяет возможностиkubectl get events
. Теперь можно фильтровать события по типу, изменять порядок сортировки и получать события за указанный временной промежуток.Функциональность Validating Admission Policy перешла в стадию бета-тестирования.
Можно настраивать Admission-политики для проверки запросов к серверу Kubernetes API в процессе работы в качестве альтернативы вебхукам. Для описания правил Validating Admission Policy используются CEL-выражения.
Возможность задавать match condition для Validating Admission Policy перешла в стадию бета-тестирования.
Если правила,
objectSelectors
иnamespaceSelectors
не обеспечивают нужную фильтрацию вValidatingAdmissionPolicy
, можно определитьmatchCondition
.В
matchCondition
указываются CEL-выражения. Для оцениваемого ресурса всеmatchCondition
должны быть выполнены.Автоматическое и ретроактивное назначение StorageClass по умолчанию для PVC общедоступно.
Вы можете создать PersistentVolumeClaim без указания
storageClassName
, Kubernetes автоматически назначит StorageClass, установленный по умолчанию.Если StorageClass по умолчанию не установлен, новый PVC будет создан так, как вы его определили. При этом
storageClassName
этого PVC останется неустановленным до тех пор, пока не будет определено значение по умолчанию.Когда StorageClass по умолчанию становится доступным, плоскость управления идентифицирует любые существующие PVC без
storageClassName
и обновляет эти PVC, чтобы установитьstorageClassName
в соответствии с новым StorageClass по умолчанию.Поддержка внедрения Container Device Interface в контейнеры в стадии альфа-тестирования.
Новая возможность позволяет разработчикам плагинов использовать поле CDIDevices, добавленное в Container Runtime Interface в версии 1.27, для передачи устройств Container Device Interface непосредственно в среды выполнения с поддержкой CDI.
Объявлены устаревшими in-tree-плагины томов CephFS и RBD.
Теперь вместо in-tree-плагинов томов CephFS и RBD необходимо использовать драйвер CephFS CSI и драйвер RBD CSI соответственно.
См.также
Подробнее о версии 1.28 читайте в официальном блоге Kubernetes.
Версия 1.27
Функциональность SeccompDefault объявлена стабильной.
Чтобы использовать профиль seccomp по умолчанию, необходимо запустить kubelet с включенной опцией
--seccomp-default
для каждого узла, где вы хотите его применить. В этом случае kubelet по умолчанию будет использовать профиль seccomp RuntimeDefault, который определяется средой выполнения контейнера, вместо режима Unconfined.Режим доступа ReadWriteOncePod для постоянных томов доступен в бета-тестировании.
ReadWriteOncePod позволяет ограничить доступ к томам одним подом в кластере. В этом случае в определенный момент времени только один под может выполнять запись на том.
Функциональность применения меток SELinux к томам, используемым подами, переходит в бета-версию.
Эта функция ускоряет запуск контейнера за счет монтирования томов с правильной меткой SELinux вместо рекурсивного изменения каждого файла на томах.
Поддержка gRPC для Liveness, Readiness и Startup probes.
Теперь не нужно использовать сторонние инструменты, например grpc_health_probe, для проверки состояния контейнеров.
Функциональность Pod Scheduling Readiness в стадии бета-тестирования.
После создания поды готовы к планированию. Планировщик Kubernetes начинает искать узлы для размещения всех ожидающих подов.
В это время некоторые поды могут долго находиться в состоянии miss-essential-resources. Это перегружает планировщик и компоненты типа Cluster Autoscaler.
Указав или удалив параметр
.spec.scheduling
для пода, можно контролировать, когда под будет готов к рассмотрению для планирования.Доступ к логам узлов через Kubernetes API в стадии альфа-тестирования.
Новая функция Node log query позволяет просматривать логи служб, работающих на узле.
Чтобы использовать Node log query, убедитесь, что на узле включена опция NodeLogQuery, а для параметров конфигурации kubelet
EnableSystemLogHandler
иEnableSystemLogQuery
установлено значение true.Новая аннотация
kubectl.kubernetes.io/default-container
для настройки контейнера по умолчанию.Настройка упрощает использование таких инструментов, как kubectl logs или kubectl exec на подах с sidecar-контейнерами.
Прекращена поддержка устаревших аннотаций seccomp.
См.также
Подробнее о версии 1.27 читайте в официальном блоге Kubernetes.
Версия 1.26
Функциональность CPU Manager объявлена стабильной.
CPU Manager является частью kubelet и предоставляет возможность распределять рабочую нагрузку, выделяя необходимые CPU для контейнеров определенного пода.
Новая опция Pod Scheduling Gate доступна для альфа-тестирования.
Когда под только создан, планировщик будет пытаться найти подходящий узел для развертывания. Поиск продолжается, пока узел не найден или под не удален.
Под не всегда сразу готов к развертыванию на узлах. Процесс поиска зацикливается и потребляет дополнительные ресурсы. Чтобы избежать этого, теперь Scheduling Gate проинформирует планировщик, когда под готов для развертывания на узлах.
Функциональность Windows HostProcess Containers объявлена стабильной.
Теперь у Windows HostProcess-контейнеров такие же возможности, как и у privileged-контейнеров Linux.
Функциональность Dynamic resource allocation (DRA) в стадии альфа.
Dynamic resource allocation — это API для запроса и совместного использования ресурсов между подами и контейнерами внутри подов. Такие ресурсы могут создаваться на основе пользовательских параметров, подключаться по сети, инициализироваться несколько раз в разных подах или распределяться между несколькими контейнерами или подами.
Новый компонент Health Service Level Indicators доступен для альфа-тестирования.
Улучшение предоставляет возможность отправлять данные Service Level Indicators (SLI) в структурированном виде и последовательно. Агенты мониторинга могут использовать данные с более высокими интервалами очистки и создавать Service Level Objectives (SLO) и сообщения на основе этих SLI.
OpenStack in-tree storage integration (Cinder volumes) и драйвер GlusterFS in-tree storage удалены.
Прекращена поддержка Container Runtime Interface (CRI) v1alpha2.
Теперь kubelet не зарегистрирует узел, если среда выполнения контейнера не поддерживает CRI v1.
См.также
Подробнее о версии 1.26 читайте в официальном блоге Kubernetes.
для Dev & Test