Konfigurace image kontejneru pro spouštění nasazení

V tomto článku se dozvíte, jak vytvořit vlastní image kontejneru Bicep pro nasazení definic prostředí v prostředích nasazení Azure (ADE).

V tomto článku se dozvíte, jak vytvořit vlastní image kontejneru Terraform pro nasazení definic prostředí v prostředích nasazení Azure (ADE). Dozvíte se, jak nakonfigurovat vlastní image pro zřizování infrastruktury pomocí architektury Terraform Infrastructure-as-Code (IaC).

V tomto článku se dozvíte, jak využívat Pulumi pro nasazení v prostředích nasazení Azure (ADE). Naučíte se používat ukázkovou image poskytovanou Pulumi nebo jak nakonfigurovat vlastní image pro zřizování infrastruktury pomocí architektury Pulumi Infrastructure as-Code (IaC).

ADE podporuje model rozšiřitelnosti, který umožňuje vytvářet vlastní image, které můžete použít v definicích prostředí. Pokud chcete použít tento model rozšiřitelnosti, vytvořte vlastní image a uložte je do registru kontejneru, jako je Azure Container Registry (ACR) nebo Docker Hub. Na tyto image pak můžete odkazovat v definicích prostředí a nasadit tak vaše prostředí.

Definice prostředí zahrnuje alespoň dva soubory: soubor šablony, například azuredeploy.json nebo main.bicep, a soubor manifestu s názvem environment.yaml. ADE používá kontejnery k nasazení definic prostředí.

Tým ADE nabízí výběr imagí, které vám pomůžou začít, včetně základní image, a image Azure Resource Manageru (ARM)-Bicep. K těmto ukázkovým obrázkům se dostanete ve složce Runner-Images .

Definice prostředí zahrnuje alespoň dva soubory: soubor šablony, například main.tf, a soubor manifestu s názvem environment.yaml. Pomocí kontejneru nasadíte definici prostředí, která používá Terraform.

Definice prostředí zahrnuje alespoň dva soubory: soubor projektu Pulumi, Pulumi.yaml a soubor manifestu s názvem environment.yaml. Může také obsahovat uživatelský program napsaný ve vašem upřednostňovaném programovacím jazyce: C#, TypeScript, Python atd. ADE používá kontejnery k nasazení definic prostředí.

Požadavky

Použití imagí kontejneru s ADE

K používání imagí kontejnerů s ADE můžete použít jeden z následujících přístupů:

  • Použijte ukázkovou image kontejneru Pro jednoduché scénáře použijte ukázkovou image kontejneru ARM-Bicep, kterou poskytuje ADE.
  • Vytvořte vlastní image kontejneru pro složitější scénáře a vytvořte vlastní image kontejneru, která splňuje vaše konkrétní požadavky.

Při použití image kontejneru budete postupovat následovně:

  1. Zvolte typ obrázku, který chcete použít: ukázkový obrázek nebo vlastní obrázek.
    • Pokud používáte vlastní image, začnete s ukázkovou imagí a pak ji přizpůsobíte svým požadavkům.
  2. Sestavte image.
  3. Nahrajte image do privátního registru nebo veřejného registru.
  4. Nakonfigurujte přístup k registru.
    • Pro veřejný registr nakonfigurujte anonymní přijetí změn.
    • U privátního registru udělte službě DevCenter oprávnění ACR.
  5. Přidání umístění image do parametru runner v definici prostředí
  6. Nasaďte prostředí, která používají vlastní image.

Prvním krokem v procesu je volba typu image, kterou chcete použít. Vyberte odpovídající kartu, aby se proces zobrazil.

Použití ukázkové image kontejneru

ADE podporuje ARM a Bicep bez nutnosti další konfigurace. Definici prostředí, která nasadí prostředky Azure pro prostředí nasazení, můžete vytvořit tak, že do katalogu přidáte soubory šablon (například azuredeploy.json a environment.yaml). ADE pak pomocí ukázkové image kontejneru ARM-Bicep vytvoří prostředí nasazení.

V souboru environment.yaml určuje vlastnost umístění image kontejneru, runner kterou chcete použít. Pokud chcete použít ukázkový obrázek publikovaný na Registr artefaktů Microsoft, použijte příslušné identifikátory runner.

Následující příklad ukazuje runner odkaz na ukázkovou image kontejneru ARM-Bicep:

    name: WebApp
    version: 1.0.0
    summary: Azure Web App Environment
    description: Deploys a web app in Azure without a datastore
    runner: Bicep
    templatePath: azuredeploy.json

Ukázkovou image kontejneru Bicep můžete zobrazit v úložišti ukázek ADE ve složce Runner-Images pro image ARM-Bicep .

Další informace o vytváření definic prostředí, které používají image kontejneru ADE k nasazení prostředků Azure, najdete v tématu Přidání a konfigurace definice prostředí.

Ke konfiguraci image Terraformu použijte vlastní image.

Použití ukázkové image kontejneru poskytované Pulumi

Tým Pulumi poskytuje předem připravenou image, která vám umožní začít, kterou můžete vidět ve složce Runner-Image . Tato image je veřejně dostupná ve službě Docker Hub společnosti Pulumi, pulumi/azure-deployment-environmentstakže ji můžete použít přímo z definic prostředí ADE.

Tady je ukázkový soubor environment.yaml , který využívá předem připravenou image:

name: SampleDefinition
version: 1.0.0
summary: First Pulumi-Enabled Environment
description: Deploys a Storage Account with Pulumi
runner: pulumi/azure-deployment-environments:0.1.0
templatePath: Pulumi.yaml

Několik ukázkových definic prostředí najdete ve složce Prostředí.

Sestavení image

Image můžete sestavit pomocí rozhraní příkazového řádku Dockeru. Ujistěte se, že je na vašem počítači nainstalovaný Modul Dockeru. Pak přejděte do adresáře souboru Dockerfile a spusťte následující příkaz:

docker build . -t {YOUR_REGISTRY}.azurecr.io/{YOUR_REPOSITORY}:{YOUR_TAG}

Pokud například chcete uložit image pod úložištěm v rámci vašeho registru s názvem customImage, a nahrát ji pomocí verze 1.0.0značky , spustíte:

docker build . -t {YOUR_REGISTRY}.azurecr.io/customImage:1.0.0

Zpřístupnění vlastní image pro ADE

Abyste mohli používat vlastní image, musíte je uložit do registru kontejneru. Můžete použít veřejný registr kontejneru nebo privátní registr kontejneru. Služba Azure Container Registry (ACR) se důrazně doporučuje, protože její úzká integrace s ADE umožňuje publikování image bez povolení veřejného anonymního přístupu k vyžádání změn. Musíte vytvořit vlastní image kontejneru a odeslat ji do registru kontejneru, aby byla dostupná pro použití v ADE.

Image je také možné uložit do jiného registru kontejneru, jako je Docker Hub, ale v takovém případě musí být veřejně přístupná.

Upozornění

Uložení image kontejneru do registru s anonymním (neověřeným) přístupem k vyžádání obsahu zpřístupňuje veřejně. Nedělejte to, pokud váš obrázek obsahuje nějaké citlivé informace. Místo toho ho uložte ve službě Azure Container Registry (ACR) s zakázaným anonymním přístupem k vyžádání změn.

Pokud chcete použít vlastní image uloženou v ACR, musíte zajistit, aby ADE má příslušná oprávnění pro přístup k imagi. Když vytvoříte instanci ACR, je ve výchozím nastavení zabezpečená a umožňuje přístup pouze ověřeným uživatelům.

Pulumi můžete použít k vytvoření služby Azure Container Registry a publikování image do ní. Podívejte se na příklad zřizování nebo vlastní image pro samostatný projekt Pulumi, který vytvoří všechny požadované prostředky ve vašem účtu Azure.

Další informace o jednotlivých přístupech získáte tak, že vyberete příslušnou kartu.

Použití privátního registru se zabezpečeným přístupem

Ve výchozím nastavení je přístup k vyžádání nebo nabízení obsahu ze služby Azure Container Registry dostupný jenom ověřeným uživatelům. Přístup k ACR můžete dále zabezpečit omezením přístupu z určitých sítí a přiřazením konkrétních rolí.

Pokud chcete vytvořit instanci služby ACR, kterou můžete provést prostřednictvím Azure CLI, webu Azure Portal, příkazů PowerShellu a dalších, postupujte podle jednoho z rychlých startů.

Omezení síťového přístupu

Pokud chcete zabezpečit síťový přístup k ACR, můžete omezit přístup k vlastním sítím nebo zakázat přístup k veřejné síti úplně. Pokud omezíte přístup k síti, musíte povolit výjimku brány firewall Povolit důvěryhodné služby Microsoft pro přístup k tomuto registru kontejneru.

Zakázání přístupu z veřejných sítí:

  1. Vytvořte instanci ACR nebo použijte existující instanci .

  2. Na webu Azure Portal přejděte na službu ACR, kterou chcete nakonfigurovat.

  3. V nabídce vlevo v části Nastavení vyberte Sítě.

  4. Na stránce Sítě na kartě Veřejný přístup v části Přístup k veřejné síti vyberte Zakázáno.

    Snímek obrazovky webu Azure Portal zobrazující nastavení sítě ACR se zvýrazněným veřejným přístupem a zakázaným

  5. V části Výjimka brány firewall zaškrtněte políčko Povolit důvěryhodným služby Microsoft přístup k tomuto registru kontejneru a pak vyberte Uložit.

    Snímek obrazovky nastavení sítě ACR se zvýrazněnou možností Povolit důvěryhodným služby Microsoft přístup k tomuto registru kontejneru a zvýrazněným tlačítkem Uložit

Přiřazení role AcrPull

Vytváření prostředí pomocí imagí kontejnerů používá infrastrukturu ADE, včetně projektů a typů prostředí. Každý projekt má jeden nebo více typů prostředí projektu, které potřebují přístup pro čtení k imagi kontejneru, která definuje prostředí, které se má nasadit. Pokud chcete bezpečně přistupovat k imagím v ACR, přiřaďte roli AcrPull jednotlivým typům prostředí projektu.

Přiřazení role AcrPull k typu prostředí projektu:

  1. Na webu Azure Portal přejděte na službu ACR, kterou chcete nakonfigurovat.

  2. V nabídce vlevo vyberte Řízení přístupu (IAM).

  3. Vyberte Přidat>Přidat přiřazení role.

  4. Přiřaďte následující roli. Podrobný postup najdete v tématu Přiřazování rolí Azure s využitím webu Azure Portal.

    Nastavení Hodnota
    Role Vyberte AcrPull.
    Přiřazení přístupu k Vyberte Uživatele, skupinu nebo instanční objekt.
    Členové Zadejte název typu prostředí projektu, který potřebuje přístup k imagi v kontejneru.

    Typ prostředí projektu se zobrazí jako v následujícím příkladu:

    Snímek obrazovky s podoknem Vybrat členy zobrazující seznam typů prostředí projektu se zvýrazněnou částí názvu

V této konfiguraci ADE používá spravovanou identitu pro PET bez ohledu na to, jestli je systém přiřazený nebo přiřazený uživatelem.

Tip

Toto přiřazení role musí být provedeno pro každý typ prostředí projektu. Je možné ho automatizovat prostřednictvím Azure CLI.

Až budete připraveni odeslat image do registru, spusťte následující příkaz:

docker push {YOUR_REGISTRY}.azurecr.io/{YOUR_IMAGE_LOCATION}:{YOUR_TAG}

Sestavení image kontejneru pomocí skriptu

Místo vytvoření vlastní image a jeho nasdílení do registru kontejneru můžete použít skript k sestavení a nasdílení do zadaného registru kontejneru.

Microsoft poskytuje skript pro rychlý start, který vám pomůže sestavit vlastní image a odeslat ji do registru. Skript sestaví image a nasdílí ji do zadané služby Azure Container Registry (ACR) pod úložištěm ade a značkou latest.

Pokud chcete skript použít, musíte:

  1. Vytvořte složku Dockerfile a skriptů pro podporu modelu rozšiřitelnosti ADE.
  2. Zadejte název registru a adresář pro vlastní image.
  3. Nainstalujte Azure CLI a Docker Desktop a do proměnných PATH.
  4. Máte spuštěnou aplikaci Docker Desktop.
  5. Mít oprávnění k nasdílení změn do zadaného registru.

Skript si můžete prohlédnout tady.

Skript můžete volat pomocí následujícího příkazu v PowerShellu:

.\quickstart-image-build.ps1 -Registry '{YOUR_REGISTRY}' -Directory '{DIRECTORY_TO_YOUR_IMAGE}'

Kromě toho, pokud chcete nasdílení změn do konkrétního úložiště a názvu značky, můžete spustit:

.\quickstart-image.build.ps1 -Registry '{YOUR_REGISTRY}' -Directory '{DIRECTORY_TO_YOUR_IMAGE}' -Repository '{YOUR_REPOSITORY}' -Tag '{YOUR_TAG}'

Připojení image k definici prostředí

Při vytváření definic prostředí pro použití vlastní image v jejich nasazení upravte runner vlastnost v souboru manifestu (environment.yaml nebo manifest.yaml).

runner: "{YOUR_REGISTRY}.azurecr.io/{YOUR_REPOSITORY}:{YOUR_TAG}"

Další informace o vytváření definic prostředí, které používají image kontejneru ADE k nasazení prostředků Azure, najdete v tématu Přidání a konfigurace definice prostředí.