Sdílet prostřednictvím


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 správu verzí imagí kontejnerů pro strategie označování a verzí imagí ve vašem 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í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 . 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žádané replikace

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 prohodit vrstvu image pro jednu z imagí uložených v mezipaměti.

  • Počet vrstev – vyrovnává počet použitých vrstev. Pokud máte příliš málo, nemáte užitek z opakovaného použití vrstvy a ukládání do mezipaměti na hostiteli. Příliš mnoho a vaše prostředí nasazení tráví více času načítáním a dekompresí. 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. Image, které se používají pro celou společnost, například aspnetcore, se umístí do kořenového oboru názvů, zatímco image kontejnerů vlastněné skupinami Products 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/2017-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 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 Ukázkový scénář 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í 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 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 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í. Vytvořte 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í 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 značkou nebo hodnotou hash manifestu nebo odstranit celé úložiště.

Podrobnosti o odstranění dat image z registru, včetně neoznačené image (někdy označované jako "shodné" nebo "osamocené") image, najdete v tématu Odstranění imagí 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. Podrobnostioch

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