Kontejneri predstavljaju olakšanu verziju korisničkog prostora operativnog sustava Linux – zapravo, to je „goli” minimum. Ipak, ovo je i dalje potpuno funkcionalan operativni sustav, pa je kvaliteta tog kontejnera jednako važna kao i kvaliteta punopravnog operativnog sustava. Zato smo dugo vremena nudili , kako bi korisnici mogli imati certificirane, moderne i ažurirane kontejnerske slike na razini poduzeća. Pokretanje (container images) RHEL na kontejnerskim hostovima (container hosts) RHEL osigurava kompatibilnost i prenosivost između okruženja, a ne govorimo o tome da su to već poznati alati. Postojao je, međutim, jedan problem. Niste mogli jednostavno prenijeti takvu sliku nekome drugome, čak i ako se radilo o klijentu ili partneru koji koristi Red Hat Enterprise Linux.

Ali sada se sve promijenilo
S objavljivanjem univerzalne slike Red Hat Universal Base Image (UBI), sada je moguće dobiti uobičajenu pouzdanost, sigurnost i visoku izvedbu službenih kontejnerskih slika Red Hat, bez obzira imate li pretplatu ili ne. To znači da možete izgraditi kontejneriziranu aplikaciju na UBI, staviti je u registar kontejnera po vašem izboru i dijeliti je sa svijetom. Red Hat Universal Base Image omogućava izgradnju, dijeljenje i suradnju na kontejneriziranoj aplikaciji u bilo kojem okruženju – gdje god želite.

Zahvaljujući UBI, postoje mogućnosti za objavljivanje i pokretanje vaših aplikacija gotovo u bilo kojoj infrastrukturi. No, ako ih pokrećete na platformama Red Hat, poput Red Hat OpenShift i Red Hat Enterprise Linux, možete dobiti dodatne prednosti (više zlata!). A dok ne pređemo na detaljniji opis UBI, dopustite mi da pružim kratak FAQ zašto je potrebna RHEL Subscription. Dakle, što će se dogoditi prilikom pokretanja UBI slike na platformi RHEL/OpenShift?

A sada, kada je marketing zadovoljan, razgovarajmo detaljnije o UBI
Razlozi za korištenje UBI
Što biste trebali osjećati kako biste shvatili da će vam UBI biti koristan:
- Moji razvijatelji žele koristiti kontejnerske slike koje se mogu distribuirati i pokretati u bilo kojem okruženju
- Moj tim operacija želi podržani osnovni obrazac s životnim ciklusom na razini poduzeća
- Moji arhitekti žele nuditi mojim klijentima/krajnjim korisnicima
- Moji klijenti žele imati podršku za korporativnu razinu za cijelo svoje okruženje Red Hat
- Moje zajednica želi dijeliti, pokretati, objavljivati kontejnerizirane aplikacije doslovno svugdje
Ako barem jedan od scenarija odgovara, svakako trebate obratiti pažnju na UBI.
Više od samo osnovne slike
UBI – manje od potpune operativne sustave, ali UBI ima tri važne stvari:
- Set od tri osnovne slike (ubi, ubi-minimal, ubi-init)
- Slike s već pripremljenim okruženjima za različite programske jezike (nodejs, ruby, python, php, perl, itd.)
- Skup povezanih paketa u YUM repozitoriju s najčešćim zavisnostima

UBI je stvoren kao osnova za cloud-native i web aplikacije koje se razvijaju i isporučuju u kontejnerima. Sav sadržaj u UBI-ju je podskup RHEL-a. Svi paketi u UBI-ju dolaze putem RHEL kanala i podržani su poput RHEL-a kada se pokreću na podržanim Red Hat platformama kao što su OpenShift i RHEL.

Za osiguranje kvalitetne podrške kontejnerima potrebno je puno truda inženjera, stručnjaka za sigurnost i drugih dodatnih resursa. Potrebno je ne samo testirati osnovne slike, već i analizirati njihovo ponašanje na bilo kojem podržanom hostu.
Da bi se olakšali zadaci vezani uz ažuriranje, Red Hat aktivno razvija razvoj i podršku, omogućujući tako da se UBI 7 može pokretati, na primjer, na RHEL 8 hostovima, dok se UBI 8 može pokretati na RHEL 7 hostovima. To pruža korisnicima potrebnu fleksibilnost, sigurnost i mir tijekom, na primjer, ažuriranja platformi u slikama kontejnera ili korištenih hostova. Sve to se sada može podijeliti u dva neovisna projekta.
Tri osnovne slike

Minimalna – namijenjena aplikacijama sa svim zavisnostima (Python, Node.js, .NET, itd.)
- Minimalni set unaprijed instaliranog sadržaja
- Bez izvršnih datoteka suid
- Minimalni alat za upravljanje paketima (instalacija, ažuriranje i brisanje)
Platforma – za bilo koje aplikacije koje se pokreću na RHEL
- Ujedinjeni kriptografski stek OpenSSL
- Potpuni stek YUM
- Uključene korisne osnovne OS alate (tar, gzip, vi, itd.)
Multi-Service – olakšava pokretanje više usluga u jednom kontejneru
- Konfigurirano za pokretanje systemd pri pokretanju
- Mogućnost uključivanja servisa u fazi izgradnje
Slike kontejnera s već spremnim runtime okruženjima programskih jezika
Pored osnovnih slika koje omogućuju instalaciju podrške za programske jezike, UBI uključuje prethodno sastavljene slike s već spremnim runtime okruženjima za niz programskih jezika. Mnogi programeri mogu jednostavno uzeti sliku i početi raditi na aplikaciji koju razvijaju.
S pokretanjem UBI Red Hat nudi dva seta slika – na bazi RHEL 7 i na bazi RHEL 8. Njihova osnova su, redom, Red Hat Software Collections (RHEL 7) i Application Streams (RHEL 8). Ova runtime okruženja se održavaju ažurnim i standardno primaju do četiri ažuriranja godišnje, tako da uvijek postoji mogućnost rada s najnovijim i najstabilnijim verzijama.
Evo popisa kontejnerskih slika UBI 7:

Evo popisa kontejnerskih slika za UBI 8:

Povezani paketi
Korištenje gotovih slika je stvarno vrlo praktično. Red Hat ih održava ažurnima i ažurira ih zajedno s objavom nove verzije RHEL-a, kao i kada se pojave kritična ažuriranja CVE u skladu s politikom ažuriranja. da bi mogli uzeti jednu od ovih slika i odmah početi raditi na aplikaciji.

No, ponekad tijekom izrade aplikacije može vam iznenada zatrebati neki dodatni paket. Ili, ponekad, da bi aplikacija radila, potrebno je ažurirati taj ili oni paket. Upravo zato slike UBI dolaze s paketom RPM-a, koji su dostupni putem yum-a, i koji se distribuiraju putem brze i visoko dostupne mreže za isporuku sadržaja (uzmite paket!). Kada pokrenete yum-ažuriranje na svom CI/CD-u u tom kritičnom trenutku lansiranja, možete biti sigurni – radit će.
RHEL je temelj
Ne umaramo se ponavljati da je RHEL temelj svega. Znate li koje ekipe u Red Hatu rade na stvaranju osnovnih slika? Na primjer, ove:
- Inženjersko-tehnička grupa koja je odgovorna za osiguranje da osnovne biblioteke, poput glibc i OpenSSL, kao i jezici izvršavanja, poput Pythona i Rubyja, obezbede stabilne performanse i pouzdano rade sa radnim opterećenjima u kontejnerima.
- Grupa za bezbednost proizvoda bavi se pravovremenim ispravljanjem grešaka i bezbednosnih problema u bibliotekama i jezicima izvršavanja, a efikasnost njihovog rada ocenjuje se pomoću posebnog indeksa. .
- Tim menadžera proizvoda i inženjera se bavi dodavanjem novih funkcija i obezbeđuje dug životni vek proizvoda, što pruža sigurnost u uložena sredstva koja će se koristiti kao osnova.
Red Hat Enterprise Linux se pokazuje kao odličan domaćin i slika za kontejnere, ali je mnogim developerima važna sposobnost rada sa sistemom u raznim formatima, od kojih neki mogu premašiti podržane scenarije korišćenja Linux sistema. Tu nastupaju univerzalne UBI slike.
Recimo da trenutno tražite osnovnu sliku kako biste započeli rad na jednostavnoj kontejnerizovanoj aplikaciji. Ili ste već bliže budućnosti i prelazite s autonomnih kontejnera koji rade na engine-u kontejnera na cloud-native pristup koristeći operatore (izrada i sertifikovanje Operatora) na OpenShift-u. U svakom slučaju, UBI će obezbediti odličnu osnovu za to.

Kontejneri uključuju olakšanu verziju korisničkog prostora operativnog sistema u novom formatu pakovanja. Izdanje UBI slika postavlja novi industrijski standard za kontejnerizovani razvoj, dok kontejnere nivoa preduzeća čini dostupnim svim korisnicima, nezavisnim programerima i open source zajednici. Konkretno, programeri mogu standardizovati svoje proizvode koristeći jedinstvenu, proverenu osnovu za sve svoje kontejnerizovane aplikacije, uključujući . Razvojne kompanije koje koriste UBI također mogu dobiti Red Hat Container Certification i Red Hat OpenShift Operator Certification, što omogućava stalnu verifikaciju softvera pokrenutog na Red Hat platformama poput OpenShifta.

Kako započeti rad s imidžom
Ukratko - jako jednostavno. Podman je dostupan ne samo u RHEL-u, već i u Fedori, CentOS-u i brojnim drugim Linux distribucijama. Sve što trebate učiniti je preuzeti imidž iz jednog od sljedećih repozitorija, i to je to.
Za 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
Za 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
I pogledajte cjeloviti Universal Base Image Guide
Izvor: habr.com
