Vydání Cozystack 1.4, otevřené PaaS platformy založené na Kubernetes

K dispozici je vydání volné PaaS platformy Cozystack 1.4, postavené na bázi Kubernetes. Projekt je zaměřen na poskytování hotové platformy pro poskytovatele hostingu a rámce pro budování soukromých a veřejných cloudů. Platforma se instaluje přímo na servery a pokrývá všechny aspekty přípravy infrastruktury pro poskytování spravovaných služeb. Cozystack umožňuje spouštět a poskytovat Kubernetes clustery, databáze a virtuální stroje. Kód platformy je dostupný na GitHubu a je šířen pod licencí Apache-2.0.

Platforma zahrnuje volnou implementaci síťové infrastruktury (fabric) na bázi Kube-OVN a používá Cilium pro organizaci servisní sítě, MetalLB pro oznámení služeb ven. Úložiště je realizováno na LINSTOR, kde je nabízena možnost využití ZFS jako základní vrstvy pro úložiště a DRBD pro replikaci. Je k dispozici předkonfigurovaný monitorovací stack založený na VictoriaMetrics a Grafana. Pro spuštění virtuálních strojů se používá technologie KubeVirt, která umožňuje spouštět klasické virtuální stroje přímo v kontejnerech Kubernetes a již má všechny potřebné integrace s Cluster API pro spuštění spravovaných Kubernetes clusterů uvnitř "železného" Kubernetes clusteru. V rámci platformy lze jedním kliknutím nasazovat Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics a další služby.

Hlavní novinky v Cozystack 1.4.0:

  • Bylo představeno nové rozhraní pro správu, založené na projektu cozystack-ui. Starý stack openapi-ui a BFF byl nahrazen frontendem na React 19 a TypeScript, který pracuje přímo s Kubernetes API. Kromě toho se v rozhraní objevila podpora dynamických VNC WebSocket URL pro virtuální stroje, runtime branding přes ConfigMap, čtení ApplicationDefinition pro katalog aplikací a přesměrování starých adres \/openapi-ui\*.
  • Pro worker uzly tenantských clusterů bylo realizováno permanentní úložiště. Virtuální stroje worker uzlů nyní používají PVC disky přes KubeVirt dataVolumeTemplates místo emptyDisk. Díky tomu se kubelet certifikáty, kubeconfig a stav containerd uchovávají po restartu virtuálního stroje. Pole ephemeralStorage bylo přejmenováno na diskSize, přidána konfigurace storageClass na úrovni NodeGroup. Během migrace se staré hodnoty automaticky transformují.
  • Byla přidána nová schéma předvoleb zdrojů analogicky k typům virtuálních strojů u cloudových poskytovatelů. Předvolby jsou popsány ve formátu ., kde série t1, c1, s1, u1 a m1 určují různá poměry CPU a paměti, zatímco velikosti se pohybují od nano do 4xlarge. Celkem je k dispozici 40 variant. Staré názvy předvoleb byly zachovány jako zastaralé aliasy a automaticky migrovány bez změny skutečných limitů CPU a paměti.
  • Byl rozšířen systém deklarativního zálohování spravovaných aplikací. Kontroler backupstrategy dostal strategie pro PostgreSQL, MariaDB, ClickHouse a FoundationDB. Podporovány jsou BackupClass, Plan, BackupJob a RestoreJob, plánované i jednorázové zálohy, obnovení na místě a obnovení do kopie. Data se ukládají do S3-kompatibilního objektového úložiště a přihlašovací údaje se předávají přes Kubernetes Secret.
  • Byl přidán volitelný systémový balíček hami s HAMi 2.8.1 pro sdílený přístup k NVIDIA GPU v tenantských clusterech. Uživatelské workloady mohou požadovat zdroje nvidia.com/gpu, nvidia.com/gpumem a nvidia.com/gpucores, což umožňuje rozdělování vGPU mezi více podi. Aktivace se provádí pomocí parametru hami.enabled a vyžaduje NVIDIA GPU Operator.
  • Objevila se jednotná konfigurace publishing.proxyProtocol pro aktivaci PROXY protokolu na hostech s ingress-nginx. Při jejím aktivaci se automaticky nasazuje Ouroboros, který odstraňuje problém hairpin-NAT pro žádosti z clustera k jeho veřejným názvům. Pro tenantské clustry je určeno rozšíření addons.ouroboros.enabled.
  • Do cozystack-operator byly přidány nastavení generace HelmRelease: interval, retry interval, install timeout, upgrade timeout a max history. Strategie opakování byla převedena na RetryOnFailure, a pro jednotlivé aplikace lze nastavit timeout prostřednictvím anotace release.cozystack.io/helm-install-timeout. To odstraňuje řadu problémů při studeném spuštění tenantských clusterů.
  • Pro pracovní uzly tenantského Kubernetes se automaticky počítá vyrovnání zdrojů kubelet pro CPU a paměť. Anotace cluster-autoscaler nyní odrážejí přidělené zdroje, nikoli celkový objem CPU a paměti.
  • Byly aktualizovány základní komponenty platformy: Talos 1.13.0, cert-manager 1.20.2, Cilium 1.19.3, NVIDIA GPU Operator 26.3.1, etcd-operator 0.4.3, KubeVirt 1.8.2, cozy-proxy 0.3.0, linstor-csi 1.10.6. Byly přidány nové balíčky HAMi 2.8.1 a Ouroboros 0.7.2.
  • Byla vylepšena diagnostika: cozyreport nyní shromažďuje informace o Flux, cert-manageru, hostitelském prostředí, Application, ApplicationDefinition a Tenant zdrojích, a také vytváří summary.txt se stručným přehledem aktuálních problémů. Přidány byly Grafana dashboardy a pravidla shromažďování dat pro monitorování GPU.
  • Byly opraveny chyby v MongoDB, Kafka, tenant Kubernetes bootstrap, etcd, Velero, Kamaji, LINSTOR, SeaweedFS, Harbor, objectstorage-controller, API a dalších komponentách. V API byla odstraněna IDOR zranitelnost v obsluhách TenantNamespace Get a Watch.

Při aktualizaci je třeba mít na paměti, že workery uzly tenantních clusterů budou jednou postupně vyměněny kvůli přechodu na trvalé PVC disky. Virtuální stroje KubeVirt spuštěné před aktualizací platformy budou vyžadovat studený restart po přechodu na KubeVirt 1.8.2, protože živá migrace starých virt-launcher procesů může končit chybou kvůli změně verze QEMU. Kromě toho jsou nyní parametry PostgreSQL typované a kontrolovány podle denylistu, a cert-manager 1.20 ve výchozím nastavení spouští kontejnery s UID/GID 65532.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster