Версии Kubernetes

В разделе описаны ключевые особенности поддерживаемых сервисом версий Kubernetes.

Версия 1.30

  • Поддержка SuccessPolicy для Job в альфа-тестировании.

    Теперь при создании Indexed Job можно задать параметр .spec.successPolicy для определения, когда Job может быть объявлена успешной.

  • Определение минимального количества доменов в PodTopologySpread объявлено стабильным.

    Теперь пользователь может задать минимальное число доменов, которые должны быть доступны, даже если они отсутствуют во время планирования запуска новых подов. Если необходимо, домены будут автоматически масштабироваться, и Cluster Autoscaler запросит добавление новых узлов в рамках этих доменов.

  • Функция Load balancer IP address mode находится в бета-тестировании и включена по умолчанию.

    Эта функция позволяет устанавливать режим .status.loadBalancer.ingress.ipMode для Service с типом LoadBalancer. Режим определяет, как ведет себя IP-адрес балансировщика нагрузки. Его можно указать только, если также указано поле .status.loadBalancer.ingress.ip.

  • Миграция версий хранилища в альфа-тестировании.

    Теперь доступен новый встроенный API для StorageVersionMigration.

  • Структурированная конфигурация для аутентификации находится в бета-тестировании.

    Функция структурированной конфигурации для аутентификации — первый шаг к предоставлению более гибкого и расширяемого способа настройки аутентификации в Kubernetes.

  • Структурированная конфигурация для авторизации находится в бета-тестировании.

    Теперь Kubernetes позволяет настраивать цепочки авторизации, которые могут включать несколько вебхуков. Элементы авторизации в этой цепочке могут иметь четко определенные параметры, которые проверяют запросы в определенном порядке, предлагая детальный контроль, например явное отклонение при сбоях.

  • Функциональность Pod Scheduling Readiness доступна как стабильная функция.

    Pod Scheduling Readiness позволяет избегать попытки планирования пода, который определен до того, как кластер получит ресурсы для его размещения на узле. Настраиваемый контроль над разрешением планирования пода позволяет реализовывать механизмы квот, элементы управления безопасностью и другие функции.

    Указав или удалив .spec.schedulingGates для kind: Pod, вы можете контролировать, когда под готов к рассмотрению для планирования.

  • Удален deprecated параметр prune-whitelist для kubectl apply.

    Теперь вместо prune-whitelist для kubectl apply используйте prune-allowlist.

См.также

Подробнее о версии 1.30 читайте в официальном блоге Kubernetes.

Версия 1.29

  • Режим доступа ReadWriteOncePod для постоянных томов теперь доступен как стабильная функция.

    Режим ReadWriteOncePod гарантирует, что под будет единственным подом в кластере, который может читать том или записывать в него.

  • Новый параметр matchLabelKeys в PodAffinity и PodAntiAffinity в стадии альфа-тестирования.

    Использование параметра позволит контролировать применимость PodAffinity или PodAntiAffinity для подов и повысить точность вычислений во время скользящих обновлений.

  • Поддержка секретов при расширении тома узла в драйверах CSI объявлена стабильной.

    Включение дополнительного поля секретов secretRef в запрос nodeExpandVolume позволяет безопасно и надежно взаимодействовать с системами хранения при расширении тома на узле.

  • Поддержка очистки устаревших токенов сервисных аккаунтов на основе секретов в стадии бета-тестирования.

    LegacyServiceAccountTokenCleanUp помечает устаревшие автоматически сгенерированные секретные токены как недействительные, если они не использовались в течение длительного времени — по умолчанию один год.

    Если такие токены не используются еще длительное время после маркировки — по умолчанию один год, они автоматически удаляются.

  • Шифрование KMS v2 доступно как стабильная функция.

    Шифрование сохраняемых данных API в состоянии покоя — одна из мер безопасности кластера Kubernetes. Для этой цели KMS предлагает интерфейс, позволяющий использовать ключи из внешней системы управления ключами.

    KMS v2 обеспечивает производительность, ротацию ключей, мониторинг состояния и наблюдаемость.

    Рекомендуется использовать KMS v2, KMS v1 по умолчанию отключен.

  • Управление жизненным циклом узла и метками (taints) разделено на два контроллера.

    NodeLifecycleController теперь отвечает за добавление меток (taints) к аварийным узлам, в то время как TaintManager выполняет удаление подов с узлов, помеченных эффектом NoExecute.

  • Функциональность CRD Validation Expression Language объявлена стабильной.

    Теперь, кроме вебхуков, для описания правил можно использовать скриптовый язык CEL.

См.также

Подробнее о версии 1.29 читайте в официальном блоге 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.

Evolution