Wydano wydanie publicznej platformy PaaS Cozystack 0.30.0, opartej na Kubernetes. Projekt ma na celu dostarczenie gotowej platformy dla dostawców usług hostingowych oraz ram dla tworzenia prywatnych i publicznych chmur. Platforma instalowana jest bezpośrednio na serwerach i obejmuje wszystkie aspekty przygotowania infrastruktury do świadczenia zarządzanych usług. Cozystack umożliwia uruchamianie i udostępnianie klastrów Kubernetes, baz danych oraz maszyn wirtualnych. Kod platformy jest dostępny na GitHubie i jest dystrybuowany na licencji Apache-2.0.
Jako podstawowy stos technologii używany jest Talos Linux i Flux CD. Obrazy systemu, jądra i niezbędnych modułów są wstępnie formowane i aktualizowane atomowo, co pozwala uniknąć takich komponentów jak dkms i menedżer pakietów, a tym samym gwarantuje stabilną pracę. Oferowany jest prosty sposób instalacji w pustym centrum danych za pomocą PXE i instalatora podobnego do debiana talos-bootstrap.
Platforma zawiera wolne wdrożenie infrastruktury sieciowej (fabric) opartej na Kube-OVN, i wykorzystuje Cilium do organizacji sieci usługowej, MetalLB do ogłaszania usług na zewnątrz. Przechowywanie realizowane jest na LINSTOR, gdzie proponowane jest wykorzystanie ZFS jako bazowej warstwy dla przechowywania oraz DRBD do replikacji. Dostępny jest wstępnie skonfigurowany stos monitorowania oparty na VictoriaMetrics i Grafana. Do uruchamiania maszyn wirtualnych używana jest technologia KubeVirt, która pozwala na uruchamianie tradycyjnych maszyn wirtualnych bezpośrednio w kontenerach Kubernetes i już ma wszystkie niezbędne integracje z Cluster API do uruchamiania zarządzanych klastrów Kubernetes wewnątrz „fizycznego” klastra Kubernetes.
W ciągu ostatnich półtora miesiąca zespół projektu wydał siedem nowych wersji: 0.24-0.30. Wśród zmian w tych wydaniach:
- Stabilizacja platformy do użycia w konfiguracjach multi-DC. Wykonano dużą pracę nad konfiguracją etcd, Cilium, Kube-OVN, Linstor oraz innych komponentów.
- Wzmocnienie i poprawa stosu observability. Dodano dashboardy dla wielu komponentów oraz zoptymalizowano ustawienia Grafana, co przyspieszyło jej działanie.
- Wydanie dodatkowego narzędzia cozy-proxy, które umożliwia wydawanie adresy IP maszyn wirtualnych w K8s.
- Pojawienie się Vertical Pod Autoscaler. VPA automatycznie ustawia limity na zasoby, które może zużywać aplikacja. Limity określane są na podstawie historycznych metryk.
- Refaktoryzacja i dodanie nowych sekcji do dokumentacji.
- Przeniesienie repozytorium platformy i dodatkowych narzędzi z organizacji aenix-io do organizacji cozystack po przekazaniu projektu do CNCF Sandbox.
- Cozystack 0.30: Wprowadzono GPU-operator oraz dodano wsparcie dla GPU w maszynach wirtualnych. Wsparcie GPU umożliwia wykorzystanie platformy do uruchamiania zadań związanych z uczeniem maszynowym.
- Cozystack 0.29: Przeprowadzono prace mające na celu zwiększenie stabilności i niezawodności platformy. Usunięto podatność CVE-2025-1974 w ingress-nginx. Dodano zestaw presetów, ograniczających zużycie zasobów. Wdrożono automatyczne odnawianie certyfikatów. Dodano zaporę hosta Cilium. Wprowadzono proces uruchamiania testów e2e w GitHub CI.
- Cozystack 0.28: Wprowadzenie Vertical Pod Autoscaler, który automatycznie ustala limity zasobów dostępne dla różnych aplikacji. Domyślnie włączona izolacja tenantów. Odpowiedzialność za walidację source-ip przeniesiona z Cilium do Kube-OVN.
- Cozystack 0.27: Zaproponowano zestaw skryptów linstor plunger do automatycznego naprawiania błędów w LINSTOR (np. DRBD lost connection, zawieszone urządzenie loop itp.). Dodano możliwość rozkładu replik PostgreSQL na różne węzły. Pojawiły się pulpity do monitorowania ClickHouse i Piraeus.
- Cozystack 0.26: Zwiększono stabilność pracy w konfiguracjach multi-DC. Dodano monitorowanie łączności sieciowej. Dodano możliwość ograniczania zasobów dla poszczególnych tenantów w klastrze. Wprowadzono narzędzie Goldpinger do monitorowania opóźnień między centrami danych. Domyślnie włączono migrację na żywo maszyn wirtualnych. Umożliwiono tworzenie zrzutów migawkowych woluminów LINSTOR.
- Cozystack 0.25: Dodano pomocnicze narzędzie cozy-proxy, które pozwala przypisywać adresy IP maszynom wirtualnym — nie poszczególne porty, lecz cały adres. W Cozystack maszyny wirtualne opierają się na KubeVirt i są zarządzane podobnie jak pody. Kubernetes nie przewiduje przydzielania podom całych adresów IP. cozy-proxy rozwiązuje ten problem, co jest ważne na przykład dla klientów usługodawców, których aplikacje działają w maszynach wirtualnych i potrzebują oddzielnego adresu IP. Ulepszono monitorowanie etcd, Flux, Kafka i dodano odpowiednie pulpity.
- Cozystack 0.24: Wprowadzono możliwość wdrażania przez PXE, aby automatycznie ładować Talos Linux na węzły. Do pakietu dodano smee (serwer dhcp+pxe) z zestawu Tinkerbell. Darkhttp zastąpiono własnym rozwiązaniem cozystack-assets-server. Do obrazu Grafana wbudowano wtyczki, aby Grafana uruchamiała się szybciej.
Źródło: opennet.ru
