Опубликован выпуск свободной PaaS-платформы Cozystack 0.8.0, построенной на базе Kubernetes. Проект нацелен на предоставление готовой платформы для хостинг-провайдеров и фреймворка для построения частных и публичных облаков. Платформа устанавливается напрямую на серверы и охватывает все аспекты подготовки инфраструктуры для предоставления управляемых сервисов. Cozystack позволяет запускать и предоставлять кластеры Kubernetes, базы данных и виртуальные машины. Код платформы доступен на GitHub и распространяется под лицензией Apache-2.0.
В качестве базового стека технологий используется Talos Linux и Flux CD. Образы с системой, ядром и необходимыми модулями формируются заранее, и обновляются атомарно, что позволяет обойтись без таких компонентов как dkms и пакетный менеджер, и гарантировать стабильную работу. Предоставляется простой метод установки в пустом дата-центре с помощью PXE и debian-подобного установщика talos-bootstrap.
Платформа включает свободную реализацию сетевой фабрики на базе Kube-OVN, и использует Cilium для организации сервисной сети, MetalLB для анонса сервисов наружу. Хранилище реализовано на LINSTOR, где предлагается использование ZFS в качестве базового слоя для хранилища и DRBD для репликации. Имеется преднастроенный стек мониторинга на базе VictoriaMetrics и Grafana. Для запуска виртуальных машин используется технология KubeVirt, которая позволяет запускать классические виртуальные машины прямо в контейнерах Kubernetes и уже имеет все необходимые интеграции с Cluster API для запуска управляемых Kubernetes-кластеров внутри “железного” Kubernetes-кластера.
В новой версии:
- FluxCD обновлён до версии 2.3. Полностью переработана логика установки FluxCD, а community helm-чарт заменён на официальный fluxcd-оператор.
- Добавлена поддержка управляемых (managed) расширений для пользовательских кластеров: теперь в них одним кликом в GUI можно устанавливать ingress-nginx, cert-manager и FluxCD.
- Добавлена возможность маршрутизировать трафик на пользовательские Kubernetes-кластеры через основной ingress-контроллер.
- Добавлены e2e-тесты.
- Для PostgreSQL реализована возможность включать синхронную репликацию на основе кворума.
- Добавлена базовая поддержка архитектуры ARM для набора distro-hosted.
- Улучшения в DX: добавлен kustomize-обработчик, так что теперь make apply / make diff моделирует операцию “apply”, как если бы она была сделана через FluxCD, и показывает только актуальные изменения.
- Включённый в состав платформы Etcd-оператор обновлён до версии 0.3.0:
- Добавлена поддержка ARM.
- Проработана архитектура оператора, отрисован flow chart, внесено изменение, улучшающее проверку статуса.
- Улучшена работа с хранилищем: режим автоупаковки теперь включён по умолчанию, добавлена логика для автоматического вычисления quota-backend-bytes, которое теперь устанавливается автоматически до 95% от размера PVC (по умолчанию etcd ничего не знает о размере хранилища, а новая функция включает автоматические настройки хранилища по умолчанию).