Lansarea Cozystack 0.22, platformă PaaS deschisă bazată pe Kubernetes

Este disponibilă lansarea platformei PaaS Cozystack 0.22.0, construită pe baza Kubernetes. Proiectul are ca scop oferirea unei platforme complete pentru furnizorii de servicii de hosting și un cadru pentru construirea de cloud-uri private și publice. Platforma se instalează direct pe servere și acoperă toate aspectele pregătirii infrastructurii pentru furnizarea de servicii gestionate. Cozystack permite lansarea și furnizarea de clustere Kubernetes, baze de date și mașini virtuale. Codul platformei este disponibil pe GitHub și este distribuit sub licența Apache-2.0.

Ca stivă tehnologică de bază, se utilizează Talos Linux și Flux CD. Imaginile cu sistemul, kernelul și modulele necesare sunt generate dinainte și se actualizează atomic, ceea ce permite evitarea componentelor precum dkms și managerul de pachete, garantând o funcționare stabilă. Este oferit o metodă simplă de instalare într-un centru de date gol cu ajutorul PXE și a instalatorului talos-bootstrap asemănător cu Debian.

Platforma include o implementare gratuită a infrastructurii rețelii (fabric) bazat pe Kube-OVN, și utilizează Cilium pentru organizarea rețelei de servicii, MetalLB pentru anunțarea serviciilor către exterior. Stocarea este implementată pe LINSTOR, cu opțiunea de a utiliza ZFS ca strat de bază pentru stocare și DRBD pentru replicare. Există un stack de monitorizare preconfigurat pe baza VictoriaMetrics și Grafana. Pentru lansare mașini virtuale este utilizată tehnologia KubeVirt, care permite rularea mașinilor virtuale clasice direct în containere Kubernetes și care deja are toate integrările necesare cu Cluster API pentru lansarea cluster-elor Kubernetes gestionate în cadrul unui cluster Kubernetes „fizic”.

În noua versiune a fost adăugat cozystack-controller și entități noi: Workload și WorkloadMonitor — care permit monitorizarea stării pod-urilor gestionate de operatori și evaluarea nivelului de serviciu conform unor reguli predefinite. Aplicațiile din Cozystack sunt gestionate de diferiți operatori, motiv pentru care s-a decis crearea unui format unitar pentru afișarea stării fiecărui serviciu.

Cum funcționează: Atunci când se desfășoară o aplicație, se instalează și WorkloadMonitor, care monitorizează starea pod-urilor în funcție de selector. Odată ce un pod se încadrează în selector, se creează o nouă entitate Workload, care reflectă rolul fiecărui pod și starea acestuia. În statusul WorkloadMonitor se poate vedea numărul de replici existente și numărul minim de replici necesar pentru a asigura serviciul. Atunci când sarcina (workload) devine mai mică decât valoarea minReplicas pentru WorkloadMonitor, serviciul este marcat ca fiind nefuncțional (non-operational).

Pentru aplicațiile pentru care nu se poate stabili o valoare exactă pentru minReplicas (de exemplu, worker-ii Kubernetes pot scala automat), există posibilitatea de a nu specifica deloc această valoare în WorkloadMonitor. În acest caz, WorkloadMonitor va număra pur și simplu numărul total de instanțe rulate.

Acest mecanism permite utilizarea oricăror operatori și mecanisme de gestionare a pod-urilor în Kubernetes și extinderea ușoară a platformei, oferind o interfață unică pentru vizualizarea stării curente a serviciului.

WorkloadMonitor pentru colectarea informațiilor despre replici și starea acestora a fost adăugat aplicațiilor Kubernetes, Postgres, Monitoring, VirtualMachine, VMInstance, Redis, etcd și SeaweedFS. Dashboard-ul Cozystack acum afișează numărul de replici pentru fiecare aplicație și nivelul serviciului pentru fiecare grup Workload.

Paleta de culori a fost modificată, oferind o separare mai contrastantă între text și fundal.

  • Clientul și serverul de telemetrie au fost implementate și publicate sub licența Apache 2.0. Colectarea metricilor pentru telemetrie se face conform recomandărilor „Politica de colectare și utilizare a datelor de telemetrie LF” și poate fi dezactivată cu opțiunea „telemetry-enabled: false” în configurația Cozystack. Datele în sine sunt anonime și complet dezintegrate. Pentru următoarele versiuni ale platformei se preconizează crearea unui Dashboard public pe baza datelor de telemetrie.
  • Componenta cluster-autoscaller pentru Kubernetes a fost actualizată, precum și setările sale, care permit scalarea mai eficientă a clusterele, atât în sus, cât și în jos.
  • Fișierul MAINTAINERS a fost actualizat, iar în acesta sunt enumerați participanții care susțin proiectul și domeniile lor de responsabilitate.
  • În Cozystack a fost adăugată aplicația de serviciu builder, care permite construcția platformei direct în Kubernetes.
  • Pentru baza de date VictoriaMetrics a fost adăugată posibilitatea de a specifica parametri proprii și au fost ridicate limitele prestabilite.
  • Pentru Grafana și Alerta a fost implementată colectarea metricilor din baze de date.
  • Au fost adăugate alerte pentru starea mașinilor virtuale și a clusterelor postgres.
  • Pentru KubeVirt a fost configurată colectarea metricilor și a fost adăugat un dashboard Grafana.
  • În configurația Cozystack a fost adăugată opțiunea extra-keycloak-redirect-uri-pentru-dashboard, care permite configurarea redirecționărilor suplimentare pentru Keycloak.
  • În VMInstance a fost corectată o eroare care blocă conectarea VMdisks la mașinile virtuale.
  • Au fost actualizate Flux Operator 0.12.0, Flux Instance chart 0.12.0, Cilium 1.16.5, Kube-OVN 1.13.2, CNPG PostgreSQL Operator 1.25.0, Talos Linux 1.9.1.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster