Kontajnery představují zjednodušenou verzi uživatelského prostoru operačního systému Linux – vlastně to je „holý“ minimum. Přesto je to plnohodnotný operační systém, a proto je kvalita tohoto kontejneru tak důležitá jako u plnohodnotného operačního systému. Proto jsme dlouho nabízeli , aby uživatelé měli certifikované, moderní a aktuální kontejnery podnikové úrovně. Spuštění na hostitelích kontejnerů (container hosts) RHEL zajišťuje kompatibilitu a přenositelnost mezi prostředími, nemluvě o tom, že se jedná o již známé nástroje. Byla ale jedna potíž. Nemohli jste jen tak předat tento obrázek někomu jinému, i když šlo o klienta nebo partnera používajícího Red Hat Enterprise Linux.

Ale nyní se vše změnilo.
S uvedením univerzálního obrázku Red Hat Universal Base Image (UBI) nyní můžete získat obvyklou spolehlivost, bezpečnost a vysoký výkon oficiálních obrázků kontejnerů Red Hat bez ohledu na to, zda máte předplatné nebo ne. To znamená, že můžete vybudovat kontejnovanou aplikaci na UBI, umístit ji do registru kontejnerů dle vlastního výběru a sdílet ji se světem. Red Hat Universal Base Image umožňuje vybudovat, sdílet a spolupracovat na kontejnované aplikaci v jakémkoli prostředí – kdekoliv chcete.

Díky UBI je možné publikovat a spouštět své aplikace prakticky v jakékoli infrastruktuře. Ale pokud je spustíte na platformách Red Hat, jako je Red Hat OpenShift a Red Hat Enterprise Linux, můžete získat další výhody (více zlata!). A než se dostaneme k podrobnému popisu UBI, dovolte mi poskytnout krátký FAQ, proč je potřeba předplatné RHEL. Tak co se stane při spuštění obrázku UBI na platformě RHEL/OpenShift?

A nyní, když je marketing spokojen, povězme si více o UBI.
Důvody pro aplikaci UBI
Co byste měli cítit, abyste pochopili, že UBI vám bude užitečné:
- Moji vývojáři chtějí používat obrázky kontejnerů, které lze distribuovat a spouštět v jakémkoli prostředí.
- Můj tým operations chce podporovaný základní obrázek s životním cyklem podnikové úrovně.
- Moji architekti chtějí nabízet mým zákazníkům/koncovým uživatelům
- Moji zákazníci nechtějí riskovat a chtějí podporu Enterprise pro celé své prostředí Red Hat
- Moje společenství chce sdílet, spouštět a publikovat kontejnerizované aplikace doslova kdekoli
Pokud alespoň jeden z scénářů vám vyhovuje, určitě byste měli věnovat pozornost UBI.
Více než jen základní obraz
UBI je méně než plnohodnotný operační systém, ale má tři důležité vlastnosti:
- Sada tří základních obrazů (ubi, ubi-minimal, ubi-init)
- Obrazy s již připravenými běhovými prostředími pro různé programovací jazyky (nodejs, ruby, python, php, perl atd.)
- Sada souvisejících balíčků v repozitáři YUM s nejběžnějšími závislostmi

UBI byl vytvořen jako základ pro cloud-native a webové aplikace, vyvíjené a dodávané v kontejnerech. Všechna obsah v UBI je podmnožinou RHEL. Všechny balíčky v UBI pocházejí z kanálů RHEL a jsou podporovány podobně jako RHEL při nasazení na podporovaných platformách Red Hat, jako jsou OpenShift a RHEL.

K zajištění kvalitní podpory kontejnerů je zapotřebí značné úsilí inženýrů, odborníků na bezpečnost a dalších dodatečných zdrojů. Vyžaduje to nejen testování základních obrazů, ale také analýzu jejich chování na jakémkoli podporovaném hostiteli.
Aby se usnadnily úkoly spojené s aktualizací, Red Hat aktivně rozvíjí vývoj a podporu, a díky tomu UBI 7 může být spuštěno například na hostitelích RHEL 8, a UBI 8 na hostitelích RHEL 7. To uživatelům poskytuje potřebnou flexibilitu, jistotu a klid během procesu, například aktualizací platforem v kontejnerech nebo na používaných hostitelích. Nyní lze toto rozdělit do dvou samostatných projektů.
Tři základní obrazy

Minimální – určený pro aplikace se všemi závislostmi (Python, Node.js, .NET, atd.)
- Minimální soubor předinstalovaného obsahu
- Bez spustitelných souborů suid
- Minimální nástroj pro správu balíčků (instalace, aktualizace a odstranění)
Platforma – pro jakékoli aplikace provozované na RHEL
- Unifikovaný kryptografický zásobník OpenSSL
- Kompletní zásobník YUM
- Zahrnuty užitečné základní utility OS (tar, gzip, vi atd.)
Multi-Service – usnadňuje spuštění několika služeb v jednom kontejneru
- Konfigurován pro spuštění systemd při startu
- Možnost aktivace služeb během sestavování
Obrázky kontejnerů s již připravenými prostředími pro programovací jazyky
Kromě základních obrázků, které umožňují instalaci podpory programovacích jazyků, UBI zahrnují předem sestavené obrázky s již připravenými prostředími pro řadu programovacích jazyků. Mnoho vývojářů může jednoduše vzít obrázek a začít pracovat na aplikaci, kterou vyvíjejí.
S uvedením UBI Red Hat nabízí dvě sady obrázků – založené na RHEL 7 a založené na RHEL 8. Jako základ byly použity, příslušně, Red Hat Software Collections (RHEL 7) a Application Streams (RHEL 8). Tyto běhové prostředí jsou udržovány aktuální a standardně dostávají až čtyři aktualizace ročně, takže je vždy možnost pracovat s nejnovějšími a stabilními verzemi.
Zde je seznam obrázků kontejnerů UBI 7:

Zde je seznam obrázků kontejnerů pro UBI 8:

Související balíčky
Použití hotových obrázků je skutečně velmi pohodlné. Red Hat je udržuje aktuální a aktualizuje je s vydáním nové verze RHEL, stejně jako při vzniku kritických aktualizací CVE podle aktualizační politiky. aby bylo možné vzít jeden z těchto obrázků a ihned začít pracovat na aplikaci.

Ale někdy při vytváření aplikace může najednou nastat potřeba nějakého dodatečného balíčku. Nebo, občas, pro to, aby aplikace fungovala, je potřeba aktualizovat ten či onen balíček. Právě proto jsou obrázky UBI dodávány s sadou RPM, které jsou dostupné prostřednictvím yum a které se šíří pomocí rychlé a vysoce dostupné sítě pro dodávku obsahu (vezměte si balíček!). Když spustíte yum-aktualizaci na svém CI / CD v kritickém okamžiku uvolnění, můžete si být jisti, že to bude fungovat.
RHEL je základem
Neúnavně opakujeme, že RHEL je základem všeho. Víš, které týmy v Red Hat pracují na vytváření základních obrázků? Například tyto:
- Inženýrsko-technická skupina, která zajišťuje, aby základní knihovny, jako je glibc a OpenSSL, a také běhová prostředí jazyka, jako jsou Python a Ruby, poskytovaly stabilní výkon a spolehlivě pracovaly s pracovními zátěžemi při použití v kontejnerech.
- Skupina zabezpečení produktů se zabývá včasným opravováním chyb a bezpečnostních problémů v knihovnách a jazykových prostředích, přičemž efektivita jejich práce je hodnocena pomocí speciálního indexu. .
- Tým produktových manažerů a inženýrů se zabývá přidáváním nových funkcí a zajišťuje dlouhý životní cyklus produktu, což vyvolává důvěru ve vložené investice, které mohou být použity jako základ.
Red Hat Enterprise Linux slouží jako vynikající hostitel a obraz pro kontejnery, ale pro mnoho vývojářů je důležitá možnost pracovat se systémem v různých formátech, z nichž některé mohou přesahovat podporované scénáře použití Linuxového systému. A zde přicházejí na pomoc univerzální obrazy UBI.
Předpokládejme, že právě nyní, v tomto okamžiku, hledáte základní obraz, abyste začali pracovat na jednoduché kontejnerizované aplikaci. Nebo jste již blíže budoucnosti a přecházíte od samostatných kontejnerů běžících na kontejnerovém enginu k cloud-native přístupu pomocí operátorů (budování a certifikace operátorů), kteří pracují na OpenShiftu. V každém případě UBI poskytne skvělý základ pro toto.

Kontejnery zahrnují odlehčenou verzi uživatelského prostoru operačního systému v novém formátu balení. Vydání obrazů UBI stanovuje nový průmyslový standard pro kontejnerový vývoj, přičemž kontejnery podnikové třídy se stávají dostupnými pro všechny uživatele, nezávislé vývojáře softwaru a open source komunitu. Zvláště vývojáři softwaru mohou standardizovat své produkty pomocí jednotného, ověřeného základu pro všechny své kontejnerizované aplikace, včetně . Firmám-developerům používajícím UBI jsou rovněž k dispozici certifikace Red Hat Container Certification a Red Hat OpenShift Operator Certification, což zase umožňuje kontinuálně ověřovat software běžící na platformách Red Hat, jako je OpenShift.

Jak začít pracovat s obrazem
Pokud to shrneme – je to velmi jednoduché. Podman je dostupný nejen v RHEL, ale také ve Fedora, CentOS a v řadě dalších distribucí Linuxu. Vše, co je potřeba udělat, je stáhnout obraz z jednoho z následujících repozitářů a vpřed.
Pro 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
Pro 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
Podívejte se na kompletní Universal Base Image Guide
Zdroj: habr.com
