Достъпен е релизът на платформата за оркестрация на контейнери Kubernetes 1.24, която позволява да се управлява кластър от изолирани контейнери като едно цяло и предлага механизми за разгръщане, поддръжка и мащабиране на приложенията, работещи в контейнерите. Проектът първоначално е създаден от компания Google, но по-късно е прехвърлен на независима платформа, ръководена от организацията Linux Foundation. Платформата е позиционирана като универсално решение, развивано от общността, което не е обвързано със специфични системи и може да работи с всякакви приложения в различни облачни среди. Кодът на Kubernetes е написан на езика Go и е разпространен под лиценз Apache 2.0.
Предоставят се функции за разгръщане и управление на инфраструктурата, като поддръжка на база данни DNS, балансировка на натоварването, разпределение на контейнери по възли на клъстера (миграция на контейнери в зависимост от промените в натоварването и нуждите от услуги), проверка на работоспособността на ниво приложения, управление на акаунти, обновление и динамично мащабиране на работещия кластер без спиране. Възможно е разгръщане на групи контейнери с операции по обновление и отмяна на промените едновременно за цялата група, както и логично разделяне на клъстера на части с разделение на ресурсите. Поддържа се динамична миграция на приложения, за които могат да се използват както локални хранилища, така и мрежови системи за съхранение.
Ключови промени в новото издание:
- Стабилизирани са средствата за проследяване на капацитета на хранилището (Storage Capacity Tracking), които осигуряват мониторинг на наличното място в разделите и предават данни на управляващия възел, за да се предотврати стартирането на подове на възли, на които няма достатъчно свободно място.
- Стабилизирана е възможността за разширяване на разделите на хранилището. Потребителят може да промени размера на вече съществуващи раздели и Kubernetes автоматично ще разшири раздела и свързаната с него файлова система без спиране на работата.
- Завършено е доставката на runtime Dockershim, който беше представен като временно решение за използване на Docker в Kubernetes, не е съвместим с интерфейса CRI (container runtime interface) и води до допълнително усложнение на kubelet. За управление на изолирани контейнери трябва да се използва runtime, който поддържа интерфейса CRI, като containerd и CRI-O, или да се използва обвивка cri-dockerd, която реализира интерфейса CRI над API Docker Engine.
- Предоставена е експериментална поддръжка за проверка на образите на контейнери по цифрови подписи с помощта на услугата Sigstore, която води публичен лог за потвърждаване на автентичността (transparency log). За предотвратяване на атаки в веригата за доставки и подмяна на компоненти също е осигурено удостоверяване с цифрови подписи на свързаните с релизите артефакти, включително всички инсталирани изпълними файлове на Kubernetes.
- По подразбиране в клъстери е спряно включването на API, които са в състояние бета (добавените в предишни издания тестови API остават, промяната се отнася само за новите API).
- Реализирана е тестова поддръжка на формата OpenAPI v3.
- Представена е инициатива за трансфер на плъгини за работа с хранилища на унифициран интерфейс CSI (Container Storage Interface) с запазване на съвместимост на ниво API. Плъгините Azure Disk и OpenStack Cinder са трансферирани на CSI.
- На етап бета тестване е преместен Kubelet Credential Provider, който позволява динамично извличане на удостоверения за хранилище на образи на контейнери чрез стартиране на плъгини, без съхраняване на удостоверенията в файловата система на възела.
- Предоставена е възможност за резервиране на диапазон от IP адреси за назначаване на услуги. Когато тази опция е включена, кластерът автоматично ще назначава услуги само IP адреси от предварително определен пул за всяка услуга, което позволява да се избегнат колизии при издаване на свободни адреси от общия набор.
Източник: opennet.ru
