Cozystack 0.37-in buraxılışı, Kubernetes əsaslı açıq PaaS platforması artıq mövcuddur. Layihənin məqsədi hosting provayderləri üçün mükəmməl bir platforma təqdim etmək və özəl və ictimai buludlar qurmaq üçün bir çərçivə təmin etməkdir. Platforma birbaşa serverlərə quraşdırılır və idarə olunan xidmətlər təklif etmək üçün infrastrukturu hazırlamanın bütün aspektlərini əhatə edir. Cozystack, Kubernetes klasterləri, verilənlər bazaları və virtual maşınlar işə salmağa və təqdim etməyə imkan verir. Platformanın kodu GitHub-da mövcuddur və Apache-2.0 lisenziyası altında paylanır.
Əsas texnologiya yığını olaraq Talos Linux və Flux CD istifadə olunur. Sistem, nüvə və lazım olan modullarla görüntülər əvvəlcədən hazırlanır və atomik şəkildə yenilənir ki, bu da dkms və paket meneceri kimi komponentlərdən istifadə etməyə ehtiyac olmadan sabit fəaliyyət təmin edir. Boş data mərkəzində PXE və debian-tipli talos-bootstrap quraşdırıcıdan istifadə edərək quraşdırma üçün sadə bir metod təqdim edilir. Platforma daxilində Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics və digər xidmətlər yalnız bir kliklə yayımlana bilər.
Platforma sərbəst icrası daxil edir şəbəkə infrastrukturunu (fabric) Kube-OVN əsasında, xidmət şəbəkəsini təşkil etmək üçün Cilium istifadə edir, xidmətləri xaricdə elan etmək üçün MetalLB-dən istifadə olunur. Saxlama LINSTOR-da həyata keçirilir, burada saxlanma üçün əsas qat kimi ZFS və replikasiya üçün DRBD istifadəsi təklif olunur. VictoriaMetrics və Grafana əsasında əvvəlcədən qurulmuş monitorinq yığını mövcuddur. İcra üçün virtual maşınlar KubeVirt texnologiyası istifadə olunur ki, bu da klassik virtual maşınların Kubernetes konteynerləri içərisində birbaşa icra edilməsinə imkan tanıyır və artıq ‘dəmir’ Kubernetes klasteri daxilində idarə olunan Kubernetes klasterlərinin işə salınması üçün bütün zəruri inteqrasiyalara malikdir.
Son altı həftə ərzində layihə komandası 0.36 və 0.37 yeni versiyalarını buraxdı. Bu buraxılışlarda olan dəyişikliklər:
- İstifadəçi interfeysi sıfırdan yenidən yazıldı. Əsas olaraq openapi-ui layihəsindən istifadə olundu.

- İnterfeysdə klaster seçici göründü. İndi panel bir klaster rejimində fəaliyyət göstərir (hər klaster üçün bir panel). Gələcəkdə bu eyni interfeys çox-klaster rejimi üçün istifadə olunacaq.
- Klaster ekranında indi mövcud olan bütün ad təyinatları dərhal görünməyə başlayır. Siyahı Kubernetes-in agregasiya təbəqesi (tenant namespace) vasitəsilə formalaşır, buna görə yalnız giriş imkanı olan ad təyinatları göstərilir.
- Resursların yaradılması indi Kubernetes OpenAPI-dən avtomatik yaradılmış formalar vasitəsilə həyata keçirilir. YAML-dən gələn izahlar tələb olunmur: sahələr və validation birbaşa spesifikasiyalardan götürülür.
- Yeni tətbiqlərin spesifikasiyası Helm çartlarından cozy-values generator vasitəsilə formalaşır, forma daxilindəki sahələr sinxron olaraq yekun YAML-da əks olunur.
- Tenant-ları idarə edən modullar inzibati bölməyə keçdi: burada sub-tenantlar yaratmaq və spesifik modullar/applikasiyalar qoymaq mümkündür (giriş hüququ istifadəçinin rolu və hüquqlarından asılıdır).
- Virtual maşınlar üçün VNC konsolu olan bir sekmenin əlavə olunması planlaşdırılır. Bəzi resurs növləri üçün xüsusi sekmələr/fillər əlavə ediləcək (məsələn, KubeVirt-VM-lər üçün).
- Cozystack tenant-ları üçün resurs idarəetməsi mexanizmi stabilləşdirildi. Platforma adminləri artıq hər tenant-namespace spesifikasiyasında hər tenant üçün aydın CPU, yaddaş və saxlama limitləri təyin edə bilərlər. Beləliklə, heç bir tenant "hər şeyi" götürə bilməz, digər tenant-ları resurssuz qoyar.
- Kube-OVN Plunger komponenti, Kube-OVN şəbəkəsinin mərkəzi idarəetmə klasterinin vəziyyətini davamlı izləmə üçün əlavə edildi. Xarici agent OVN klasterinin vəziyyətini və konsensus məlumatını toplayır, Prometheus metrikalarını və SSE (Server-Sent Events) vasitəsilə hadisə axını göstərir.
- CoreDNS əlavəsi indi Helm chart vasitəsilə yerləşdirilir və klaster spesifikasiyasında (avtomatik ölçülmə, replikaların sayı, xidməti IP və s.) konfiqurasiya edilir. CoreDNS-i həm paneldə, həm də Cozystack API vasitəsilə konfiqurasiya etmək mümkündür.
- SeaweedFS bazasında S3 saxlama daha çevik komponent səviyyəsində oldu. Helm chart hər bir komponenti və onun resurslarını müstəqil olaraq konfiqurasiya etməyə imkan verir: master düyünləri, volume serverləri (bir neçə zonanı dəstəklədi), verilənlər bazası və S3 qapısı. Administratorlar hər bir komponent üçün replikaların sayını, CPU/yaddaş limitlərini və saxlama həcmini müəyyən edə bilərlər.
- SeaweedFS 3.97 fayl sistemi S3 bucket-larının server tərəfindən şifrələnməsi (SSE-C, SSE-KMS, SSE-S3) dəstəyi ilə birləşdirilmişdir. Cozystack yeniləndikdə, SeaweedFS-in versiyası yenilənəcək və xidmət spesifikasiyası avtomatik olaraq yeni formata çevriləcək.
- NGINX kontrolleri indi hər bir replikada konfiqurasiya edilə bilər: CPU və yaddaş limitlərini birbaşa təyin etmək və ya hazır şablonlardan birini seçmək mümkündür.
- Bir virtual maşına xarici IP təyin edildikdə, bu IP egress trafik üçün həmişə istifadə olunur, bu IP-nin təyin edilmə metodu asılı olmayaraq.
Mənbə: opennet.ru

