Ohjelmointi

Tietoja Azure Container -rekisteristä

Kun pääset devopsin rakentamisen loppuun, sinulla on joukko artefakteja: binäärit, kokoonpanotiedostot, verkkosivut, jopa virtuaalikoneet ja säilöt. Ne ovat komponentteja, jotka yhdessä muodostavat modernin sovelluksen. Pakkaamalla mahdollisimman moni näistä komponenteista säilöön on järkevää, mikä antaa sinulle yksinkertaisemman käyttöönottomallin. Mutta tämä jättää uuden kysymysjoukon: Kuinka hallitset näitä kontteja ja miten otat ne käyttöön globaalissa pilvisovelluksessa?

Palvelut, kuten GitHub, tarjoavat yksityisiä ja julkisia rekistereitä rakennuksen artefakteille käyttämällä avoimia standardeja ja avointa lähdekoodia. Azure on tehnyt saman käyttämällä avoimen lähdekoodin Docker Registry 2.0: ta oman konttirekisterinsä perustana, joka on Open Container Initiativen mukainen. Sitä ei ole tarkoitettu vain kontteihin; Kubernetes-pohjaisten pilvipohjaisten sovellusten kasvavan merkityksen myötä sen on tarkoitus olla yhden luukun arkisto kaikille OCI-yhteensopiville rakennuksen artefakteille. Se sisältää nyt Helm-kaaviot, joten voit käyttää Azure's Container Registry (ACR) -sovellustasi asennuskeskuksena ja käyttää Helm 3.0: ta toimitettaessa Kubernetes-ilmentymiin.

ACR: n käytön aloittaminen

Työkalut, kuten Azure Container Registry, ajatellaan parhaiten yksityisiksi rekistereiksi. Vain sinulla ja tiimilläsi ja palveluillasi on pääsy rekisteriisi, automaattinen toimitus Azure-palveluihin, jotka käyttävät säilöjä. Tunnetut työkalut, kuten Azure DevOps ja Jenkins, voidaan määrittää käyttämään rekisteriä rakennuksen päätepisteenä, joten voit siirtyä suoraan vetopyynnön yhdistämisestä Azure-säilöön, joka on käyttövalmis.

Microsoft tarjoaa tällä hetkellä kolmea ACR-versiota: Basic, Standard ja Premium kolmella eri hinnalla. Ne kaikki työskentelevät verkkokoukkujen kanssa, käyttävät todentamiseen Azure Active Directorya ja pystyvät poistamaan kuvia. Basic on pienin kapasiteetti; Premium sisältää tuen replikoinnille eri alueilla ja lisää kuvan allekirjoittamisen tuen. Käytät todennäköisesti Standardia, joka antaa sinulle 100 Gt tallennustilaa, 60 Mt / s latauskaistanleveyden ja tukee jopa 10 verkkokoukkua. Hinnoittelu on rekisterikohtaista päivässä, lisäkustannuksilla verkkokustannuksista ja erillisestä maksusta suorittimen käytöstä uusien konttikuvien rakentamisessa.

Uuden säilörekisterin luominen on suhteellisen helppoa joko Azure-käyttöliittymän tai portaalin avulla. ACR-esiintymät on sidottu resurssiryhmiin, joten sinulla voi olla erillinen rekisteri kullekin Azurella ajamallesi sovellukselle. Kun rekisteri on luotu, sinulle annetaan kirjautumispalvelimen URL-osoite. Tämä on loppupiste integroinnille devops-työkaluihin tai kehittäjien työpöydän Docker-ilmentymiin.

Vuorovaikutus ACR-rekisterin kanssa

Azure CLI: t acr -komento on todennäköisesti hyödyllisin tapa olla vuorovaikutuksessa rekisterin kanssa. Kirjaudu sisään ja voit alkaa työntää siihen konttikuvia. On hyvä aloittaa työpöydältä, jotta saat tuntuman sen toiminnasta, merkitsemällä paikallinen Docker-kuva ACR-kirjautumispalvelimen nimellä ja sitten telakointiasema komento lähettää kuvan ACR-rekisteriin luomalla sopiva arkisto automaattisesti Azureen. Kun kuva on ACR-arkistossa, käytä komentorivityökaluja tiedostojen luettelointiin, poistamiseen ja jopa Docker-komentojen suorittamiseen.

ACR: n automatisointi voi vähentää työmäärää huomattavasti ACR Tasksin avulla. Tehtävät niputtavat joukon Azure CLI -skriptejä yksinkertaisiksi työnkulkuiksi, jotka hallitsevat yleisiä toimintoja. Ne tarjoavat esimerkiksi sarjan laukaisimia, jotka automatisoivat uusien kuvien rakentamisen, kun rakenneputkistossasi tai jatkuvan integroinnin / jatkuvan toimituksen (CI / CD) järjestelmässä tapahtuu muutoksia.

Yksi vaihtoehto, pikatehtävä, kietoo kaikki vaiheet, joita käytetään tiedostojoukon rakentamiseen säilöön yhdeksi komennoksi. Tarvitset vain työhakemiston tiedostoillasi, olemassa olevan ACR-rekisterin ja Dockerfile-tiedoston. Yksi komento vie nämä tiedostot ja käyttää Docker-tiedostoa kuvan luomiseen tallentamalla sen automaattisesti ACR-arkistoon. Toinen nopea tehtävä suorittaa kuvan valitsemallasi isännällä.

Laita ne yhteen ja sinulla on perussarja työkaluja konttien kuvien testaamiseen. Monimutkaisemmat käyttöönotot vaativat monimutkaisempia komentosarjoja - esimerkiksi säilön asentamisen hallittuun Kubernetes-ilmentymään AKS: n avulla. Vaihtoehtoisesti voit automatisoida koko prosessin luomalla tehtävän, joka valvoo GitHub-repoa asennuksen haaran muutosten varalta, rakentamalla uuden kuvan, kun yhdistät vetopyynnön haaraan tai teet sitoumuksen.

Säiliöiden kiinnittäminen ACR: ään

ACR: n kanssa työskentelyssä on turvallisuusetuja. Yksi suurista ongelmista, jotka kohtaavat jokaisen modernia sovellusta rakentavan, on riippuvuuspuun ymmärtäminen ja hallinta. Mistä tiedät, onko avainkirjaston uusi versio tai hämärtynyt komponentti turvallinen käyttää? Sinun on voitava luottaa säilöihisi, ja ACR tarjoaa kaksi tapaa varmistaa, että käytät aina luotettua koodia.

Ensinnäkin se tarjoaa allekirjoitettuja säilökuvia, joten Kubernetes-klusterisi voi varmistaa, että sen suorittama koodi on koodi, jonka työnnit rekisteriisi rakennusjärjestelmästäsi. Allekirjoitetut kuvat varmistavat, että kukaan ei ole muuttanut säiliön sisältöä sen ollessa käytössä. Toiseksi ACR voi integroitua Azure's Security Centeriin. Tämän avulla voit skannata kuvia rekisteriin tallennettuina tarkistamalla paitsi koodisi ja peruskuvan haavoittuvuudet myös mahdollisten riippuvuuksien suhteen, jotka sisältyvät tai joihin viitataan kuvatiedostossa. Qualys-skannerin avulla Security Center -raportit auttavat sinua tunnistamaan haavoittuvuudet ja korjaussuosituksia.

Asiat muuttuvat mielenkiintoisiksi, kun aloitat ACR-esiintymiesi käyttämisen muuhun kuin säilöihin. OCI on alkanut avata rekisteristandardin artefakteille, Kubelmetes-sovellusten käyttöönoton tosiasiallinen työkalu Helm käyttää sitä viimeisimmässä julkaisussa. Alalla on tapahtunut rekisterien ja arkistojen lisääntymistä, ja on järkevää standardoida yksi kaikille sovelluskomponenteillesi, varsinkin kun ne ovat kaikki osa samaa pilvipohjaista sovellusta.

ACR tukee nyt OCI-rekisteriä tallennustilana (ORAS). ORAS-työkalun avulla voit työntää ja vetää kaikki esineesi samasta ACR-arkistosta. Asenna ORAS kehittäjäkoneihisi tai lisää tukea rakennusputkellesi. Kun olet kirjautunut rekisteriisi Azure Active Directory -palvelun pääkäyttäjällä, jolla on push-oikeudet, työnnä uusia artefakteja rekisteriin ORAS-komentorivityökalulla.

Komentorivityökalun käyttäminen Azure-käyttöliittymässä antaa sinulle joustavuuden rakentaa ORAS-työntö valitsemaasi rakennustyökaluina komentosarana, jota voidaan kutsua tarpeen mukaan. Sama komentorivityökalu voi vetää artefakteja, ja voit rakentaa sen käyttöönotto-komentosarjoihisi, jotta kaikki sovelluksesi muodostavat komponentit voidaan ottaa käyttöön automaattisesti, kun uusi koontiversio työntää ACR-arkistoihisi.

Yksityinen koodi tarvitsee yksityisiä arkistoja, ja säilöidesi ja muiden rakenteellisten esineiden pitäminen Azuressa vie ne sinne, missä niitä tarvitaan. Täydellisen devops-rakentamisprosessin tulisi siirtyä koodin sitoutumisesta käynnissä olevaan sovellukseen ilman ihmisen väliintuloa, joten työkaluista, kuten Azure Container Registry ja siihen liittyvistä tehtävien automaatioista, on välttämätöntä komponentteja missä tahansa Azure-kohdistetussa putkessa. Paitsi että koodi tallennetaan ja otetaan käyttöön automaattisesti maailmanlaajuisesti, se tarkistetaan turvallisuusriskien varalta aina, kun muutos tapahtuu.