Kontenery to uproszczona wersja przestrzeni użytkownika systemu operacyjnego Linux – w zasadzie jest to "goła" minimalna wersja. Niemniej jednak, wciąż jest to pełnoprawny system operacyjny, a zatem jakość samego kontenera jest równie istotna jak w przypadku pełnoprawnego systemu operacyjnego. Dlatego przez długi czas oferowaliśmy , aby użytkownicy mogli mieć certyfikowane, nowoczesne i aktualne kontenery klasy korporacyjnej. Uruchomienie (container images) RHEL na hostach kontenerów (container hosts) RHEL zapewnia zgodność i przenośność między środowiskami, nie wspominając o tym, że to już znane narzędzia. Był jednak jeden problem. Nie mogłeś po prostu przekazać takiego obrazu nikomu innemu, nawet jeśli chodziło o klienta lub partnera korzystającego z Red Hat Enterprise Linux.

Ale teraz wszystko się zmieniło
Z wydaniem uniwersalnego obrazu Red Hat Universal Base Image (UBI) możesz teraz uzyskać znaną niezawodność, bezpieczeństwo i wysoką wydajność oficjalnych obrazów kontenerów Red Hat niezależnie od tego, czy posiadasz subskrypcję, czy nie. Oznacza to, że możesz tworzyć aplikację konteneryzowaną na UBI, umieszczać ją w wybranym rejestrze kontenerów i dzielić się nią z całym światem. Red Hat Universal Base Image pozwala na budowanie, dzielenie się i współpracę nad konteneryzowaną aplikacją w dowolnym środowisku – gdzie tylko chcesz.

Dzięki UBI istnieje możliwość publikowania i uruchamiania swoich aplikacji praktycznie w każdej infrastrukturze. Jeśli jednak uruchamiasz je na platformach Red Hat, takich jak Red Hat OpenShift i Red Hat Enterprise Linux, możesz zyskać dodatkowe korzyści (więcej złota!). A zanim przejdziemy do bardziej szczegółowego opisu UBI, pozwól, że przedstawimy krótki FAQ dotyczący subskrypcji RHEL. Co się więc stanie, gdy uruchomisz obraz UBI na platformie RHEL/OpenShift?

A teraz, gdy marketing jest zadowolony, porozmawiajmy bardziej szczegółowo o UBI
Powody stosowania UBI
Czego powinieneś doświadczyć, aby zrozumieć, że UBI będzie dla Ciebie przydatne:
- Moi programiści chcą korzystać z obrazów kontenerów, które można rozpowszechniać i uruchamiać w każdym środowisku
- Mój zespół operacyjny chce mieć wspierany bazowy obraz z cyklem życia na poziomie korporacyjnym
- Moi architekci chcą oferować moim klientom / użytkownikom końcowym
- Moi klienci chcą mieć wsparcie na poziomie klasy korporacyjnej dla całego swojego środowiska Red Hat
- Moje społeczność chce dzielić się, uruchamiać, publikować konteneryzowane aplikacje dosłownie wszędzie
Jeśli chociaż jeden z tych scenariuszy do Ciebie pasuje, to zdecydowanie warto zwrócić uwagę na UBI.
Więcej niż tylko podstawowy obraz
UBI – mniej niż pełnoprawny system operacyjny, ale UBI ma trzy ważne rzeczy:
- Zestaw trzech podstawowych obrazów (ubi, ubi-minimal, ubi-init)
- Obrazy z gotowymi środowiskami dla różnych języków programowania (nodejs, ruby, python, php, perl, itp.)
- Zestaw pakietów powiązanych w repozytorium YUM z najczęściej występującymi zależnościami

UBI został stworzony jako podstawa dla aplikacji cloud-native i webowych rozwijanych oraz dostarczanych w kontenerach. Cała zawartość UBI jest podzbiorem RHEL. Wszystkie pakiety w UBI pochodzą z kanałów RHEL i są wspierane tak samo jak RHEL, gdy są uruchamiane na wspieranych platformach Red Hat, takich jak OpenShift i RHEL.

Aby zapewnić wysoką jakość wsparcia dla kontenerów, wymaga to wielu wysiłków inżynierów, specjalistów ds. bezpieczeństwa oraz innych dodatkowych zasobów. Wymaga to nie tylko testowania podstawowych obrazów, ale także analizy ich zachowania na dowolnym wspieranym hoście.
Aby ułatwić zadania związane z aktualizacjami, Red Hat aktywnie rozwija rozwój i wsparcie, dzięki czemu UBI 7 można uruchamiać na hostach RHEL 8, a UBI 8 – na hostach RHEL 7. To zapewnia użytkownikom niezbędną elastyczność, pewność i spokój w procesie, na przykład aktualizacji platform w obrazach kontenerów lub używanych hostach. Teraz można to podzielić na dwa niezależne projekty.
Trzy podstawowe obrazy

Minimalny – przeznaczony dla aplikacji z wszystkimi zależnościami (Python, Node.js, .NET, itp.)
- Minimalny zestaw wstępnie zainstalowanej zawartości
- Bez plików wykonywalnych suid
- Minimalne narzędzie menedżera pakietów (instalacja, aktualizacja i usuwanie)
Platforma – dla dowolnych aplikacji uruchamianych na RHEL
- Ujednolicony kryptograficzny stos OpenSSL
- Pełny stos YUM
- Zawiera przydatne podstawowe narzędzia systemu operacyjnego (tar, gzip, vi, itp.)
Multi-Service – ułatwia uruchamianie wielu usług w jednym kontenerze
- Skonfigurowany do uruchamiania systemd przy starcie
- Możliwość włączenia usług na etapie budowy
Obrazy kontenerów z gotowymi środowiskami wykonawczymi języków programowania
Oprócz podstawowych obrazów, które pozwalają na instalację wsparcia dla języków programowania, UBI zawiera w sobie wstępnie zbudowane obrazy z gotowymi środowiskami wykonawczymi różnych języków programowania. Wiele osób zajmujących się tworzeniem oprogramowania może po prostu wykorzystać obraz i od razu rozpocząć pracę nad aplikacją, którą rozwijają.
Z uruchomieniem UBI Red Hat oferuje dwa zestawy obrazów – na bazie RHEL 7 i RHEL 8. Ich podstawą były odpowiednio Red Hat Software Collections (RHEL 7) oraz Application Streams (RHEL 8). Te środowiska wykonawcze są na bieżąco aktualizowane i standardowo otrzymują do czterech aktualizacji rocznie, co zapewnia możliwość pracy z najnowszymi i stabilnymi wersjami.
Oto lista obrazów kontenerów UBI 7:

Oto lista obrazów kontenerów dla UBI 8:

Powiązane pakiety
Korzystanie z gotowych obrazów jest naprawdę wygodne. Red Hat dba o ich aktualność i aktualizuje je wraz z wydaniem nowej wersji RHEL oraz w przypadku wydania krytycznych aktualizacji CVE zgodnie z polityką aktualizacji. aby można było wziąć jeden z tych obrazów i od razu rozpocząć pracę nad aplikacją.

Jednak czasami przy tworzeniu aplikacji nagle może zajść potrzeba dodatkowego pakietu. Czasami, aby aplikacja działała, trzeba zaktualizować dany pakiet. Dlatego obrazy UBI dostarczane są z zestawem RPM, które są dostępne za pośrednictwem yum, i które są dystrybuowane za pomocą szybkiej i wysoce dostępnej sieci dostarczania treści (weź paczkę!). Kiedy uruchamiasz yum-update na swoim CI/CD w tym krytycznym momencie wydania, możesz być pewien – to zadziała.
RHEL to podstawa
Nie przestajemy powtarzać, że RHEL to podstawa wszystkiego. Wiecie, jakie zespoły w Red Hat pracują nad tworzeniem podstawowych obrazów? Na przykład te:
- Grupa inżynieryjno-techniczna odpowiadająca za zapewnienie, że biblioteki podstawowe, takie jak glibc i OpenSSL, oraz środowiska wykonawcze języków programowania, takie jak Python i Ruby, zapewniają stabilną wydajność i niezawodnie radzą sobie z obciążeniami podczas korzystania w kontenerach.
- Zespół ds. bezpieczeństwa produktów zajmuje się terminowym usuwaniem błędów i problemów z bezpieczeństwem w bibliotekach i środowiskach językowych, a skuteczność ich pracy oceniana jest za pomocą specjalnego wskaźnika. .
- Zespół menedżerów produktów i inżynierów zajmuje się dodawaniem nowych funkcji i zapewnia długoterminowy cykl życia produktu, co daje pewność w inwestycje, które mogą być podstawą.
Red Hat Enterprise Linux jest doskonałym gospodarzem i obrazem dla kontenerów, ale dla wielu deweloperów ważna jest możliwość pracy z systemem w różnych formatach, niektóre z nich mogą wykraczać poza wspierane scenariusze użycia systemu Linux. W tym przypadku pomocne są uniwersalne obrazy UBI.
Zakładając, że w tej chwili szukasz podstawowego obrazu, aby rozpocząć pracę nad prostą aplikacją kontenerową. Lub jesteś bliżej przyszłości i przechodzisz od autonomicznych kontenerów działających na silniku kontenerowym do historii cloud-native z wykorzystaniem operatorów (tworzenie i certyfikacja Operatorów) pracujących na OpenShift. W każdym przypadku UBI zapewni doskonałą podstawę.

Kontenery zawierają uproszczoną wersję przestrzeni użytkownika systemu operacyjnego w nowym formacie pakowania. Wydanie obrazów UBI ustala nowy standard branżowy dla rozwoju kontenerowego, dzięki czemu kontenery klasy enterprise stają się dostępne dla wszystkich użytkowników, niezależnych deweloperów oprogramowania i społeczności open source. W szczególności deweloperzy oprogramowania mogą standaryzować swoje produkty, korzystając z jednej, sprawdzonej bazy dla wszystkich swoich aplikacji kontenerowych, w tym . Firmy deweloperskie korzystające z UBI mają również dostęp do certyfikacji Red Hat Container Certification i Red Hat OpenShift Operator Certification, co z kolei pozwala na ciągłe weryfikowanie oprogramowania uruchamianego na platformach Red Hat, takich jak OpenShift.

Jak zacząć pracować z obrazem
Krótko mówiąc – to bardzo proste. Podman jest dostępny nie tylko w RHEL, ale również w Fedory, CentOS i w wielu innych dystrybucjach Linux. Wystarczy pobrać obraz z jednego z następujących repozytoriów i do przodu.
Dla UBI 8:
podman pull registry.access.redhat.com/ubi8/ubi
podman pull registry.access.redhat.com/ubi8/ubi-minimal
podman pull registry.access.redhat.com/ubi8/ubi-init
Dla UBI 7:
podman pull registry.access.redhat.com/ubi7/ubi
podman pull registry.access.redhat.com/ubi7/ubi-minimal
podman pull registry.access.redhat.com/ubi7/ubi-init
A także zobacz pełny przewodnik po Universal Base Image
Źródło: habr.com
