|
Доступен выпуск свободной PaaS-платформы Cozystack 0.40, построенной на базе Kubernetes. Проект нацелен на предоставление готовой платформы для хостинг-провайдеров и фреймворка для построения частных и публичных облаков. Платформа устанавливается напрямую на серверы и охватывает все аспекты подготовки инфраструктуры для предоставления управляемых сервисов. Cozystack позволяет запускать и предоставлять кластеры Kubernetes, базы данных и виртуальные машины. Код платформы доступен на GitHub и распространяется под лицензией Apache-2.0.
В качестве базового стека технологий используется Talos Linux и Flux CD. Образы с системой, ядром и необходимыми модулями формируются заранее, и обновляются атомарно, что позволяет обойтись без таких компонентов как dkms и пакетный менеджер, и гарантировать стабильную работу. Предоставляется простой метод установки в пустом дата-центре с помощью PXE и debian-подобного установщика talos-bootstrap. В рамках платформы можно по клику разворачивать Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics и другие сервисы.
Платформа включает свободную реализацию сетевой инфраструктуры (fabric) на базе Kube-OVN, и использует Cilium для организации сервисной сети, MetalLB для анонса сервисов наружу. Хранилище реализовано на LINSTOR, где предлагается использование ZFS в качестве базового слоя для хранилища и DRBD для репликации. Имеется преднастроенный стек мониторинга на базе VictoriaMetrics и Grafana. Для запуска виртуальных машин используется технология KubeVirt, которая позволяет запускать классические виртуальные машины прямо в контейнерах Kubernetes и уже имеет все необходимые интеграции с Cluster API для запуска управляемых Kubernetes-кластеров внутри "железного" Kubernetes-кластера.
В новом выпуске:
- Добавлен планировщик LINSTOR для оптимального размещения pod-ов.
Собственный "scheduler extender" для Kubernetes работает совместно со стандартным планировщиком Kubernetes и помогает оптимально размещать pod-ы на узлах с хранилищем LINSTOR. Когда pod запрашивает том LINSTOR, планировщик узнает у контроллера LINSTOR, на каких узлах есть локальные реплики нужных томов. Приоритет отдаётся узлам, где данные уже присутствуют, что минимизирует сетевой трафик и повышает I/O-производительность. Дополнительно реализован admission-вебхук, который автоматически направляет pod-ы, использующие CSI-тома LINSTOR, на собственный планировщик, обеспечивая бесшовную интеграцию без ручной настройки.
- Хранилище SeaweedFS
SeaweedFS обновлено до версии 4.05, в которой проведена оптимизация S3-трафика (traffic locality): запросы теперь уходят на ближайшие серверы, что сокращает задержки и ускоряет работу хранилища. Также появился новый admin-компонент с веб-интерфейсом и поддержкой авторизации, и worker-ы для выполнения распределённых задач. В Grafana добавлены продвинутые дашборды, позволяющие следить за bucket-ами, вызовами API и производительностью. Добавлена поддержка TLS-сертификатов для компонентов admin и worker.
- Механизм valuesFrom из FluxCD заменил lookup-функции в Helm-чартах. Такое архитектурное улучшение обеспечивает более чистую передачу параметров и устраняет необходимость в контроллерах принудительной синхронизации (reconciliation). Конфигурация из ConfigMaps и ссылок на сервисы теперь централизованно управляется через ключ cozystack-values в каждом пространстве имён.
- В компонента для интеграции с LINSTOR реализована поддержка функции auto-diskful, переводящей бездисковые (diskless) узлы в дисковые (diskful), если те удерживают ресурсы DRBD в состоянии Primary более 30 минут.
- Внедрены системы автоматического управления версиями для PostgreSQL, Kubernetes, MariaDB и Redis, которые отслеживают обновления в апстрим-репозиториях и предоставляют механизмы автоматического обновления версий.
Дополнение: Следом опубликован выпуск Cozystack 0.41, содержащий следующие изменения:
- Предоставлена возможность развёртывания пригодных для рабочих нагрузок окружений с MongoDB через каталог приложений. Сервис предоставляет ключевые возможности, такие как автоматическая конфигурация ReplicaSet для обеспечения высокой доступности, бесшовная интеграция с бэкэндами хранилища Cozystack для гарантии сохранения данных, полный контроль над распределением ресурсов (конфигурируемые CPU, память и хранилище) и нативная интеграция мониторинга. Развернуть MongoDB можно через дашборд Cozystack или с использованием стандартного процесса развёртывания.
- Бэкпортированы важные патчи для piraeus-server, направленные на решение проблем стабильности хранилища и улучшение обработки ресурсов DRBD.
- Переработана логика валидации ReadWriteMany (RWX) для узлов в LINSTOR CSI. Валидация была перенесена на уровень CSI-драйвера, используя собственный образ linstor-csi. Повышена надёжность работы с томами RWX, а ошибки стали более понятными.
- Увеличено значение по умолчанию для пресета ресурсов kube-apiserver.
- Повышен порог "startup probe" для kube-apiserver, что предоставляет дополнительное время для подготовки, особенно в ситуациях с медленным хранилищем или высокой нагрузкой.
- Увеличены пороги "probe" для etcd, что даёт больше времени на операции восстановления.
- Устранены ошибки при создании томов из-за некорректной валидации ReadWriteMany (RWX). Исправлены проблемы в обработке resourceVersion и bookmark Watch API, приводившие к некорректной синхронизации API-клиентов. Налажено отображение IP-адреса балансировщика нагрузки в представлении сервисов дашборда.
- Cilium CNI обновлен до версии v1.18.6 - включены последние улучшения безопасности и производительности; Talos Linux обновлён до версии v1.11.6 с патчами безопасности.
- Добавлено руководство по клонированию виртуальных машин и работе с ними. Упрощена инструкция по установке NFS-драйвера. Обновлена последовательность установки для [https://cozystack.io/docs/install/providers/hetzner/#11-install-boot-to-talos-in-rescue-mode Hetzner]] и Servers.com. Добавлена информация о настройке публичных IP для Hetzner RobotLB.
|