Containere er en letvægtig version af det brugerdefinerede rum i Linux-operativsystemet – det er faktisk det "nøgen" minimum. Alligevel er det stadig et fuldt fungerende operativsystem, og derfor er kvaliteten af denne containertype lige så vigtig som for et komplet operativsystem. Det er derfor, vi i lang tid har tilbudt , så brugerne kunne have certificerede, moderne og opdaterede containers på virksomhedsniveau. At køre (container images) RHEL på containerhosts (container hosts) RHEL sikrer kompatibilitet og bærbarhed mellem miljøer, for ikke at nævne, at det er allerede kendte værktøjer. Der var dog ét problem. Du kunne ikke bare overføre et sådant billede til nogen anden, selvom det var en kunde eller partner, der brugte Red Hat Enterprise Linux.

Men nu er alt ændret
Med udgivelsen af det universelle billede, Red Hat Universal Base Image (UBI), kan du nu opnå den velkendte pålidelighed, sikkerhed og høje ydeevne fra de officielle Red Hat containerbilleder, uanset om du har et abonnement eller ej. Det betyder, at du kan bygge en containeriseret applikation på UBI, placere den i et containerregister efter eget valg og dele den med hele verden. Red Hat Universal Base Image gør det muligt at bygge, dele og samarbejde om en containeriseret applikation i et hvilket som helst miljø – hvor du ønsker.

Med UBI er der mulighed for at offentliggøre og køre dine applikationer stort set i enhver infrastruktur. Men hvis du kører dem på Red Hat-platforme som Red Hat OpenShift og Red Hat Enterprise Linux, kan du få ekstra fordele (mere guld!). Og før vi går videre til en mere detaljeret beskrivelse af UBI, lad mig give dig en kort FAQ om, hvorfor RHEL-abonnementet er nødvendigt. Så hvad sker der, når du kører UBI-billedet på RHEL/OpenShift-platformen?

Og nu, hvor marketing er tilfreds, lad os tale mere detaljeret om UBI
Årsager til at anvende UBI
Hvad du skal føle for at forstå, at UBI vil være nyttigt for dig:
- Mine udviklere vil gerne bruge containerbilleder, der kan distribueres og køres i ethvert miljø
- Mit team operations ønsker et understøttet basisbillede med et livscyklus på virksomhedsniveau
- Mine arkitekter ønsker at tilbyde mine kunder/slutbrugere
- Mine kunder ønsker ikke at bekymre sig om support på virksomhedsniveau for deres hele Red Hat-miljø
- Mit fællesskabet ønsker at dele, køre og publicere containeriserede applikationer bogstaveligt talt overalt
Hvis en af de scenarier passer til dig, bør du bestemt overveje UBI.
Mere end bare et grundlæggende billede
UBI er mindre end et komplet operativsystem, men UBI har tre vigtige ting:
- Et sæt af tre grundlæggende billeder (ubi, ubi-minimal, ubi-init)
- Billeder med allerede klare runtime-miljøer for forskellige programmeringssprog (nodejs, ruby, python, php, perl osv.)
- Et sæt af relaterede pakker i YUM-repositoryet med de mest almindelige afhængigheder

UBI blev designet som en basis for cloud-native og webapplikationer, der udvikles og distribueres i containere. Alt indhold i UBI er et delmængde af RHEL. Alle pakker i UBI kommer via RHEL-kanaler og understøttes som RHEL, når de kører på understøttede Red Hat-platforme som OpenShift og RHEL.

For at sikre kvalitetscontainer-support er der brug for omfattende indsats fra ingeniører, sikkerhedsspecialister og andre ekstra ressourcer. Det kræver ikke kun test af grundbilleder, men også analyse af deres opførsel på enhver understøttet vært.
For at lette opgaverne omkring opdateringer arbejder Red Hat aktivt på udvikling og support, hvilket gør det muligt at køre UBI 7 på RHEL 8-værter og UBI 8 på RHEL 7-værter. Dette giver brugerne den nødvendige fleksibilitet, sikkerhed og ro i sindet under f.eks. opdateringer af platforme i containerbilleder eller anvendte værter. Nu kan alt dette opdeles i to uafhængige projekter.
Tre grundlæggende billeder

Minimal – designet til applikationer med alle afhængigheder (Python, Node.js, .NET m.m.)
- Minimal sæt af forudinstalleret indhold
- Uden kørbare filer suid
- Minimal værktøjssæt til pakkehåndtering (installation, opdatering og sletning)
Platform – til enhver applikation, der kører på RHEL
- Enhedlig kryptografisk stak OpenSSL
- Fuld YUM-stak
- Inkluderer nyttige grundlæggende OS-værktøjer (tar, gzip, vi osv.)
Multi-Service – forenkler kørsel af flere tjenester i én container
- Konfigureret til at starte systemd ved opstart
- Muligheden for at aktivere tjenester under opbygningen
Containerbilleder med allerede etablerede runtime-miljøer for programmeringssprog
Ud over de basale billeder, der giver mulighed for at installere support for programmeringssprog, inkluderer UBI forudbyggede billeder med allerede klarere runtime-miljøer for flere programmeringssprog. Mange udviklere kan blot tage billedet og begynde at arbejde på den applikation, de udvikler.
Med lanceringen af UBI tilbyder Red Hat to sæt billeder – baseret på RHEL 7 og baseret på RHEL 8. De er byggede på henholdsvis Red Hat Software Collections (RHEL 7) og Application Streams (RHEL 8). Disse runtime-miljøer holdes opdaterede og modtager standardmæssigt op til fire opdateringer om året, så der altid er mulighed for at arbejde med de nyeste og mest stabile versioner.
Her er listen over containerbilleder for UBI 7:

Her er listen over containerbilleder for UBI 8:

Tilknyttede pakker
Brugen af færdige billeder er virkelig praktisk. Red Hat holder dem ajour og opdaterer dem sammen med udgivelsen af nye versioner af RHEL samt ved kritiske CVE-opdateringer i henhold til opdateringspolitikken. for at man kan tage et af disse billeder og straks begynde at arbejde på applikationen.

Men nogle gange, når man skaber en applikation, kan man pludselig få brug for en ekstra pakke. Eller nogle gange er det nødvendigt at opdatere en specifik pakke for at få applikationen til at fungere. Derfor leveres UBI-billederne med et sæt RPM-pakker, som er tilgængelige via yum, og som distribueres gennem et hurtigt og højtilgængeligt content delivery network (du får pakken!). Når du kører yum-opdatering på din CI / CD i det kritiske øjeblik af udgivelsen, kan du være sikker – det vil fungere.
RHEL er fundamentet
Vi trætter aldrig med at gentage, at RHEL er fundamentet for alt. Ved du, hvilke teams i Red Hat der arbejder på at skabe de basale billeder? For eksempel disse:
- Ingeniør- og teknologigruppen, der er ansvarlig for at sikre, at de grundlæggende biblioteker, såsom glibc og OpenSSL, samt runtime-miljøer som Python og Ruby, leverer stabil ydeevne og virker pålideligt med arbejdsbelastninger, når de anvendes i containere.
- Gruppen, der sikrer produktets sikkerhed, arbejder på at rette fejl og sikkerhedsproblemer i biblioteker og sprogplatforme rettidigt, og deres effektivitet vurderes ved hjælp af et særligt indeks. .
- Produktledere og ingeniørteamet arbejder på at tilføje nye funktioner og sikre et langvarigt produktliv, hvilket giver tillid til de investerede midler, som kan bruges som basis.
Red Hat Enterprise Linux fungerer som en fremragende vært og billede for containere, men for mange udviklere er muligheden for at arbejde med systemet i forskellige formater vigtig, nogle af dem kan overskride de understøttede brugsscenarier for Linux-systemet. Her kommer universelle billeder UBI til hjælp.
Lad os antage, at du på nuværende tidspunkt bare leder efter et grundlæggende billede for at komme i gang med en simpel containeriseret applikation. Eller du er allerede tættere på fremtiden og bevæger dig fra autonome containere, der kører på en container-motor, til en cloud-native historie ved hjælp af operatører (building and certifying Operators), der kører på OpenShift. Uanset hvad vil UBI give en fremragende base til dette.

Containere inkluderer en letvægtsversion af brugerrummet for operativsystemet i et nyt pakkerformat. Udgivelsen af UBI-billeder sætter en ny branchestandard for containeriseret udvikling, samtidig med at virksomhedernes klasses containere bliver tilgængelige for alle brugere, uafhængige softwareudviklere, open source-fællesskaber. Især softwareudviklere kan standardisere deres produkter ved at bruge en ensartet, valideret base for alle deres containeriserede applikationer, herunder . Udviklerfirmaer, der bruger UBI, har også adgang til Red Hat Container Certification og Red Hat OpenShift Operator Certification, hvilket igen gør det muligt at verificere software, der kører på Red Hat-platforme som OpenShift.

Hvordan man kommer i gang med billedet
Kort sagt - meget enkelt. Podman er tilgængelig ikke kun i RHEL, men også i Fedora, CentOS og en række andre Linux-distributioner. Alt hvad du skal gøre, er at hente billedet fra en af de følgende repositories, og så er du klar.
For 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
For 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
And take a look at the complete Universal Base Image Guide
Kilde: habr.com
