Wydanie Cozystack 0.33, otwartej platformy PaaS opartej na Kubernetes.

Dostępna jest wersja platformy PaaS Cozystack 0.33, zbudowanej na bazie Kubernetes. Projekt ma na celu dostarczenie gotowej platformy dla dostawców hostingu oraz frameworku do budowania prywatnych i publicznych chmur. Platforma jest instalowana bezpośrednio na serwerach i obejmuje wszystkie aspekty przygotowania infrastruktury do świadczenia zarządzanych usług. Cozystack umożliwia uruchamianie i oferowanie klastrów Kubernetes, baz danych i maszyn wirtualnych. Kod platformy jest dostępny na GitHub i jest rozpowszechniany na licencji Apache-2.0.

Jako podstawowy stos technologii stosowane jest Talos Linux i Flux CD. Obrazy z systemem, jądrem i niezbędnymi modułami są wcześniej tworzone i aktualizowane atomowo, co pozwala na obejście się bez takich komponentów jak dkms i menedżer pakietów, oraz gwarantuje stabilną pracę. Umożliwiony jest prosty proces instalacji w pustym centrum danych za pomocą PXE oraz instalatora debianopodobnego talos-bootstrap. W ramach platformy można w łatwy sposób uruchomić Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics i inne usługi.

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ł nowe wersje 0.31, 0.32 i 0.33. Wśród zmian w tych wydaniach znajdują się:

  • Ujednolicone zarządzanie alokacją zasobów CPU i pamięci. Dodano wspólne zmienne konfiguracyjne cpu-allocation-ratio i memory-allocation-ratio do ograniczania zasobów CPU i zużycia pamięci w maszynach wirtualnych zarządzanych przez KubeVirt. Zmienne są stosowane do wszystkich zarządzanych aplikacji i limitów zasobów tenantów. Ustawienia wstępne również biorą pod uwagę współczynniki alokacji zasobów i zachowują się jak jawne definicje zasobów. Podczas aktualizacji z wcześniejszych wersji Cozystack konfiguracja zasobów w zarządzanych aplikacjach jest automatycznie konwertowana na nowy format.
  • Dodano funkcję tworzenia kopii zapasowych PVC w klastrach Kubernetes tenantów, która pozwala administratorom zarówno całej platformy, jak i poszczególnych tenantów na tworzenie kopii zapasowych oraz przywracanie danych usług uruchomionych w klastrach. Do tworzenia kopii zapasowych wykorzystano projekt Velero, a sama system wymaga zewnętrznego magazynu zgodnego z S3.
  • Zrealizowano wsparcie dla użycia wspólnych magazynów NFS z nowym opcjonalnym modułem systemowym.
  • Dodano możliwość konfiguracji dostępnych gniazd CPU dla maszyn wirtualnych przez parametr resources.cpu.sockets, co pozwala na przypisywanie konkretnych gniazd do maszyn wirtualnych.
  • Dodano wsparcie dla użycia wstępnie załadowanych obrazów golden dla maszyn wirtualnych, co przyspiesza przygotowanie dzięki odniesieniom do istniejących obrazów zamiast pobierania przez HTTP.
  • Zrealizowano opcję exposeMethod dla Ingress-NGINX w klastrach tenantów, która pozwala na wybór między Proxied a LoadBalancer.
  • Poprawiono wsparcie dla aplikacji Java: parametry «heap» są teraz obliczane na podstawie zapotrzebowania i limitów pamięci.
  • Standardowy menedżer pakietów został zastąpiony — zamiast Helma używana jest nowa utilita cozypkg (opakowanie wokół Helma i Flux do lokalnego rozwoju).
  • Dodano synchronizator HelmRelease dla komponentów systemowych, zapewniający automatyczną kontrolę kluczowych zmian konfiguracji w celu terminowego aktualizowania aplikacji systemowych.
  • Dodano wsparcie dla registry mirror w tenantowych klastrach Kubernetes, konfiguracyjny containerd dla tenantowych klastrów.
  • Wdrożono jednolitą klasyfikację podrzędnych obiektów aplikacji do monitorowania przez WorkloadMonitors.
  • Dodano opcję cluster-domain do nadpisania domeny cozy.local.
  • Dodano zasady RBAC do przekierowania portów w KubeVirt (SSH przez virtctl).
  • Włączono zbieranie zdarzeń i logów audytowych.
  • Zrealizowano tworzenie kopii zapasowych/przywracanie PostgreSQL.
  • Dodano nowe narzędzie cozyreport i zapewniono zbieranie raportów w CI. Teraz wszystkie informacje diagnostyczne są zapisywane jako artefakty budowlane.
  • Zaktualizowane komponenty: 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.
  • Umożliwiono instalację Talos w środowiskach Air Gap.
  • Dodano wsparcie dla GPU w tenantowych klastrach Kubernetes. Użytkownicy platformy mogą uruchamiać obciążenia GPU zarówno w wirtualnych maszynach, jak i w klastrach Kubernetes.
  • Zapewniono beta wsparcie dla architektury ARM (budowanie międzyarchitektoniczne). System budowy został przekształcony w celu wsparcia wieloarchitektonicznych plików binarnych i obrazów kontenerowych.
  • Rozszerzono VerticalPodAutoscaler (VPA), który został włączony dla większej liczby komponentów Cozystack i pozwala na automatyczną regulację zasobów. W szczególności, VPA został dodany dla control plane tenantowych klastrów, panelu sterowania Cozystack i etcd-operator. Wszystkie komponenty Cozystack z włączonym VPA mogą automatycznie dostosowywać swoje żądania CPU i pamięci na podstawie ich wykorzystania, co zwiększa stabilność.
  • Dodano wsparcie dla Gateway API w Cilium, umożliwiające korzystanie z zaawansowanych funkcji routingu L4/L7 przez Kubernetes Gateway API.
  • Umożliwiono dodawanie własnych parametrów w konfiguracjach Cilium dla tenantowych klastrów.
  • W kontrolerze Tenant HelmRelease Reconcile zapewniono rozprzestrzenienie zmian konfiguracji na obciążenia tenantów (gwarantuje, że każdy HelmRelease zdefiniowany w tenant jest synchronizowany z aktualizacjami platformy).
  • Dodano możliwość konfiguracji współczynnika przydziału CPU w KubeVirt (jak wirtualne CPU są powiązane z fizycznymi) poprzez wartość cpu-allocation-ratio w configmap. Administratorzy mogą ustawiać overcommit CPU dla maszyn wirtualnych, zachowując niezbędną równowagę między wydajnością a gęstością.
  • Zrealizowano eksport maszyn wirtualnych KubeVirt. Funkcja działa za pośrednictwem VirtualMachineExport w KubeVirt i pozwala użytkownikom tworzyć migawki lub kopie zapasowe obrazów maszyn wirtualnych.
  • Zapewniono wsparcie dla różnych klas pamięci masowej (storage classes) dla maszyn wirtualnych. Aplikacja virtual-machine pozwala wybierać dowolny StorageClass dla dysku systemowego maszyny wirtualnej zamiast używać sztywno określonego PVC (zob. wartości systemDisk.storage i systemDisk.storageClass w konfiguracji aplikacji).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster