Доступен выпуск свободной PaaS-платформы Cozystack 0.30.0, построенной на базе Kubernetes. Проект нацелен на предоставление готовой платформы для хостинг-провайдеров и фреймворка для построения частных и публичных облаков. Платформа устанавливается напрямую на серверы и охватывает все аспекты подготовки инфраструктуры для предоставления управляемых сервисов. Cozystack позволяет запускать и предоставлять кластеры Kubernetes, базы данных и виртуальные машины. Код платформы доступен на GitHub и распространяется под лицензией Apache-2.0.
В качестве базового стека технологий используется Talos Linux и Flux CD. Образы с системой, ядром и необходимыми модулями формируются заранее, и обновляются атомарно, что позволяет обойтись без таких компонентов как dkms и пакетный менеджер, и гарантировать стабильную работу. Предоставляется простой метод установки в пустом дата-центре с помощью PXE и debian-подобного установщика talos-bootstrap.
Платформа включает свободную реализацию сетевой инфраструктуры (fabric) на базе Kube-OVN, и использует Cilium для организации сервисной сети, MetalLB для анонса сервисов наружу. Хранилище реализовано на LINSTOR, где предлагается использование ZFS в качестве базового слоя для хранилища и DRBD для репликации. Имеется преднастроенный стек мониторинга на базе VictoriaMetrics и Grafana. Для запуска виртуальных машин используется технология KubeVirt, которая позволяет запускать классические виртуальные машины прямо в контейнерах Kubernetes и уже имеет все необходимые интеграции с Cluster API для запуска управляемых Kubernetes-кластеров внутри "железного" Kubernetes-кластера.
За последние полтора месяца команда проекта выпустила семь новых версий: 0.24-0.30. Среди изменений в данных выпусках:
- Стабилизация платформы для использования в мульти-ЦОД-конфигурациях. Проведена большая работа по настройке etcd, Cilium, Kuve-OVN, Linstor и других компонентов.
- Усиление и улучшение observability-стека. Добавлены дашборды для ряда компонентов и оптимизированы настройки Grafana, которые ускорили её работу.
- Релиз дополнительной утилиты cozy-proxy, позволяющей выдавать IP-адреса виртуальным машинам в K8s.
- Появление Vertical Pod Autoscaler. VPA автоматически выставляет лимиты на ресурсы, которые может потреблять приложение. Лимиты определяются на основе исторических метрик.
- Рефакторинг и добавление новых разделов в документацию.
- Переезд репозитория платформы и вспомогательных утилит из организации aenix-io в организацию cozystack после передачи проекта в CNCF Sandbox.
- Cozystack 0.30: Представлен GPU-operator и добавлена поддержка GPU в виртуальных машинах. Поддержка GPU позволяет использовать платформу для запуска задач, связанных с машинным обучением.
- Cozystack 0.29: Проведена работа по повышению стабильности и надежности платформы. Устранена уязвимость CVE-2025-1974 в ingress-nginx. Добавлен набор пресетов, ограничивающих потребление ресурсов. Реализован автоматический перевыпуск сертификатов. Добавлен Cilium host firewall. Добавлен процесс для запуска e2e-тестов в GitHub CI.
- Cozystack 0.28: Появления Vertical Pod Autoscaler, который автоматически выставляет лимиты на ресурсы, доступные различным приложениям. Включена по умолчанию изоляция tenant-ов. Ответственность за валидацию source-ip передана от Cilium в Kube-OVN.
- Cozystack 0.27: Предложен набор скриптов linstor plunger для автоматического исправления ошибок в LINSTOR (например, DRBD lost connection, зависшее loop-устройство и т.п.). Добавлена возможность распределения реплик PostgreSQL по разным узлам. Появились дашборды для мониторинга ClickHouse и Piraeus.
- Cozystack 0.26: Повышена стабильность при работе в мульти-ДЦ-конфигурациях. Добавлен мониторинг сетевой связности. Добавлена возможность ограничивать ресурсы для отдельных tenant-ов внутри кластера. Добавлен инструмент Goldpinger для мониторинга задержек между дата-центрами. Включена по умолчанию Live-миграция виртуальных машин. Появилась возможность создавать снапшоты томов LINSTOR.
- Cozystack 0.25: Добавлен вспомогательный инструмент cozy-proxy, который позволяет выделять IP-адреса виртуальным машинам - причём не отдельные порты, а адрес целиком. В Cosyastack виртуальные машины базируются на KubeVirt и управляются примерно так же, как и поды. А Kubernetes не предусматривает выделение подам IP-адресов целиком. cozy-proxy эту проблему решает, что важно, например, для клиентов сервис-провайдеров, приложения которых работают в виртуальных машинах и которым необходим отдельный IP-адрес. Улучшен мониторинг etcd, Flux, Kafka и добавлены соответствующие дашборды. У пользователей которые имеют доступ только к отдельным tenant-ам, появилась возможность скачивать kubeconfig.
- Cozystack 0.24: Появилась возможность развёртывания через PXE, чтобы автоматически загружать на узлы Talos Linux. В состав добавлен пакет smee (dhcp+pxe server) из набора Tinkerbell. Darkhttp заменён на собственную разработку cozystack-assets-server. В образ Grafana вшиты плагины, чтобы Grafana запускалась быстрее.
|