Как стать автором
Поиск
Написать публикацию
Обновить
38.31

Cozystack v0.31-0.33: Air Gap, бэкапы System, поддержка GPU в K8s-кластерах, cozypkg вместо helm и другие фичи

Время на прочтение6 мин
Количество просмотров505

Давненько мы не делились обновлениями Cozystack — пришло время это исправить. В этой статье мы пробежимся по самым важным новым фичам и изменениям в документации платформы, а фиксы, доработки и исправления безопасности, которых тоже накопилось немало, можно посмотреть по дополнительным ссылкам на release notes (их мы тоже добавили в текст). И хотя сегодня не 12 апреля, поехали!

Что такое Cozystack

Cozystack — это Open Source-платформа, которая позволяет строить облако на bare metal для быстрого развертывания managed Kubernetes, database as a service, applications as a service и виртуальных машин на базе KubeVirt. В рамках платформы можно по клику разворачивать Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics и другие сервисы. Cozystack — проект CNCF Sandbox.

V0.33: улучшенное управление ресурсами, новая система бэкапов и поддержка NFS

Релиз Cozystack 0.33.0 принес долгожданные бэкапы PVC, поддержку NFS-хранилищ, возможность назначать виртуальным машинам отдельные сокеты с процессорами и обновления в управлении ресурсами.

Главные фичи

Унифицированное управление выделением CPU и памяти. Начиная с версии 0.31.0, мы ввели в Cozystack единую переменную конфигурации cpu-allocation-ratio. Она обеспечивает единообразие запросов и лимитов CPU в виртуальных машинах под управлением KubeVirt. А в релизе 0.33.0 была добавлена переменная memory-allocation-ratio. Обе переменные теперь применяются ко всем управляемым приложениям и квотам ресурсов тенантов.

Предустановки ресурсов также учитывают коэффициенты выделения и ведут себя так же, как явные определения ресурсов. Новый формат определения ресурсов лаконичен и прост:

# resourcePrese
# resource definition in the configuration
resources:
  cpu: <defined cpu value>
  memory: <defined memory value>

Эта запись преобразуется в запросы и лимиты Kubernetes на основе заданных значений и универсальных коэффициентов:

# actual requests and limits, provided to the application
resources:
  limits:
    cpu: <defined cpu value>
    memory: <defined memory value>
  requests:
    cpu: <defined cpu value / cpu-allocation-ratio>
    memory: <defined memory value / memory-allocation-ratio>

При обновлении с более ранних версий Cozystack конфигурация ресурсов в управляемых приложениях автоматически конвертируется в новый формат.

Резервное копирование и восстановление данных в тенантных Kubernetes-кластерах. Одна из ключевых возможностей нового релиза — резервное копирование PVC в тенантных Kubernetes-кластерах. С помощью этой функции администраторы как всей платформы, так и отдельных тенантов могут создавать резервные копии и восстанавливать данные запущенных в кластерах сервисов. Под капотом системы бэкапов — Velero, а сама система требует внешнего S3-совместимого хранилища.

Поддержка NFS-хранилищ. Теперь Cozystack поддерживает использование общих NFS-хранилищ с новым опциональным системным модулем. Подробности см. в документации.

Прочие функции и улучшения:

  • Возможность настройки доступных CPU-сокетов для ВМ через параметр resources.cpu.sockets. Эта функция позволяет назначать ВМ конкретные сокеты.

  • Поддержка использования предзагруженных golden images для ВМ. Она ускоряет подготовку за счет ссылок на существующие образы вместо загрузки по HTTP.

  • Инструкции по резервному копированию и восстановлению данных PostgreSQL в README приложения.

  • Опция exposeMethod для Ingress-NGINX в тенантных кластерах, которая позволяет выбирать Proxied и LoadBalancer.

  • Улучшена поддержка Java-приложений: теперь параметры heap рассчитываются на основе запросов и лимитов памяти.

Все изменения: v0.33.0.

Благодарим всех контрибьюторов за вклад в новый релиз.

v0.32: cozypkg, резервные копии PostgreSQL, удаление жестко заданного cozy.local

В релизе Cozystack v0.32 мы заменили стандартный менеджер пакетов — вместо Helm теперь используется cozypkg — а также добавили возможность выделения vCPU и поддержку registry mirror на уровне тенантов. Кроме того, этот релиз включает в себя множество исправлений и обновлений компонентов (Flux, Cilium).

Главные фичи

Новый инструмент cozypkg. Это «обертка» вокруг Helm и Flux для локальной разработки. Статья о новом инструменте.

Usage:
 cozypkg [command]
Available Commands:
 apply       Upgrade or install the HelmRelease and sync status
 completion  Generate shell‑autocomplete script
 delete      Uninstall the release
 diff        Show live vs desired manifests
 get         Get one or many HelmReleases
 list        List HelmReleases
 reconcile   Trigger Flux reconciliation
 resume      Resume a suspended release
 show        Render manifests (helm template)
 suspend     Suspend a release (Flux stops reconciling)
 version     Print version

Синхронизатор HelmRelease для системных компонентов. Добавляет автоматический контроль ключевых изменений конфигурации для своевременного обновления системных приложений.

Поддержка registry mirror в тенантных Kubernetes-кластерах. Настраивает containerd для тенантных кластеров.

Прочие функции и улучшения:

  • Указание запросов CPU в vCPU.

  • Единая маркировка дочерних объектов приложений для мониторинга через WorkloadMonitors.

  • Опция cluster-domain and отмена захардкоженного cozy.local. Ранее в Cozystack менеджмент-кластер использовал домен cozy.local, в то время как доменом по умолчанию в Kubernetes был cluster.local. Это было не очень удобно и требовало регулярной ручной настройки для работы некоторых приложений, которые ожидали стандартный домен. Теперь по умолчанию используется cluster.local.

  • Добавлены правила RBAC для проброса портов в KubeVirt (SSH через virtctl).

  • Включен сбор событий и аудит-логов.

  • Резервное копирование/восстановление PostgreSQL.

  • Настройка extraArgs для VMAgent.

  • Новый инструмент cozyreport и сбор отчетов в CI. Теперь вся диагностическая информация сохраняется в виде артефактов билда.

Обновления компонентов: cozykpg v1.1.0, flux-operator 0.23.0, Flux 2.6.x, Talos Linux v1.10.3, Cilium 1.17.4, MetalLB 0.15.2, Kube-OVN 1.13.13, cozy-proxy 0.2.0, Kafka Operator 0.45.1-rc1.

Новая документация:

Все изменения: v0.32.0, v0.32.1, v0.32.2

Приветствуем новых контрибьюторов: @kevin880202, @mattia-eleuteri.

v0.31: AI-ворклоады в Kubernetes, поддержка ARM, Air Gap и умное масштабирование

В релизе Cozystack v0.31 появилась нативная поддержка GPU NVIDIA в Kubernetes для ИИ/ML-нагрузок (например, Stable Diffusion), бета-поддержка ARM64, автоматическое масштабирование через VerticalPodAutoscaler и экспорт ВМ KubeVirt, а также новый релизный цикл.

Главные фичи

Установка Talos в Air Gap-окружениях. Новая инструкция в документации Cozystack.

Поддержка GPU для тенантных Kubernetes-кластеров. Пользователи платформы могут запускать GPU-ворклоады как в виртуальных машинах, так и в Kubernetes-кластерах.

Как использовать:

Бета-поддержка ARM (кросс-архитектурная сборка). Система сборки Cozystack была переработана для поддержки мультиархитектурных бинарных файлов и контейнерных образов. Это первый шаг на пути к запуску Cozystack на серверах с архитектурой ARM64.

Расширение VerticalPodAutoscaler (VPA). VerticalPodAutoscaler теперь включен для большего количества компонентов Cozystack и позволяет проводить автоматическую настройку ресурсов. В частности, VPA был добавлен для control plane тенантных кластеров, панели управления Cozystack и etcd-operator. Все компоненты Cozystack с включенным VPA могут автоматически корректировать свои запросы CPU и памяти на основе их использования, что повышает стабильность.

Прочие функции и улучшения

  • Поддержка Gateway API в Cilium позволяет использовать расширенные функции маршрутизации L4/L7 через Kubernetes Gateway API.

  • Возможность добавлять кастомные параметры в конфигурации Cilium для тенантных кластеров.

  • Контроллер Tenant HelmRelease Reconcile распространяет изменения конфигурации на рабочие нагрузки тенантов и гарантирует, что любой HelmRelease, определенный в тенанте, синхронизирован с обновлениями платформы. Эта фича повышает надежность развертывания управляемых приложений в Cozystack.

  • Настраиваемый CPU Overcommit в KubeVirt. Коэффициент выделения CPU в KubeVirt (то, как виртуальные CPU соотносятся с физическими) теперь настраивается через значение cpu-allocation-ratio в configmap Cozystack. Следовательно, администраторы Cozystack смогут настраивать overcommit CPU для виртуальных машин, соблюдая необходимый баланс между производительностью и плотностью.

  • Экспорт виртуальных машин KubeVirt. Cozystack теперь позволяет экспортировать виртуальные машины KubeVirt. Функция работает через VirtualMachineExport в KubeVirt и позволяет пользователям создавать снапшоты или резервные копии образов ВМ.

  • Поддержка различных storage classes для виртуальных машин. Приложение virtual-machine (начиная с версии 0.9.2) позволяет выбирать любой StorageClass для системного диска ВМ вместо использования жёстко заданного PVC. См. значения systemDisk.storage и systemDisk.storageClass в конфигах приложения.

  • Новый релизный цикл Cozystack. Подробнее — в документации.

Все изменения: v0.31.0, v0.31.1, v0.31.2

Приветствуем новых контрибьюторов: @etoshutka, @dtrdnk, @zdenekjanda, @gwynbleidd2106.

Присоединяйтесь к нашему комьюнити

Теги:
Хабы:
+10
Комментарии0

Другие новости

Информация

Сайт
aenix.io
Дата регистрации
Численность
2–10 человек
Местоположение
Чехия
Представитель
Andrei Kvapil