Kontajnery predstavujú odľahčenú verziu používateľského priestoru operačného systému Linux – v podstate ide o „holý“ minimálny základ. Napriek tomu je to stále plnohodnotný operačný systém, a preto je kvalita tohto kontajnera taká istá, ako kvalita plnohodnotného operačného systému. Preto sme dlhý čas ponúkali , aby používatelia mali certifikované, moderné a aktuálne kontajnery podnikovej úrovne. Spustenie (container images) RHEL na hostiteľoch kontajnerov (container hosts) RHEL zaručuje kompatibilitu a prenosnosť medzi prostrediami, nehovoriac o tom, že ide o známe nástroje. V skutočnosti bola jedna problém. Nemohli ste len tak odovzdať takýto obraz niekomu inému, aj keď išlo o zákazníka alebo partnera, ktorý používal Red Hat Enterprise Linux.

Ale teraz sa všetko zmenilo
S uvedením univerzálneho obrazu Red Hat Universal Base Image (UBI) je teraz možné získať osvedčenú spoľahlivosť, bezpečnosť a vysoký výkon oficiálnych obrázkov kontajnerov Red Hat nezávisle od toho, či máte predplatné alebo nie. To znamená, že môžete vytvoriť kontajnerizovanú aplikáciu na UBI, umiestniť ju do kontajnerového registra podľa vášho výberu a zdieľať ju so všetkým svetom. Red Hat Universal Base Image umožňuje vytvárať, zdieľať a spolupracovať na kontajnerizovanej aplikácii v akomkoľvek prostredí – tam, kde chcete.

Vďaka UBI máte možnosť publikovať a spúšťať svoje aplikácie prakticky v akejkoľvek infraštruktúre. Ale ak ich spustíte na platformách Red Hat, ako sú Red Hat OpenShift a Red Hat Enterprise Linux, môžete získať dodatočné výhody (viac zlata!). A kým sa nepristúpime k podrobnejšiemu opisu UBI, dovoľte mi poskytnúť krátky FAQ, prečo je potrebné predplatné RHEL. Takže, čo sa stane pri spustení obrazu UBI na platforme RHEL/OpenShift?

A teraz, keď je marketing spokojný, poďme podrobne hovoriť o UBI
Dôvody na použitie UBI
Čo by ste mali cítiť, aby ste pochopili, že UBI vám bude užitočný:
- Moji vývojári chcú používať obrázky kontajnerov, ktoré sa dajú distribuovať a spúšťať v akomkoľvek prostredí
- Môj tím operations chce podporovaný základný obraz s životným cyklom podnikovej úrovne
- Moji architekti chcú ponúkať mým zákazníkom/konečným používateľom
- Moji zákazníci nechcú riskovať, že nereálnu podporu na podnikovej úrovni pre celé svoje prostredie Red Hat
- Moje komunitu chcú zdieľať, spúšťať a publikovať kontajnerové aplikácie prakticky kdekoľvek
Ak aspoň jeden zo scénarov vám vyhovuje, určite by ste sa mali pozrieť na UBI.
Viac než len nejaký základný obraz
UBI – menej než plnohodnotný OS, ale UBI má tri dôležité veci:
- Súbor troch základných obrazov (ubi, ubi-minimal, ubi-init)
- Obrazy s už pripravenými runtime prostrediami rôznych programovacích jazykov (nodejs, ruby, python, php, perl atď.)
- Súbor súvisiacich balíkov v repozitári YUM s najbežnejšími závislosťami

UBI bol vytvorený ako základ pre cloud-native a webové aplikácie vyvíjané a distribuované v kontajneroch. Všetok obsah v UBI je podmnožinou RHEL. Všetky balíky v UBI pochádzajú cez kanály RHEL a sú podporované podobne ako RHEL pri spustení na podporovaných platformách Red Hat, ako sú OpenShift a RHEL.

Na zabezpečenie kvalitnej podpory kontajnerov je potrebné nemálo úsilia inžinierov, odborníkov na bezpečnosť a ďalších dodatočných zdrojov. Je potrebné nielen testovanie základných obrazov, ale aj analýza ich správania na akomkoľvek podporovanom hostiteľovi.
Aby sa uľahčili úlohy spojené s aktualizáciami, Red Hat aktívne rozvíja vývoj a podporu, vďaka čomu je možné spúšťať UBI 7 napríklad na hostiteľoch RHEL 8 a UBI 8 na hostiteľoch RHEL 7. To poskytuje používateľom potrebnú flexibilitu, istotu a pokoj v procese, napríklad pri aktualizácii platforiem v kontajnerových obrazov alebo používaných hostiteľoch. Teraz je možné všetko rozdelené na dva samostatné projekty.
Tri základné obrazy

Minimálny – určený pre aplikácie so všetkými závislosťami (Python, Node.js, .NET atď.)
- Minimálny súbor predinštalovaného obsahu
- Bez spustiteľných súborov suid
- Minimálny nástroj správcu balíkov (inštalácia, aktualizácia a odstránenie)
Platforma – pre akékoľvek aplikácie, ktoré bežia na RHEL
- Zjednotený kryptografický zásobník OpenSSL
- Plný zásobník YUM
- Obsahuje užitočné základné utilitky OS (tar, gzip, vi atď.)
Multi-Service – zjednodušuje spúšťanie viacerých služieb v jednom kontajneri
- Nakonfigurované na spustenie systemd pri štarte
- Možnosť aktivácie služieb počas skladania
Obrazy kontajnerov s už pripravenými runtime prostrediami programovacích jazykov
Okrem základných obrazov, ktoré umožňujú inštaláciu podpory programovacích jazykov, UBI obsahujú predpripravené obrazy s už hotovými runtime prostrediami pre niekoľko programovacích jazykov. Mnohí vývojári môžu jednoducho vziať obraz a začať pracovať na aplikácii, ktorú vyvíjajú.
S spustením UBI Red Hat ponúka dve sady obrazov – na báze RHEL 7 a na báze RHEL 8. Ich základom boli, samozrejme, Red Hat Software Collections (RHEL 7) a Application Streams (RHEL 8). Tieto runtime prostredia sú udržiavané aktuálne a štandardne dostávajú až štyri aktualizácie ročne, takže je vždy možnosť pracovať s najnovšími a najstabilnejšími verziami.
Tu je zoznam obrazov kontajnerov UBI 7:

Tu je zoznam obrazov kontajnerov pre UBI 8:

Pridružené balíky
Použitie hotových obrazov je naozaj veľmi pohodlné. Red Hat ich udržuje aktuálne a aktualizuje ich spolu s vydaním novej verzie RHEL, ako aj pri objavení kritických aktualizácií CVE v súlade s politikou aktualizácií aby bolo možné vziať jeden z týchto obrazov a hneď začať pracovať na aplikácii.

Ale niekedy pri vytváraní aplikácie môžete náhle potrebovať nejaký ďalší balík. Alebo, občas, aby ste dostali aplikáciu do chodu, potrebujete aktualizovať ten alebo onen balík. Presne preto obrazy UBI obsahujú sadu RPM, ktoré sú dostupné prostredníctvom yum, a ktoré sú distribuované pomocou rýchlej a vysoko dostupnej siete na doručovanie obsahu (vezmete si balík!). Keď spustíte yum-aktualizáciu vo svojom CI / CD v ten kritický moment vydania, môžete si byť istí – bude to fungovať.
RHEL je základ
Nedáme si pokoj opakovať, že RHEL je základ všetkého. Viete, aké tímy v Red Hata pracujú na vytváraní základných obrazov? Napríklad tieto:
- Inžiniersko-technická skupina, ktorá zaisťuje, aby základné knižnice, ako glibc a OpenSSL, ako aj jazykové runtime prostredia, ako Python a Ruby, poskytovali stabilný výkon a spoľahlivo fungovali s pracovnými záťažami pri použití v kontajneroch.
- Skupina na zaisťovanie bezpečnosti produktov sa zaoberá včasným opravovaním chýb a bezpečnostných problémov v knižniciach a jazykových prostrediach, pričom účinnosť ich práce sa hodnotí pomocou špeciálneho indexu. .
- Tím produktových manažérov a inžinierov sa zaoberá pridávaním nových funkcií a zaisťuje dlhú životnosť produktu, čo zvyšuje dôveru vo vložené investície, ktoré môžu slúžiť ako základ.
Red Hat Enterprise Linux je vynikajúcim hostiteľom a obrazom pre kontajnery, avšak pre mnohých vývojárov je kľúčová schopnosť pracovať so systémom v rôznych formátoch, niektoré z ktorých môžu presahovať podporované scenáre použitia systému Linux. A tu prichádzajú na pomoc univerzálne obrazy UBI.
Predpokladajme, že konkrétne teraz hľadáte základný obraz, aby ste začali pracovať na jednoduchom kontajnerizovanom aplikácii. Alebo ste už bližšie k budúcnosti a prechádzate od samostatných kontajnerov, ktoré fungujú na engine pre kontajnery, k cloud-native histórii s použitím operátorov (vytváranie a certifikácia Operátorov), ktorí fungujú na OpenShift. V každom prípade UBI poskytne vynikajúcu základňu pre toto.

Kontajnery obsahujú zjednodušenú verziu užívateľského priestoru operačného systému v novom formáte balíčkovania. Vydanie obrazov UBI stanovuje nový priemyselný štandard pre kontajnerizovaný vývoj, pričom kontajnery podnikovej úrovne sa stávajú dostupnými pre všetkých používateľov, nezávislých vývojárov softvéru a open source komunity. Najmä vývojári softvéru môžu standardizovať svoje produkty pomocou jednotnej, overenej základne pre všetky svoje kontajnerizované aplikácie, vrátane . Spoločnostiam vyvíjajúcim aplikácie s UBI sú k dispozícii aj certifikácie Red Hat Container Certification a Red Hat OpenShift Operator Certification, čo im umožňuje kontinuálne overovať softvér prevádzkovaný na platformách Red Hat, ako je OpenShift.

Ako začať pracovať s obrazom
Ak to zhrnieme – je to veľmi jednoduché. Podman je dostupný nielen v RHEL, ale aj vo Fedore, CentOS a v niektorých ďalších distribúciách Linuxu. Všetko, čo musíte urobiť, je stiahnuť obraz z jedného z nasledujúcich repozitárov a môžete začať.
Pre 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
Pre 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 pozrite sa na kompletného sprievodcu Universal Base Image
Zdroj: habr.com
