Что нового в Kubernetes v1.22? — CloudSavvy ИТ

Рисунок с логотипом Kubernetes

Kubernetes v1.22 — это новая функция, которая добавляет более 50 улучшений на платформу оркестровки контейнеров. Он также не рекомендует некоторые возможности и удаляет несколько API, которые были заменены заменяющими версиями.

Вот краткое описание наиболее значительных изменений, начиная с добавления функций.

Применить на стороне сервера

Серверная программа Apply сейчас вышла из стадии бета-тестирования и общедоступна для всех пользователей. Это новый механизм, упрощающий декларативное управление ресурсами. пользователями и контроллерами кластера.

Использование серверного приложения Apply позволяет разработчикам инициировать изменения ресурсов, описывая свои намерения. Сервер Kubernetes API отслеживает изменения объектов для каждого поля отдельно. Этот Система «полевого менеджмента» создает модель владения, в которой изменения в поле, добавленном другим менеджером, автоматически отклоняются. Это предотвращает непреднамеренное отмена операции, запущенной другим администратором.

Перед применением на стороне сервера логика для определения полей ресурсов, нуждающихся в обновлении, была частью клиентской команды kubectl apply. Теперь это повышено до сервера, что упрощает контроллерам применение собственных изменений конфигурации и облегчает новые возможности управления доступом. Записываются изменения отдельных полей, а не только последнее состояние, примененное каждым пользователем.

Прирост ресурсов новое свойство managedFields когда активен серверный Применить с управлением полями. Он записывает каждое поле, связанные с ним данные и время последнего обновления. Редактирование ManagedFields вручную возможно, но не рекомендуется; предполагается, что эти значения будет записывать только сервер API Kubernetes.

Управление полями включает поддержку разрешения конфликтов и четыре различных стратегии слияния. Они позволяют вам настроить, что происходит, когда вы пытаетесь редактировать поле, которое уже было изменено другим пользователем. При необходимости вы можете принудительно применить изменения, передав право собственности новому пользователю.

Внешние поставщики учетных данных

Внешние поставщики учетных данных также перешли на стабильную работу. Они позволяют использовать плагины для получения учетных данных, таких как токены аутентификации и сертификаты TLS, извне вашего кластера.

Эта функция позволяет интегрировать контроль доступа Kubernetes с существующими поставщиками аутентификации. Провайдеры могут аутентифицировать вас с помощью систем OAuth2, LDAP и SAML, поэтому вы можете войти в систему, используя существующие учетные данные для популярных сервисов.

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

Запуск без рута

Среды с высоким уровнем безопасности могут получить повышенную защиту, запустив плоскость управления Kubernetes от имени пользователя без полномочий root. Это альфа-функция, доступная для новых развертываний кластера. Это помогает снизить риски успешного взлома уровня управления, обеспечивая неограниченный доступ к вашему хосту.

Для запуска кластера от имени пользователя без полномочий root необходимо включить RootlessControlPlane. ворота функций. После этого плоскость управления должна запуститься без использования sudo.

Аналогичная поддержка выполняется для запуска отдельных компонентов уровня узла в среде без полномочий root. Kubelet, kube-proxy и среда выполнения контейнера теперь есть эта способность, помогая повысить безопасность вашей установки.

Удаление API

В качестве нового второстепенного выпуска v1.22 осуждает некоторые существующие возможности в различных компонентах Kubernetes. В основном это команды, флаги и некоторые плагины для аутентификации и хранения. Затронутые функции остаются доступными, но в будущем от них могут отказаться.

v1.22 также полностью удаляет 12 ранее устаревших API. Все удаленные API — это бета-версии, которые были заменены более новыми стабильными альтернативами.

Список включает ресурсы Ingress и IngressClass, используемые для предоставления сервисов с правилами маршрутизации. Версии этих объектов network.k8s.io/v1beta1 следует заменить их аналогами network.k8s.io/v1, которые по-прежнему поддерживаются.

Другие удаленные API включают бета-версии APIService, CertificateSigningRequest, CustomResourceDefinition и Lease, а также несколько объектов, связанных с контролем доступа, хранением и планированием. Обзор руководство по миграции перед применением обновления к вашему кластеру. Вам нужно будет изменить любые ресурсы с помощью удаленных API, чтобы вместо них они ссылались на новые стабильные версии.

Следующим выпуском Kubernetes будет версия 1.25. В настоящее время планируется удалить четыре бета-API: CronJob, EndpointSlice, Event и PodDisruptionBudget.

Прочие изменения

В этом выпуске много других незначительных дополнений и улучшений, включая альфа-поддержку для подкачки памяти, улучшенный опыт при запуске Kubernetes в Windows и возможность использовать cgroups v2 установить распределение памяти и ограничения изоляции на подах.

Etcd, хранилище конфигурации, используемое сервером Kubernetes API, было перенесено на версию 3.5.0. Это улучшает возможности ведения журнала за счет нового структурированного формата и интегрированной ротации файлов. Проект также принес значительные улучшения производительности для ускорения некоторых распространенных операций Kubernetes.

Несколько бета-API сейчас отмечен как стабильный, в том числе связанные токены сервисных аккаунтов и PodDisruptionBudget объект для указания минимального количества одновременных реплик. Kubernetes получил возможность предупреждать вас, когда вы используете устаревший API, что упрощает сохранение стабильного пути. Вы будете видеть эти сообщения, когда будете применять ресурсы к своему кластеру.

Новый выпуск

v1.22 знаменует начало новой регулярной периодичности выпуска обновлений Kubernetes. Функции теперь будут появляться четыре раза в год вместо трех, что создает немного более длительный цикл разработки, который дает больше возможностей для оптимизации и поддержания качества выпуска. Он также предлагает больше пространства для администраторов кластера, у которых теперь есть дополнительный месяц между миграциями.

В соответствии с этим расписанием Kubernetes v1.23 является ожидается прибытие в начале декабря 2021 года. Расчетное время разработки каждого цикла составляет 15 недель. Регулярные обновления патчей по-прежнему будут выпускаться на их существующая ежемесячная частота вращения педалей, с критическими исправлениями ошибок, приземляющимися раньше при необходимости.

Резюме

Kubernetes v1.22 — это важное обновление, в котором проект переходит на новую периодичность выпуска. Это поможет администраторам кластера спланировать будущие обновления, предоставив больше времени на миграцию до следующего.

Что касается новых функций, то, пожалуй, наиболее значительным дополнением является серверное приложение Apply. Это упрощает использование декларативных конфигураций ресурсов, перенося логику из kubectl в ваш кластер. Ожидается, что в конечном итоге это полностью заменит исходную реализацию kubectl apply.

Обновление до версии 1.22 может потребовать действий, если вы все еще используете какой-либо из удаленных бета-API. У вас должна быть возможность заменить их на их стабильные версии, хотя в некоторых случаях это может означать изменение ваших ресурсов. Найдите время, чтобы обратиться к новые устаревания в версии 1.22 поможет вам подготовиться к выходу версии 1.23, облегчая процесс миграции этого выпуска.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован.