Programavimas

Supratimas apie „Azure“ sudėtinių rodinių registrą

Kai pasieksite „devops“ statybos vamzdyno pabaigą, jums paliks artefaktų rinkinį: dvejetainius failus, konfigūracijos failus, tinklalapius, net virtualias mašinas ir konteinerius. Jie yra komponentai, kurie sukuria šiuolaikinę programą. Įvynioti kuo daugiau tų komponentų į konteinerį yra labai prasminga, suteikiant jums paprastesnį diegimo modelį. Bet tai palieka naują klausimų rinkinį: kaip tvarkyti tuos konteinerius ir kaip juos išdėstyti pasaulinio masto debesų programoje?

Tokios paslaugos kaip „GitHub“ siūlo privačius ir viešuosius jūsų kūrimo artefaktų registrus, naudojant atvirus standartus ir atviro kodo kodus. „Azure“ padarė tą patį, naudodama atvirojo kodo „Docker Registry 2.0“ kaip savo konteinerių registro pagrindą, atitinkantį „Open Container Initiative“. Jis nėra skirtas tik konteineriams; didėjant „Kubernetes“ pagrįstų debesų programų svarbai, ji turi būti vieno langelio saugykla visiems jūsų OCI reikalavimus atitinkantiems kūrimo artefaktams. Tai dabar apima „Helm“ diagramas, todėl galite naudoti „Azure“ konteinerių registrą (ACR) kaip savo programų diegimo centrą, naudodami „Helm 3.0“ pristatydami į „Kubernetes“ egzempliorius.

Darbo su ACR pradžia

Tokius įrankius kaip „Azure Container Registry“ geriausia įsivaizduoti kaip privačius registrus. Tik jūs, jūsų komanda ir tarnybos turite prieigą prie savo registro, automatizuodami pristatymą į „Azure“ paslaugas, naudojančias konteinerius. Pažįstamus įrankius, pvz., „Azure DevOps“ ir „Jenkins“, galima sukonfigūruoti naudoti registrą kaip sukūrimo pabaigos tašką, todėl galite iškart sulieti „pull“ užklausą į „Azure“ talpyklą, paruoštą diegti.

Šiuo metu „Microsoft“ siūlo tris ACR versijas: „Basic“, „Standard“ ir „Premium“ už tris skirtingas kainas. Jie visi dirba su žiniatinklio kabliukais, autentifikavimui naudoja „Azure Active Directory“ ir turi galimybę ištrinti vaizdus. „Basic“ turi mažiausią pajėgumą; „Premium“ apima replikavimo visuose regionuose palaikymą ir prideda vaizdo pasirašymo palaikymą. Labiausiai tikėtina, kad naudosite „Standard“, kuris suteikia 100 GB atminties, 60 MB / s atsisiuntimo pralaidumą ir palaiko net 10 žiniatinklio kabliukų. Kainos nurodomos kiekvienam registrui per dieną, su papildomais tinklo mokesčiais ir atskiru mokesčiu už procesoriaus naudojimą kuriant naujus konteinerio vaizdus.

Naujo sudėtinio rodinio registro sukūrimas yra gana lengvas, naudojant „Azure“ CLI arba „Portal“. ACR egzemplioriai yra susieti su išteklių grupėmis, todėl kiekvienai programai, kurią vykdote „Azure“, galite turėti atskirą registrą. Sukūrus registrą, jums bus suteiktas prisijungimo serverio URL. Tai yra galutinis integravimo su „Devops“ įrankiais arba jūsų kūrėjų darbalaukio „Docker“ egzempliorių taškas.

Sąveika su ACR registru

„Azure CLI“ akr komanda yra bene naudingiausias būdas bendrauti su registru. Prisijunkite ir galėsite pradėti stumti konteinerio vaizdus. Geriausia pradėti nuo darbalaukio, kad pajustumėte, kaip tai veikia, pažymėdami vietinį „Docker“ vaizdą ACR prisijungimo serverio pavadinimu ir naudodami dokininko stūmimas komanda nusiųsti vaizdą į ACR registrą, automatiškai sukuriant atitinkamą saugyklą „Azure“. Kai vaizdas yra ACR saugykloje, naudokite komandų eilutės įrankius, kad išvardytumėte failus, pašalintumėte juos ir netgi paleiskite „Docker“ komandas.

Naudojant ACR užduotis, automatizavus ACR, galite žymiai sumažinti jūsų darbo krūvį. Užduotys sujungia tai, kas būtų buvę „Azure“ CLI scenarijų rinkinys į paprastas darbo eigas, kurios valdo bendras operacijas. Pavyzdžiui, jie siūlo daugybę aktyviklių, kurie automatizuoja naujų vaizdų kūrimą, kai pasikeičia jūsų kūrimo vamzdynas arba nuolatinio integravimo / nepertraukiamo pristatymo (CI / CD) sistema.

Viena parinktis - greita užduotis - visus etapus, naudojamus failų rinkiniui sudaryti į sudėtinį rodinį, suvynioja į vieną komandą. Viskas, ko jums reikia, yra darbinis katalogas su failais ir esamas ACR registras bei „Dockerfile“. Viena komanda paima tuos failus ir naudoja „Dockerfile“ vaizdui sukurti, automatiškai išsaugodama jį ACR saugykloje. Kita greita užduotis paleidžia jūsų pasirinkto kompiuterio vaizdą.

Sudėkite juos ir turėsite pagrindinį įrankių rinkinį, skirtą išbandyti konteinerio vaizdus. Sudėtingesniam diegimui reikės sudėtingesnių scenarijų, pvz., Talpyklos talpinimas į valdomą „Kubernetes“ egzempliorių naudojant AKS. Arba galite automatizuoti visą procesą, sukurdami užduotį, stebinčią „GitHub“ repo, ar nėra pakeitimų diegimo filiale, kuriant naują vaizdą, kai sujungiate traukimo užklausą į šaką arba įsipareigojate.

Konteinerių tvirtinimas ACR

Dirbant su ACR yra saugumo privalumų. Viena iš didelių problemų, su kuria susiduria visi kuriantys šiuolaikines programas, yra jūsų priklausomybės medžio supratimas ir valdymas. Kaip sužinoti, ar saugu naudoti naują raktų bibliotekos versiją ar užgožtą komponentą? Turite sugebėti pasitikėti savo sudėtiniais rodiniais, o ACR siūlo du būdus, kaip užtikrinti, kad visada įdiegtumėte patikimą kodą.

Pirma, jame pateikiami pasirašyti sudėtinių rodinių vaizdai, todėl jūsų „Kubernetes“ sankaupos gali patikrinti, ar jis naudoja kodą, kurį įvedėte į savo registrą iš savo kūrimo sistemos. Pasirašyti vaizdai užtikrina, kad niekas nesugadino konteinerio turinio, kol jis buvo dislokuotas. Antra, ACR gali integruotis į „Azure“ saugos centrą. Tai leidžia nuskaityti vaizdus, ​​kai jie saugomi registre, tikrinant ne tik kodo ir pagrindinio vaizdo pažeidžiamumą, bet ir bet kokias priklausomybes, kurios yra įtrauktos arba nurodytos iš vaizdo failo. Naudojant „Qualys“ skaitytuvą, saugos centro ataskaitos padės nustatyti pažeidžiamumą ir pateikti pataisų rekomendacijas.

Viskas tampa įdomu, kai pradedate naudoti ACR egzempliorius ne tik konteineriams. OCI pradėjo atverti registro standartą artefaktams, o „Helm“, de facto „Kubernetes“ programų diegimo įrankis, naudoja jį naujausiame leidime. Pramonėje pastebima daugybė registrų ir saugyklų, todėl tikslinga standartizuoti visus savo programos komponentus, ypač kai jie visi yra tos pačios debesies programos dalis.

ACR dabar palaiko OCI registrą kaip saugyklą (ORAS). Naudodami ORAS įrankį galite stumti ir traukti visus savo dirbinius iš tos pačios ACR saugyklos. Įdiekite ORAS savo kūrėjų mašinose arba pridėkite palaikymą prie savo statybos vamzdyno. Prisijungę prie savo registro naudodami „Azure Active Directory“ paslaugos principą, turintį „push“ teises, naudokite ORAS komandų eilutės įrankį, kad į registrą perkeltumėte naujus artefaktus.

Komandų eilutės įrankio naudojimas „Azure“ CLI suteikia jums lankstumo kurti „ORAS push“ pasirinkdami kūrimo įrankius, kaip scenarijų, kurį galima iškviesti, kai reikia. Tas pats komandinės eilutės įrankis gali ištraukti artefaktus, o jūs galite juos integruoti į savo diegimo scenarijus, kad visi komponentai, kurie sudaro jūsų programas, galėtų automatiškai įdiegti, kai naujas komponavimas bus nukreiptas į jūsų ACR saugyklas.

Privačiam kodui reikia privačių saugyklų, o laikydami savo konteinerius ir kitus sukurtus artefaktus Azure, jie bus ten, kur reikia. Visiškas „devops“ kūrimo procesas turėtų pereiti nuo kodo priskyrimo prie paleistos programos be žmogaus įsikišimo, todėl tokie įrankiai kaip „Azure Container Registry“ ir su juo susijęs užduočių automatizavimas yra esminiai komponentai bet kuriame „Azure“ nukreiptame vamzdyne. Kodas ne tik automatiškai saugomas ir diegiamas pasauliniu mastu, bet ir keičiantis, jis tikrinamas dėl saugos rizikos.