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í vašeho 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 regionální webhooky , které vás budou upozorňovat na události v konkrétních replikách, jako je například odeslání imagí.

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 načítání

Kromě umístění imagí v blízkosti nasazení můžou mít vlastnosti samotných imagí vliv na výkon načítá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 vícefázový přístup k sestavení Dockeru tak, aby zahrnoval pouze nezbytné komponenty 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 image zaměnit za jednu z imagí uložených v mezipaměti.

  • Počet vrstev – vyrovná počet použitých vrstev. Pokud jich máte příliš málo, nebudete těžit z 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í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 dat.

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 umisťují 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í 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 Azure Container Registry ověřování najdete v tématu Ověřování pomocí registru kontejneru Azure.

Azure Container Registry podporuje postupy zabezpečení ve vaší organizaci při 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 přiřaďte jiné identitě použité k nasazení. Vytváření tokenů 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 a geografickou replikaci s hyperškálovým škálováním. 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 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 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 odstranění dat image z registru kontejneru. Obrázky můžete odstranit podle hodnot hash značek nebo manifestu nebo můžete odstranit celé úložiště.

Podrobnosti o odstraňování dat image z registru, včetně neoznačeného (někdy označovaného jako "visgling" nebo "osamocené") imagí, najdete v tématu Odstranění imagí kontejnerů v 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. Podrobnosti o dostupných úrovních služby najdete v tématu Azure Container Registry úrovní 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.