Релиз Cozystack 0.20, открытой PaaS-платформы на базе Kubernetes

Опубликован выпуск свободной PaaS-платформы Cozystack 0.20.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-кластера.

Основные изменения:

  • Kube-OVN обновлён до версии 0.13.0.
  • Улучшена логика KubeVirt CCM (Cloud Controller Manager), теперь платформа предоставляет более стабильные балансировщики для tenant-Kubernetes.
  • Решены проблемы с правами пользователей в OIDC.
  • Добавлена группа для администратора кластера.
  • Исправлены алерты и dashboard-ы в Grafana.
  • NATS получил возможность включать jetstream и передавать конфигурацию.
  • Добавлена возможность использовать Terraform для взаимодействия с API платформы.

В предыдущем релизе Cozystack 0.19 была реализована поддержка OIDC (OpenID Connect), но из-за работы по стабилизации кодовой базы данный выпуск отдельной не анонсировался. Теперь вместе с Cozystack поставляется Keycloak, в котором автоматически настраивается realm Cozy, внутри которого можно создавать локальных пользователей и настраивать связь с внешними OIDC-провайдерами.

Для каждого tenant предоставляется 4 группы по умолчанию, а в приложении tenant можно автоматически скачать сгенерированный kubeconfig-файл, который настроен на аутентификацию через Keycloak. Предоставлена возможность конфигурировать «Keycloak as Code» за счёт внедрения Keycloak Operator. Интеграция Keycloak с K8s-кластером и Dashboard настраивается автоматически.

Источник: http://www.opennet.ru/opennews/art.shtml?num=62392