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í kontejneru a dalších artefaktů.

Základní informace o konceptech registru najdete v tématu o registrech, úložištích a obrázcích. další informace najdete v tématu Recommendations pro označování a správu verzí imagí kontejnerů pro strategie pro označení a verze 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 regionální Webhooky , které vás upozorní na události v konkrétních replikách, jako je například při vložení obrázků.

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

Maximalizovat výkon vyžádaného čtení

Kromě toho, že se obrázky blíží nasazení, můžou charakteristiky vašich imagí ovlivnit výkon vyžádaného volání.

  • Velikost obrázku – minimalizujte velikost obrázků odstraněním zbytečných vrstev nebo zmenšením velikosti vrstev. Jedním ze způsobů, jak zmenšit velikost obrázku, je použít k zahrnutí pouze nezbytných součástí modulu runtime Docker Build .

    Také ověřte, zda váš obrázek může obsahovat světlejší základní bitovou kopii operačního systému. A pokud použijete prostředí nasazení, například Azure Container Instances, které ukládá do mezipaměti určité základní bitové kopie, ověřte, zda lze zaměnit vrstvu obrázku pro jednu z imagí v mezipaměti.

  • Počet vrstev – vyvážení počtu použitých vrstev. Pokud máte moc málo, nebudete využívat možnosti opětovného použití vrstvy a ukládání do mezipaměti na hostiteli. Příliš mnoho a prostředí nasazení tráví víc času na navýšení a dekompresi. Optimální je 5 až 10 vrstev.

Také vyberte vrstvu služby Azure Container Registry, která splňuje vaše požadavky na výkon. Premium úroveň poskytuje největší šířku pásma a nejvyšší míru souběžných operací čtení a zápisu, když máte nasazení ve velkém objemu.

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

Pomocí názvových prostorů úložiště můžete v rámci vaší organizace sdílet jeden registr napříč několika skupinami. 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, nikoli jako hierarchii.

Představte si například následující značky image kontejneru. Image, které se používají v rámci podnikové sítě, jako aspnetcore jsou umístěné v kořenovém oboru názvů, zatímco image kontejneru vlastněné produkty a marketingovými skupinami 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í na více hostitelích kontejnerů, měl by být registr umístěný ve vlastní skupině prostředků.

I když můžete experimentovat s konkrétním typem hostitele, jako je například Azure Container Instances, pravděpodobně budete chtít odstranit instanci kontejneru, 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 Azure Container Registrych scénářích ověřování najdete v tématu ověřování pomocí služby Azure Container Registry.

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 založeného na rolíchpř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 s registrací. Přiřaďte například nabízená oprávnění k instančnímu objektu použitému v kanálu sestavení a přiřaďte oprávnění pro vyžádání obsahu pro jinou identitu, která se používá 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ě každé úrovně služby registru kontejneru jsou zamýšlená 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 a geografickou replikacina úrovni technologie hyper-v. 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ů v 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ě můžete najít také v přehledu registru v 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 oblast domů. Vynásobte počet replikací pro celkové spotřebované úložiště registru.

Odstranit data obrázku

Azure Container Registry podporuje několik metod odstranění dat imagí z registru kontejneru. Můžete odstranit obrázky podle značky nebo výtahu manifestu nebo odstranit celé úložiště.

Podrobnosti o odstranění dat imagí z registru, včetně neoznačeného (někdy nazývaného "dangling" 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 netagované manifesty.

Další kroky

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

Doporučení pro zlepšení stav zabezpečení registrů kontejnerů najdete v tématu základní informace o zabezpečení Azure pro Azure Container Registry.