Drugi prototyp platformy ALP zastępujący SUSE Linux Enterprise

Firma SUSE opublikowała drugi prototyp platformy ALP „Punta Baretti” (Adaptable Linux Platform), pozycjonowanej jako kontynuacja rozwoju dystrybucji SUSE Linux Enterprise. Kluczową różnicą między ALP jest podział podstawowej dystrybucji na dwie części: uproszczony „system operacyjny hosta” do działania na sprzęcie oraz warstwę obsługującą aplikacje, przeznaczone do działania w kontenerach i maszynach wirtualnych. Zespoły przygotowane są dla architektury x86_64. ALP jest początkowo rozwijany w otwartym procesie rozwoju, w którym pośrednie kompilacje i wyniki testów są publicznie dostępne dla każdego.

Architektura ALP opiera się na opracowaniu „systemu operacyjnego hosta” środowiska, które jest minimalnie niezbędne do obsługi i zarządzania sprzętem. Proponuje się uruchamianie wszystkich aplikacji i komponentów przestrzeni użytkownika nie w środowisku mieszanym, ale w oddzielnych kontenerach lub maszynach wirtualnych działających na „systemie operacyjnym hosta” i odizolowanych od siebie. Taka organizacja umożliwi użytkownikom skupienie się na aplikacjach i abstrakcyjnych przepływach pracy z dala od podstawowego środowiska systemowego i sprzętu.

Produkt SLE Micro, oparty na rozwinięciach projektu MicroOS, służy jako podstawa „systemu operacyjnego hosta”. Do scentralizowanego zarządzania oferowane są systemy zarządzania konfiguracją Salt (preinstalowane) i Ansible (opcjonalnie). Dostępne są narzędzia Podman i K3s (Kubernetes) do uruchamiania izolowanych kontenerów. Wśród komponentów systemu umieszczonych w kontenerach znajdują się yast2, podman, k3s, kokpit, GDM (GNOME Display Manager) i KVM.

Wśród cech środowiska systemowego wymienia się domyślne wykorzystanie szyfrowania dysku (FDE, Full Disk Encryption) z możliwością przechowywania kluczy w TPM. Partycja główna jest montowana w trybie tylko do odczytu i nie zmienia się podczas pracy. Środowisko korzysta z mechanizmu instalacji aktualizacji atomowej. W przeciwieństwie do aktualizacji atomowych opartych na oprogramowaniu ostree i snap używanych w Fedorze i Ubuntu, ALP wykorzystuje standardowego menedżera pakietów i mechanizm migawek w systemie plików Btrfs zamiast budować oddzielne obrazy atomowe i wdrażać dodatkową infrastrukturę dostarczania.

Dostępny jest konfigurowalny tryb automatycznej instalacji aktualizacji (można na przykład włączyć automatyczną instalację tylko łat dla krytycznych luk lub powrócić do ręcznego potwierdzania instalacji aktualizacji). Obsługiwane są łatki na żywo umożliwiające aktualizację jądra systemu Linux bez ponownego uruchamiania lub zatrzymywania pracy. Aby zachować żywotność systemu (samonaprawę), ostatni stabilny stan jest rejestrowany za pomocą migawek Btrfs (w przypadku wykrycia anomalii po zastosowaniu aktualizacji lub zmianie ustawień, system automatycznie powraca do poprzedniego stanu).

Platforma wykorzystuje wielowersyjny stos oprogramowania – dzięki zastosowaniu kontenerów można jednocześnie korzystać z różnych wersji narzędzi i aplikacji. Można na przykład uruchamiać aplikacje korzystające z różnych wersji języków Python, Java i Node.js jako zależności, oddzielając niezgodne zależności. Zależności podstawowe są dostarczane w postaci zestawów BCI (Base Container Images). Użytkownik może tworzyć, aktualizować i usuwać stosy oprogramowania bez wpływu na inne środowiska.

Główne zmiany w drugim prototypie ALP:

  • Wykorzystywany jest instalator D-Installer, w którym interfejs użytkownika jest oddzielony od wewnętrznych komponentów YaST i możliwe jest wykorzystanie różnych frontendów, w tym frontendu do zarządzania instalacją poprzez interfejs webowy. Podstawowy interfejs do zarządzania instalacją jest zbudowany przy użyciu technologii sieciowych i zawiera moduł obsługi zapewniający dostęp do wywołań D-Bus poprzez HTTP oraz sam interfejs sieciowy. Interfejs sieciowy napisany jest w języku JavaScript przy użyciu frameworku React i komponentów PatternFly. Aby zapewnić bezpieczeństwo, D-Installer obsługuje instalację na zaszyfrowanych partycjach i umożliwia użycie modułu TPM (Trusted Platform Module) do odszyfrowania partycji rozruchowej przy użyciu kluczy przechowywanych w chipie TPM zamiast haseł.
  • Włączono wykonywanie niektórych klientów YaST (bootloader, iSCSIClient, Kdump, firewall itp.) w oddzielnych kontenerach. Zaimplementowano dwa rodzaje kontenerów: kontrolny do pracy z YaST w trybie tekstowym, w GUI i poprzez interfejs WWW oraz testowy do automatycznego wysyłania SMS-ów. Szereg modułów przystosowanych jest także do stosowania w systemach z aktualizacjami transakcyjnymi. Do integracji z openQA proponowana jest biblioteka libyui-rest-api z implementacją REST API.
  • Zaimplementowano wykonanie w kontenerze platformy Cockpit, w oparciu o które budowany jest interfejs WWW konfiguratora i instalatora.
  • Możliwe jest zastosowanie szyfrowania całego dysku (FDE, Full Disk Encryption) w instalacjach na konwencjonalnym sprzęcie, a nie tylko w systemach wirtualizacji i systemach chmurowych.
  • GRUB2 jest używany jako główny program ładujący.
  • Dodano konfiguracje do wdrażania kontenerów do budowy firewalla (firewalld-container) i scentralizowanego zarządzania systemami i klastrami (warewulf-container).

Źródło: opennet.ru

Dodaj komentarz