Version 0.33 of the open PaaS platform Cozystack, built on Kubernetes, is now available. The project aims to provide a ready platform for hosting providers and a framework for building private and public clouds. The platform is installed directly on servers and covers all aspects of infrastructure preparation for managed services. Cozystack allows the deployment and management of Kubernetes clusters, databases, and virtual machines. The platform's code is available on GitHub and is distributed under the Apache-2.0 license.
Si një pilon themelor teknologjik përdoret Talos Linux dhe Flux CD. Imazhet me sistemin, bërthamën dhe modulet e nevojshme përgatiten paraprakisht dhe përditësohen në mënyrë atomike, çka lejon shmangien e komponenteve si dkms dhe menaxheri i paketave, dhe garanton funksionimin e qëndrueshëm. Ofron një metodë të thjeshtë instalimi në një qendër të të dhënave të zbrazët me ndihmën e PXE dhe instaluesit talos-bootstrap të ngjashëm me debian. Brenda platformës është e mundur të nisin shërbime të tilla si Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics dhe të tjera me një klik.
Platforma pĂ«rfshin njĂ« implementim tĂ« lirĂ« tĂ« infrastrukturĂ«s rrjetore (fabric) i bazuar nĂ« Kube-OVN, dhe pĂ«rdor Cilium pĂ«r organizimin e rrjetit tĂ« shĂ«rbimeve, MetalLB pĂ«r publikimin e shĂ«rbimeve jashtĂ«. Ruajtja e tĂ« dhĂ«nave Ă«shtĂ« realizuar mbi LINSTOR, ku propozohet pĂ«rdorimi i ZFS si shtresĂ« bazĂ« e storage-it dhe DRBD pĂ«r replikim. ĂshtĂ« i disponueshĂ«m njĂ« stack monitorimi i parapĂ«rgatitur i bazuar nĂ« VictoriaMetrics dhe Grafana. PĂ«r nisjen e makinave virtuale pĂ«rdoret teknologjia KubeVirt, e cila lejon ekzekutimin e makinave virtuale klasike drejtpĂ«rdrejt nĂ« kontejnerĂ«t Kubernetes dhe tashmĂ« ka tĂ« gjitha integrimet e nevojshme me Cluster API pĂ«r nisjen e klasterĂ«ve Kubernetes tĂ« menaxhuar brenda klasterit Kubernetes fizik.
In the past month and a half, the project team has released new versions 0.31, 0.32, and 0.33. Among the changes in these releases are:
- Unified management of CPU and memory allocation. New configuration variables cpu-allocation-ratio and memory-allocation-ratio have been added to limit CPU resources and memory usage in KubeVirt-managed virtual machines. These variables apply to all managed applications and tenant resource quotas. The presets also consider resource allocation ratios and behave like explicit resource definitions. When upgrading from earlier versions of Cozystack, resource configurations in managed applications are automatically converted to the new format.
- A backup function for PVCs in tenant Kubernetes clusters has been added, allowing administrators of both the entire platform and individual tenants to create backups and restore data from services running in the clusters. The Velero project is used for backup, and the system requires external S3-compatible storage.
- Support for using shared NFS storage with a new optional system module has been implemented.
- The ability to configure available CPU sockets for virtual machines via the resources.cpu.sockets parameter has been added, allowing specific sockets to be assigned to virtual machines.
- Support for using preloaded golden images for virtual machines has been added, speeding up preparation by referencing existing images instead of loading over HTTP.
- The exposeMethod option for Ingress-NGINX in tenant clusters has been implemented, allowing selection between Proxied and LoadBalancer.
- Improved support for Java applications: the 'heap' parameters are now calculated based on requests and memory limits.
- Menaxheri standard i paketave është zëvendësuar - në vend të Helm tani përdoret utilitarja e re cozypkg (një mbështetje për Helm dhe Flux për zhvillimin lokal).
- Shtuar një sinkronizues HelmRelease për komponentët sistemorë, duke siguruar kontroll automatik të ndryshimeve kyçe të konfigurimeve për përditësimin e duhur të aplikacioneve sistemore.
- Shtuar mbështetje për mirror registry në klasterët Kubernetes të tenantit, duke konfiguruar containerd për klasterët e tenantëve.
- Implementuar një markim të vetëm për objektet fëmijë të aplikacioneve për monitorim përmes WorkloadMonitors.
- Shtuar opsioni cluster-domain për të tejkaluar domenin cozy.local.
- Shtuar rregullat RBAC për kalimin e porteve në KubeVirt (SSH nëpërmjet virtctl).
- Aktivizuar mbledhja e ngjarjeve dhe audit-logs.
- Implementuar backup/rivendosje për PostgreSQL.
- Shtuar një mjet të ri cozyreport dhe siguruar mbledhjen e raporteve në CI. Tani e gjithë informacioni diagnostik ruhet si artefakte ndërtimi.
- Përditësuar komponentët: 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.
- Në dispozicion mundësia e instalimit të Talos në ambiente Air Gap.
- Shtuar mbështetje për GPU për klasterët Kubernetes të tenantit. Përdoruesit e platformës mund të ekzekutojnë workload-e GPU si në makina virtuale ashtu edhe në klasterët Kubernetes.
- Siguruar mbështetje beta për arkitekturën ARM (ndërtim ndër-arkitekturor). Sistemi i ndërtimit është ripunuara për të mbështetur blloqet dhe imazhet e konteinerëve shumë-arkitekturor.
- Zgjatur VerticalPodAutoscaler (VPA), i cili është aktivizuar për më shumë komponentë Cozystack dhe lejon optimizimin automatik të burimeve. Në veçanti, VPA është shtuar për klasterët e tenantëve të planeve kontrolluese. panele kontrolli Cozystack dhe etcd-operator. Të gjithë komponentët e Cozystack me aktivizuar VPA mund të korrigjojnë automatikisht kërkesat e tyre për CPU dhe kujtesë në bazë të përdorimit të tyre, duke rritur stabilitetin.
- Shtuar mbështetje për Gateway API në Cilium, duke lejuar përdorimin e funksioneve të avancuara të ruterimit L4/L7 përmes Kubernetes Gateway API.
- Siguruar mundësinë e shtimit të parametrave të personalizuar në konfigurimet e Cilium për klasterët e tenantëve.
- Në kontrollin e Tenant HelmRelease Reconcile siguruar përhapjen e ndryshimeve të konfigurimit në ngarkesat e punës të tenantëve (siguron që çdo HelmRelease e përcaktuar në tenant të jetë e sinkronizuar me përditësimet e platformës).
- Shto është shtuar mundësia për të konfiguruar coeficientin e alokimit të CPU në KubeVirt (si CPU-të virtuale lidhen me ato fizike) përmes vlerës cpu-allocation-ratio në configmap. Administratorët mund të konfigurojnë overcommit CPU për makinat virtuale, duke mbajtur një ekuilibër të nevojshëm midis performancës dhe densitetit.
- Eksportimi i makinave virtuale KubeVirt është realizuar. Funksioni punon përmes VirtualMachineExport në KubeVirt dhe i lejon përdoruesit të krijojnë snapshot ose kopje rezervë të imazheve të makinave virtuale.
- ĂshtĂ« siguruar mbĂ«shtetje pĂ«r klasa tĂ« ndryshme ruajtjeje (storage classes) pĂ«r makinat virtuale. Aplikimi virtual-machine lejon zgjedhjen e çdo StorageClass pĂ«r diskun sistemik tĂ« makinĂ«s virtuale nĂ« vend tĂ« pĂ«rdorimit tĂ« PVC tĂ« caktuar ngurtĂ«sisht (shih vlerat systemDisk.storage dhe systemDisk.storageClass nĂ« konfigurimin e aplikacionit).
Burimi: opennet.ru
