Opublikowano wersję wolnej platformy PaaS Cozystack 0.20.0, zbudowanej na bazie Kubernetes. Projekt ma na celu dostarczenie gotowej platformy dla dostawców hostingu oraz frameworka 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 GitHubie i jest rozprowadzany 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) 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.
Główne zmiany:
- Kube-OVN zaktualizowany do wersji 0.13.0.
- Ulepszona logika KubeVirt CCM (Cloud Controller Manager), która teraz zapewnia bardziej stabilne load balancery dla tenant-Kubernetes.
- Rozwiązano problemy z uprawnieniami użytkowników w OIDC.
- Dodano grupę dla administratora klastra.
- Naprawiono alerty i pulpity nawigacyjne w Grafanie.
- NATS zyskał możliwość włączania jetstream i przekazywania konfiguracji.
- Dodano możliwość korzystania z Terraform do interakcji z API platformy.
W poprzedniej wersji Cozystack 0.19 wprowadzono wsparcie OIDC (OpenID Connect), ale z powodu pracy nad stabilizacją bazy kodu ta wersja nie została oddzielnie ogłoszona. Teraz wraz z Cozystack dołączany jest Keycloak, w którym automatycznie konfigurowany jest realm Cozy, w ramach którego można tworzyć lokalnych użytkowników i konfigurować połączenie z zewnętrznymi dostawcami OIDC. Dla każdego tenant'a dostępne są domyślnie 4 grupy, a w aplikacji tenant można automatycznie pobrać wygenerowany plik kubeconfig, który jest skonfigurowany do uwierzytelniania przez Keycloak. Zapewniono możliwość konfigurowania „Keycloak as Code” dzięki wdrożeniu Keycloak Operator. Integracja Keycloak z klastrem K8s i Dashboardem jest automatycznie konfigurowana.
Źródło: opennet.ru
