Wydanie Cozystack 0.37, otwartej platformy PaaS opartej na Kubernetes

Dostępna jest wersja platformy PaaS Cozystack 0.37, zbudowanej na bazie Kubernetes. Projekt ma na celu dostarczenie gotowej platformy dla dostawców hostingu oraz ram do budowy 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 dostarczanie klastrów Kubernetes, baz danych oraz 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) zbudowane na Kube-OVN, wykorzystuje Cilium do organizacji sieci usług, MetalLB do ogłaszania usług na zewnątrz. Przechowywanie realizowane jest na LINSTOR, gdzie oferowane jest wykorzystanie ZFS jako warstwy bazowej dla pamięci masowej i DRBD do replikacji. Istnieje wstępnie skonfigurowany stos monitorowania na bazie VictoriaMetrics i Grafana. Do uruchomienia maszyn wirtualnych wykorzystywana jest technologia KubeVirt, która pozwala na uruchamianie klasycznych maszyn wirtualnych bezpośrednio w kontenerach Kubernetes i już posiada wszystkie niezbędne integracje z Cluster API do uruchamiania zarządzanych klastrów Kubernetes w ramach „żelaznego” klastra Kubernetes.

W ciągu ostatnich półtora miesiąca zespół projektu wydał nowe wersje 0.36 i 0.37. Wśród zmian w tych wydaniach:

  • Interfejs użytkownika został napisany od podstaw. Jako baza wykorzystano projekt openapi-ui.
    Wydanie Cozystack 0.37, otwartej platformy PaaS opartej na Kubernetes
  • W interfejsie pojawił się selector klastra. Obecnie dashboard działa w trybie jednego klastra (po jednym dashboardzie na klaster). W przyszłości ten sam interfejs będzie wykorzystywany w trybie wieloklastrowym.
  • Na ekranie klastra teraz od razu widoczne są wszystkie dostępne przestrzenie nazw. Lista jest tworzona przez agregujący interfejs Kubernetes (tenant namespace), dlatego pokazane są tylko te przestrzenie, do których jest dostęp.
  • Tworzenie zasobów odbywa się teraz za pomocą formularzy automatycznie generowanych z Kubernetes OpenAPI. Komentarze z YAML nie są potrzebne: pola i walidacja są pobierane bezpośrednio ze specyfikacji.
  • Specyfikacja nowych aplikacji jest tworzona z helm chartów przy użyciu generatora cozy-values, a wprowadzone pola w formularzu są synchronizowane z końcowym YAML.
  • Moduły zarządzania tenantami przeniosły się do sekcji administracji: można tu tworzyć subtenanty oraz ustawiać dla nich specyficzne moduły/aplikacje (dostęp zależy od roli i uprawnień użytkownika).
  • Planowane jest dodanie zakładki z konsolą VNC dla maszyn wirtualnych. Dla niektórych typów zasobów zostaną dodane specjalne zakładki/pola (na przykład dla KubeVirt-VM).
  • Stabilizowany jest mechanizm zarządzania zasobami dla tenantów Cozystack. Administratorzy platformy mogą teraz ustalać wyraźne limity CPU, pamięci i przestrzeni dyskowej dla każdego namespace tenant-a w specyfikacji tenanta. W ten sposób żaden z tenantów nie może 'zjeść' wszystkiego, pozostawiając inne tenanta bez zasobów.
  • Dodano komponent Kube-OVN Plunger do ciągłego monitorowania stanu centralnego klastra zarządzającego siecią Kube-OVN. Zewnętrzny agent gromadzi status klastra OVN oraz informacje o konsensusie, pokazuje metryki Prometheus oraz strumień zdarzeń przez SSE (Server-Sent Events).
  • Dodatek CoreDNS jest teraz wdrażany przez helm chart i konfigurowany w specyfikacji klastra (automatyczne skalowanie, liczba replik, adres IP usługi itp.). CoreDNS można konfigurować zarówno w dashboardzie, jak i przez API Cozystack.
  • Przechowalnia S3 na bazie SeaweedFS stała się bardziej elastyczna na poziomie komponentów. Helm chart pozwala na niezależne konfigurowanie każdego komponentu i jego zasobów: węzłów master, serwerów volume (z obsługą wielu stref), bazy danych i bramy S3. Administratorzy mogą ustalać dla każdego komponentu liczbę replik, limity CPU/pamięci oraz wolumen przechowywania.
  • Zintegrowano FS SeaweedFS 3.97 z obsługą szyfrowania serwerowego pojemników S3 (SSE-C, SSE-KMS, SSE-S3). Podczas aktualizacji Cozystack zaktualizowana zostanie wersja SeaweedFS, a specyfikacja usług automatycznie przekształcona do nowego formatu.
  • Kontroler NGINX jest teraz konfigurowany na poziomie każdej repliki: można ustalać limity/limity CPU i pamięci bezpośrednio lub wybierać jeden z gotowych presetów.
  • Jeśli wirtualnej maszynie przypisany jest zewnętrzny adres IP, zawsze jest on używany do ruchu egress, niezależnie od metody przypisania tego IP.

Ź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