Osvědčené postupy pro službu Azure Container Registry

Pomocí těchto osvědčených postupů můžete pomoct maximalizovat výkon a nákladově efektivní využití privátního registru v Azure k ukládání a nasazování imagí kontejnerů a dalších artefaktů.

Základní informace o konceptech registru najdete v tématu Informace o registrech, úložištích a imagích. Viz také Doporučení pro označování a správu verzí imagí kontejnerů pro strategie označování a verzí imagí v registru.

Nasazení blízko sítě

Vytvořte registr kontejnerů ve stejné oblasti Azure, do které nasazujete kontejnery. Umístění registru do oblasti blízko sítě hostitelů kontejnerů může pomoct snížit latenci i náklady.

Nasazení blízko sítě je jedním z hlavních důvodů pro použití privátního registru kontejnerů. Image Dockeru obsahují efektivní koncept vrstvení, který umožňuje přírůstkové nasazování. Nové uzly však musí přetahovat všechny vrstvy požadované pro danou image. Toto počáteční přetáhnutí příkazem docker pull se rychle může rozrůst až na několik gigabajtů. Umístění privátního registru blízko nasazení minimalizuje latenci sítě. Všechny veřejné cloudy včetně Azure navíc zahrnují poplatky za odchozí přenosy v síti. Přetahování imagí z jednoho datacentra do jiného zvyšuje kromě latence i poplatky za odchozí přenosy v síti.

Geografická replikace nasazení ve více oblastech

Pokud nasazujete kontejnery do více oblastí, využijte funkci geografické replikace ve službě Azure Container Registry. Ať už obsluhujete globální zákazníky z místních datacenter nebo je váš vývojový tým rozmístěný v různých oblastech, díky geografické replikaci registru můžete zjednodušit správu registru a minimalizovat latenci. Můžete také nakonfigurovat místní webhooky , které vás budou upozorňovat na události v konkrétních replikách, například když se nasdílí image.

Geografická replikace je k dispozici u registrů Premium . Informace o použití geografické replikace najdete v třídílném kurzu Geografická replikace ve službě Azure Container Registry.

Maximalizace výkonu vyžádání změn

Kromě umístění imagí v blízkosti vašich nasazení můžou mít vlastnosti samotných imagí vliv na výkon vyžádání.

  • Velikost obrázku – minimalizujte velikosti obrázků tím, že odeberete nepotřebné vrstvy nebo zmenšujete jejich velikost. Jedním ze způsobů, jak zmenšit velikost image, je použít vícefázový přístup k sestavení Dockeru tak, aby zahrnoval pouze nezbytné součásti modulu runtime.

    Zkontrolujte také, jestli vaše image může obsahovat světlejší základní image operačního systému. A pokud používáte prostředí nasazení, jako je Azure Container Instances, které ukládá určité základní image do mezipaměti, zkontrolujte, jestli můžete vrstvu imagí prohodit za některou z imagí v mezipaměti.

  • Počet vrstev – vyrovná počet použitých vrstev. Pokud jich máte příliš málo, opětovné použití vrstev a ukládání do mezipaměti na hostiteli neprospěje. Příliš mnoho a prostředí nasazení tráví více času stahováním a dekompresí. Optimální je pět až 10 vrstev.

Zvolte také úroveň služby Azure Container Registry, která vyhovuje vašim požadavkům na výkon. Úroveň Premium poskytuje největší šířku pásma a nejvyšší rychlost souběžných operací čtení a zápisu, pokud máte nasazení s velkými objemy.

Obory názvů úložiště

Pomocí oborů názvů úložiště můžete povolit sdílení jednoho registru mezi několika skupinami v rámci vaší organizace. Registry se můžou sdílet napříč nasazeními a týmy. Azure Container Registry podporuje vnořené obory názvů a díky tomu umožňuje izolaci skupin. Registr ale spravuje všechna úložiště nezávisle, ne jako hierarchii.

Představte si například následující značky image kontejneru. Image, které se používají pro celou společnost, jako aspnetcoreje , se umístí do kořenového oboru názvů, zatímco image kontejnerů vlastněné skupinami Products and Marketing používají své vlastní obory názvů.

  • contoso.azurecr.io/aspnetcore:2.0
  • contoso.azurecr.io/products/widget/web:1
  • contoso.azurecr.io/products/bettermousetrap/refundapi:12.3
  • contoso.azurecr.io/marketing/2017-fall/concertpromotions/campaign:218.42

Vyhrazená skupina prostředků

Vzhledem k tomu, že registry kontejnerů jsou prostředky, které se používají napříč několika hostiteli kontejnerů, měl by se registr nacházet ve své vlastní skupině prostředků.

I když můžete experimentovat s konkrétním typem hostitele, například Azure Container Instances, budete pravděpodobně chtít instanci kontejneru odstranit, až budete hotovi. Můžete však také chtít zachovat kolekci imagí, které jste nasdíleli do služby Azure Container Registry. Umístěním registru do vlastní skupiny prostředků minimalizujete riziko nechtěného odstranění kolekce imagí v registru při odstraňování skupiny prostředků instance kontejneru.

Ověřování a autorizace

Při ověřování ve službě Azure Container Registry existují dva primární scénáře: jednotlivé ověření a ověření služby (neboli bezobslužné ověření). Následující tabulka obsahuje stručný přehled těchto scénářů a doporučenou metodu ověřování pro každý z nich.

Typ Příklad scénáře Doporučená metoda
Jednotlivá identita Vývojář přetahující image do svého vývojového počítače nebo sdílející image ze svého vývojového počítače. az acr login
Bezobslužné ověření/identita služby Kanály sestavení a nasazení bez přímého zapojení uživatele. Instanční objekt

Podrobné informace o těchto a dalších scénářích ověřování Azure Container Registry najdete v tématu Ověřování pomocí registru kontejneru Azure.

Azure Container Registry podporuje postupy zabezpečení ve vaší organizaci k distribuci povinností a oprávnění různým identitám. Pomocí řízení přístupu na základě role přiřaďte příslušná oprávnění různým uživatelům, instančním objektům nebo jiným identitám, které provádějí různé operace registru. Například přiřaďte oprávnění k nabízeným oznámením instančnímu objektu používanému v kanálu sestavení a oprávnění pro přijetí změn k jiné identitě používané k nasazení. Vytvářejte tokeny pro jemně odstupňovaný a časově omezený přístup ke konkrétním úložištím.

Správa velikosti registru

Omezení úložiště jednotlivých úrovní služby registru kontejnerů jsou určená tak, aby odpovídala typickému scénáři: Základní pro začátek, Standard pro většinu produkčních aplikací a Premium pro výkon hyper-škálování a geografickou replikaci. Po celou dobu životnosti vašeho registru byste měli spravovat jeho velikost pravidelným odstraňováním nevyužívaného obsahu.

Pomocí příkazu Azure CLI az acr show-usage zobrazte aktuální spotřebu úložiště a dalších prostředků ve vašem registru:

az acr show-usage --resource-group myResourceGroup --name myregistry --output table

Ukázkový výstup:

NAME                        LIMIT         CURRENT VALUE    UNIT
--------------------------  ------------  ---------------  ------
Size                        536870912000  215629144        Bytes
Webhooks                    500           1                Count
Geo-replications            -1            3                Count
IPRules                     100           1                Count
VNetRules                   100           0                Count
PrivateEndpointConnections  10            0                Count

Aktuální využití úložiště najdete také v přehledu registru na Azure Portal:

Informace o využití registru na webu Azure Portal

Poznámka

V geograficky replikovaném registru se využití úložiště zobrazuje pro domovskou oblast. Vynásobte počtem replikací pro celkové využití úložiště registru.

Odstranění dat obrázku

Azure Container Registry podporuje několik metod pro odstranění dat image z registru kontejneru. Obrázky můžete odstranit pomocí hodnot hash značek nebo manifestu nebo odstranit celé úložiště.

Podrobnosti o odstranění dat image z registru, včetně neoznačeného (někdy označovaného jako "osiřelé" nebo "osamocené") imagí, najdete v tématu Odstranění imagí kontejneru v Azure Container Registry. Můžete také nastavit zásady uchovávání informací pro manifesty bez zpomalování.

Další kroky

Azure Container Registry je k dispozici v několika úrovních (označovaných také jako skladové položky), které poskytují různé možnosti. Podrobnosti o dostupných úrovních služby najdete v tématu Azure Container Registry úrovních služby.

Doporučení ke zlepšení stavu zabezpečení registrů kontejnerů najdete v tématu Standardní hodnoty zabezpečení Azure pro Azure Container Registry.