Programiranje

Razumevanje registra vsebnikov Azure

Ko pridete do konca cevovoda za gradnjo devops, vam ostane nabor artefaktov: binarne datoteke, konfiguracijske datoteke, spletne strani, celo navidezni stroji in vsebniki. So komponente, ki skupaj sestavljajo sodobno aplikacijo. Zavijanje čim večjega števila teh komponent v vsebnik je zelo smiselno in vam omogoča enostavnejši model uvajanja. Toda to pušča nov sklop vprašanj: Kako upravljate s temi vsebniki in kako jih namestite v globalno aplikacijo v oblaku?

Storitve, kot je GitHub, ponujajo zasebne in javne registre za vaše artefakte gradnje z uporabo odprtih standardov in odprte kode. Azure je storil enako, pri čemer je odprtokodni Docker Registry 2.0 uporabil kot osnovo za svoj register vsebnikov, skladen s pobudo Open Container Initiative. Ni namenjen samo za zabojnike; z naraščajočim pomenom aplikacij, ki temeljijo na oblakih, ki temeljijo na Kubernetesu, naj bi bilo na enem mestu skladišče za vse vaše artefakte gradnje, skladne z OCI. To zdaj vključuje lestvice Helm, tako da lahko Azure’s Container Registry (ACR) uporabite kot vozlišče za uvajanje aplikacij, Helm 3.0 pa za dostavo primerkom Kubernetes.

Uvod v ACR

Orodja, kot je Azure Container Registry, najbolje obravnavamo kot zasebne registre. Do vašega registra imate dostop samo vi in ​​vaša ekipa ter storitve, ki avtomatizirajo dostavo storitvam Azure, ki uporabljajo vsebnike. Znana orodja, kot sta Azure DevOps in Jenkins, je mogoče konfigurirati za uporabo registra kot končne točke gradnje, tako da lahko nadaljujete z združevanjem zahteve za vlečenje v vsebnik v Azureju, pripravljen za razmestitev.

Microsoft trenutno ponuja tri različice ACR: Basic, Standard in Premium, po treh različnih cenah. Vsi delujejo s spletnimi kljukami, za preverjanje pristnosti uporabljajo Azure Active Directory in imajo možnost brisanja slik. Basic ima najmanjšo zmogljivost; Premium vključuje podporo za kopiranje po regijah in dodaja podporo za podpisovanje slik. Najverjetneje boste uporabljali Standard, ki vam omogoča 100 GB prostora za shranjevanje, 60 MB prenosne pasovne širine in podpira kar 10 spletnih kavljev. Cene so odvisne od registra na dan, z dodatnimi omrežnimi stroški in ločeno doplačilom za uporabo procesorja pri izdelavi novih slik vsebnikov.

Ustvarjanje novega registra vsebnika je razmeroma enostavno z uporabo Azure CLI ali Portal. Primerki ACR so vezani na skupine virov, tako da lahko imate ločen register za vsako aplikacijo, ki jo zaženete v Azure. Ko je register ustvarjen, dobite URL prijavnega strežnika. To je končna točka za integracijo z orodji devops ali primerki namizja Docker za vaše razvijalce.

Interakcija z registrom ACR

Azure CLI akr ukaz je verjetno najbolj uporaben način za interakcijo z registrom. Prijavite se in nanjo lahko začnete potiskati slike vsebnikov. Dobro je, da začnete z namizja, da dobite vpogled v to, kako lokalno sliko Docker označite z imenom ACR prijavnega strežnika in nato uporabite potiskanje dockerja ukaz za pošiljanje slike v register ACR in samodejno ustvari ustrezen repozitorij v Azure. Ko je slika v repozitoriju ACR, z orodji ukazne vrstice poiščite datoteke, jih odstranite in celo uporabite Dockerjeve ukaze, da jih zaženete.

Avtomatizacija ACR vam lahko znatno zmanjša obremenitev z uporabo nalog ACR. Naloge združijo tisto, kar bi bil nabor skriptov Azure CLI, v preproste delovne tokove, ki upravljajo običajne operacije. Na primer, ponujajo vrsto sprožilcev, ki avtomatizirajo izdelavo novih slik, ko se zgodijo spremembe v vašem gradbenem cevovodu ali v sistemu neprekinjene integracije / neprekinjene dostave (CI / CD).

Ena od možnosti, hitra naloga, zavije vse stopnje, uporabljene za gradnjo nabora datotek, v vsebnik v en ukaz. Vse, kar potrebujete, je delovni imenik z datotekami ter obstoječi register ACR in datoteka Docker. En sam ukaz te datoteke sprejme in z Dockerfile ustvari sliko in jo samodejno shrani v odlagališče ACR. Druga hitra naloga zažene sliko na izbranem gostitelju.

Sestavite jih in dobite osnovni nabor orodij za testiranje slik posod. Za bolj zapletene razmestitve bodo potrebni bolj zapleteni skripti - na primer razmestitev vsebnika v upravljani primerek Kubernetes z uporabo AKS. Lahko pa tudi avtomatizirate celoten postopek, tako da ustvarite nalogo, ki nadzoruje repo GitHub za spremembe v veji razmestitve, zgradite novo sliko, ko v vejo združite zahtevo za vlečenje ali se zavežete.

Zaščita posod v ACR

Delo z ACR ima varnostne prednosti. Ena največjih težav, s katero se sooča vsak, ki gradi sodobne aplikacije, je razumevanje in upravljanje drevesa odvisnosti. Kako veste, ali je nova različica knjižnice ključev ali nejasna komponenta varna za uporabo? Zasebnikom morate zaupati, ACR pa ponuja dva načina za zagotovitev, da vedno zaupate zaupanja vredno kodo.

Prvič, ponuja podpisane slike vsebnikov, tako da lahko grozd Kubernetes preveri, ali je koda, ki jo izvaja, koda, ki ste jo v sistem za gradnjo potisnili v svoj register. Podpisane slike zagotavljajo, da nihče ni spreminjal vsebine vsebnika, medtem ko je ta razmeščen. Drugič, ACR se lahko integrira z Azurejevim varnostnim centrom. To vam omogoča skeniranje slik, ki so shranjene v registru, pri čemer ne preverjate le ranljivosti v svoji kodi in osnovni sliki, temveč tudi morebitne odvisnosti, ki so vključene ali so napotene iz slikovne datoteke. Poročila varnostnega centra vam bodo s pomočjo optičnega bralnika Qualys pomagala prepoznati ranljivosti s priporočili za popravke.

Stvari postanejo zanimive, ko začnete uporabljati primerke ACR za več kot vsebnike. OCI je začel odpirati standard registra za artefakte, Helm, dejansko orodje za uvajanje aplikacij Kubernetes, pa ga uporablja v zadnji izdaji. V industriji se je število registrov in skladišč širilo, zato je smiselno poenotiti enega za vse komponente aplikacije, še posebej, če so vsi del iste aplikacije v oblaku.

ACR zdaj podpira OCI Register As Storage (ORAS). Z orodjem ORAS lahko potisnete in povlečete vse artefakte iz istega odlagališča ACR. Namestite ORAS na vaše stroje za razvijalce ali dodajte podporo svojemu gradbenemu cevovodu. Ko se v svoj register vpišete s skrbnikom storitve Azure Active Directory, ki ima pravice za potiskanje, z orodjem ukazne vrstice ORAS potisnite nove predmete v register.

Uporaba orodja za ukazno vrstico v Azure CLI vam omogoča prilagodljivost, da lahko ORAS potisnete v svojo izbiro orodij za gradnjo kot skript, ki ga lahko pokličete po potrebi. Isto orodje ukazne vrstice lahko vleče artefakte in ga lahko vgradite v svoje uvajalne skripte, tako da se lahko vse komponente, ki sestavljajo vaše aplikacije, samodejno uvedejo, ko nova gradnja potisne v vaše repozitorije ACR.

Zasebna koda potrebuje zasebne repozitorije, shranjevanje vsebnikov in drugih artefaktov gradnje v Azure pa jih postavi tam, kjer so potrebni. Celoten postopek izdelave devops bi moral preiti od prevzema kode do zagnane aplikacije brez človeškega posredovanja, zato so orodja, kot so Azure Container Registry in z njim povezane avtomatizacije opravil, bistvene komponente v katerem koli Azure-usmerjenem cevovodu. Ne samo, da se koda samodejno shrani in uvede v svetovnem merilu, ob vsaki spremembi se tudi pregleda varnostna tveganja.

$config[zx-auto] not found$config[zx-overlay] not found