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

Pomocí těchto osvědčených postupů můžete 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 o registrech, úložištích a imagích. Viz také Doporučení pro označování a verzování kontejnerových obrazů pro strategie označování a verzování kontejnerových obrazů v rámci vašeho 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 mají efektivní konstruktor vrstvení , který umožňuje přírůstková nasazení. Nové uzly však musí přetahovat všechny vrstvy požadované pro danou image. Toto počáteční docker pull se může rychle nahromadit 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í, použijte funkci geografické replikace služby 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ístní webhooky můžete také nakonfigurovat tak, aby vás informovaly o událostech v konkrétních replikách, jako jsou například při nasdílení imagí.

Geografická replikace je dostupná u registrů Premium .

Maximalizace výkonnosti přenosu dat

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

  • Velikost obrázku – Minimalizujte velikosti obrázků odebráním nepotřebných vrstev nebo zmenšením velikosti vrstev. Jedním ze způsobů, jak zmenšit velikost image, je použít přístup k sestavení Dockeru s více fázemi , aby zahrnoval pouze nezbytné součásti modulu runtime.

    Zkontrolujte také, jestli může image 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 vyměnit vrstvu image pro jednu z image uložených v cache.

  • Počet vrstev – vyrovnává počet použitých vrstev. Pokud máte příliš málo vrstev, nemáte užitek z jejich opakovaného použití a ukládání do mezipaměti na hostu. Pokud je to příliš mnoho, vaše nasazovací prostředí stráví více času načítáním a rozbalováním. Pět až 10 vrstev je optimální.

Zvolte také úroveň služby Azure Container Registry, která splňuje vaše požadavky 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ým objemem.

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

Pomocí oborů názvů úložiště můžete povolit sdílení jednoho registru napříč více skupinami ve vaší organizaci. 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. Obrázky, které se používají pro celou společnost, jako například aspnetcore, se umísťují do kořenového oboru názvů, zatímco obrázky kontejnerů vlastněné skupinami pro produkty a 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/2023-fall/concertpromotions/campaign:218.42

Vyhrazená skupina prostředků

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

I když můžete experimentovat s určitým typem hostitele, jako je Azure Container Instances, budete pravděpodobně chtít instanci kontejneru po dokončení odstranit. 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 jeho vlastní skupiny prostředků minimalizujete riziko nechtěného smazání kolekce obrazů v registru při odstraňování skupiny prostředků 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 Ukázkový scénář Doporučená metoda
Jednotlivá identita Vývojář stahující obrazy do svého vývojového počítače nebo nahrávající obrazy ze svého vývojového počítače. az acr login
Bezhavé systémy/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í ve službě Azure Container Registry najdete v tématu Ověřování pomocí registru kontejnerů 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, principálům služeb nebo jiným identitám, které provádějí různé operace s registrem. Například přiřaďte nabízená oprávnění instančnímu objektu používanému v kanálu buildu a přiřaďte oprávnění k přijetí změn jiné identitě používané k nasazení. Pro jemně odstupňovaný přístup ke konkrétním úložištím použijte oprávnění úložiště microsoft Entra . Alternativně můžete použít oprávnění úložiště založeného na tokenech jiných společností než Microsoft Entra.

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í informace 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 webu Azure Portal:

Informace o využití registru na webu Azure Portal

Poznámka:

V geograficky replikovaném registru se pro domovskou oblast zobrazuje využití úložiště. Vynásobte počtem replikací pro celkové spotřebované ú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 podle značky nebo digestu manifestu, nebo můžete odstranit celé úložiště.

Podrobnosti o odstranění dat obrazu z registru, včetně neoznačených obrazů (někdy nazývaných "nepoužívané" nebo "osiřelé"), viz Odstranění obrazů kontejneru ve službě Azure Container Registry. Můžete také nastavit zásady uchovávání informací pro neoznačené manifesty.

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. Pro podrobnosti o dostupných úrovních služby se podívejte na úrovně služeb Azure Container Registry.

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