На прошлой неделе запуск новой версии платформа оркестровки контейнеров Кубернетес 1.18, версия, которая включает 38 изменений и улучшений, из которых 15 находятся в стабильном состоянии, а 11 - в бета-состоянии, в дополнение к Предлагается 12 новых изменений в альфа-состоянии. При подготовке новой версии равные усилия были направлены как на усовершенствование различных функций, так и на стабилизацию экспериментальных возможностей, а также на внедрение новых разработок.
Тем, кто не знаком с Kubernetes, следует знать, что это установка оркестровки контейнеров что позволяет управлять кластером изолированных контейнеров коллективно и предоставляют механизмы для развертывания, обслуживания и масштабирования приложений, работающих в контейнерах.
В рамках проекта изначально был создан Google, но позже перенесен на отдельную платформу, куратор Linux Foundation. Платформа позиционируется как универсальное решение, разработанное сообществом, не привязанное к отдельным системам и способное работать с любым приложением в любой облачной среде. Код Kubernetes написан на Go и распространяется под лицензией Apache 2.0.
Что нового в Kubernetes 1.18?
Эта новая версия Kubernetes поставляется с различными улучшениями для Kubectl, из которых в объявлении упоминается, что добавлена альфа-версия команды "kubectl debug", что упрощает отладку в модулях при запуске контейнеров с инструментами отладки.
Пока команда "Kubectl diff" признан стабильным, который позволяет увидеть, что изменится в кластере, если вы примените манифест.
также все генераторы команд "kubectl run" удалены, кроме запуска генератора одиночных пакетов, плюс индикатор –Изменен сухой ходв зависимости от его значения (клиент, сервер и нет) тестовое выполнение команды выполняется на стороне клиента или сервера.
Код kubectl выделен в отдельный репозиторий. Это позволило нам отделить kubectl от внутренних зависимостей kubernetes и упростило импорт кода в сторонние проекты.
О изменения сети, отмечается, что поддержка IPv6 сейчас находится в стадии бета-тестирования, Было добавлено клонирование PVC, возможность сетевой блокировки сырых устройств, таких как постоянные диски, поддержка блокировки сырых устройств в CSI, передача информации о диске, запрашивающем подключение диска к контроллеру CSI, а также новое «неизменяемое» поле добавлен в объекты ConfigMap и Secret.
Из других изменений, которые выделяются:
- Возможность использовать устаревшие приложения группы API / v1beta1 и расширения / v1beta1 была окончательно удалена.
- ServerSide Apply обновлен до состояния beta2. Это улучшение позволяет управлять объектом kubectl на сервере API.
- CertificateSigningRequest API объявлен стабильным.
- Поддержка платформы Windows.
- Поддержка узлов Windows продолжает расширяться
- Поддержка CRI-ContainerD
- Реализация RuntimeClass
- CSI прокси
- Перенесенная поддержка была стабильной
- Групповой управляемый сервисный аккаунт
- RunAsUserName
- Topology Manager получил статус бета-версии. Эта функция включает распределение NUMA, которое предотвращает снижение производительности в многопроцессорных системах.
- Бета-статус был получен с помощью функции PodOverhead, которая позволяет указать в RuntimeClass дополнительный объем ресурсов, необходимых для запуска дома.
- Расширенная поддержка огромных страниц, добавлен статус альфа-изоляции в контейнер и поддержка многоуровневых размеров огромных страниц.
- Добавлено поле AppProtocol, в котором вы можете указать, какой протокол использует приложение.
- Переведено в бета-состояние и включено по умолчанию EndpointSlicesAPI, который является более функциональной заменой обычных конечных точек.
- Добавлен объект IngressClass, указывающий имя контроллера ввода, его дополнительные параметры и знак его использования по умолчанию.
- Добавлена возможность указывать в HPA манифест степень агрессивности при изменении количества домов в эксплуатации, то есть при увеличении нагрузки сразу запускается в N раз больше копий.