Containerinstallatiekopieën configureren om implementaties uit te voeren
In dit artikel leert u hoe u aangepaste Bicep-containerinstallatiekopieën bouwt om uw omgevingsdefinities te implementeren in Azure Deployment Environments (ADE).
In dit artikel leert u hoe u aangepaste Terraform-containerinstallatiekopieën bouwt om uw omgevingsdefinities te implementeren in Azure Deployment Environments (ADE). U leert hoe u een aangepaste installatiekopie configureert om infrastructuur in te richten met behulp van het Terraform IaC-framework (Infrastructure-as-Code).
In dit artikel leert u hoe u Pulumi gebruikt voor implementaties in Azure Deployment Environments (ADE). U leert hoe u een voorbeeldinstallatiekopie van Pulumi gebruikt of hoe u een aangepaste installatiekopie configureert om infrastructuur in te richten met behulp van het IaC-framework (Infrastructure-as-Code).
ADE ondersteunt een uitbreidbaarheidsmodel waarmee u aangepaste installatiekopieën kunt maken die u in uw omgevingsdefinities kunt gebruiken. Als u dit uitbreidbaarheidsmodel wilt gebruiken, maakt u uw eigen aangepaste installatiekopieën en slaat u deze op in een containerregister, zoals Azure Container Registry (ACR) of Docker Hub. U kunt vervolgens verwijzen naar deze installatiekopieën in uw omgevingsdefinities om uw omgevingen te implementeren.
Een omgevingsdefinitie bestaat uit ten minste twee bestanden: een sjabloonbestand, zoals azuredeploy.json of main.bicep, en een manifestbestand met de naam environment.yaml. ADE maakt gebruik van containers voor het implementeren van omgevingsdefinities.
Het ADE-team biedt een selectie van installatiekopieën om u op weg te helpen, inclusief een kerninstallatiekopieën en een Arm-Bicep-installatiekopieën (Azure Resource Manager). U kunt deze voorbeeldafbeeldingen openen in de map Runner-Images .
Een omgevingsdefinitie bestaat uit ten minste twee bestanden: een sjabloonbestand, zoals main.tf en een manifestbestand met de naam environment.yaml. U gebruikt een container om een omgevingsdefinitie te implementeren die gebruikmaakt van Terraform.
Een omgevingsdefinitie bestaat uit ten minste twee bestanden: een Pulumi-projectbestand, Pulumi.yaml en een manifestbestand met de naam environment.yaml. Het kan ook een gebruikersprogramma bevatten dat is geschreven in de programmeertaal van uw voorkeur: C#, TypeScript, Python, enzovoort. ADE maakt gebruik van containers voor het implementeren van omgevingsdefinities.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Azure Deployment Environments die zijn ingesteld in uw Azure-abonnement.
- Als u ADE wilt instellen, volgt u de quickstart: Azure Deployment Environments configureren.
Containerinstallatiekopieën gebruiken met ADE
U kunt een van de volgende methoden gebruiken om containerinstallatiekopieën met ADE te gebruiken:
- Gebruik een voorbeeldcontainerinstallatiekopieën voor eenvoudige scenario's de arm-Bicep-containerinstallatiekopieën die door ADE worden geleverd.
- Maak een aangepaste containerinstallatiekopieën Voor complexere scenario's maakt u een aangepaste containerinstallatiekopieën die voldoen aan uw specifieke vereisten.
De belangrijkste stappen die u moet volgen bij het gebruik van een containerinstallatiekopieën zijn:
- Kies het afbeeldingstype dat u wilt gebruiken: een voorbeeldafbeelding of een aangepaste afbeelding.
- Als u een aangepaste afbeelding gebruikt, begint u met een voorbeeldafbeelding en past u deze vervolgens aan uw vereisten aan.
- Bouw de installatiekopieën.
- Upload de installatiekopieën naar een persoonlijk register of een openbaar register.
- Toegang tot het register configureren.
- Configureer anonieme pull voor een openbaar register.
- Voor een privéregister geeft u de DevCenter ACR-machtigingen.
- Uw installatiekopieënlocatie toevoegen aan de
runner
parameter in uw omgevingsdefinitie - Implementeer omgevingen die gebruikmaken van uw aangepaste installatiekopieën.
De eerste stap in het proces is het kiezen van het type afbeelding dat u wilt gebruiken. Selecteer het bijbehorende tabblad om het proces te bekijken.
Een voorbeeld van een containerinstallatiekopieën gebruiken
ADE ondersteunt ARM en Bicep zonder extra configuratie. U kunt een omgevingsdefinitie maken waarmee Azure-resources voor een implementatieomgeving worden geïmplementeerd door de sjabloonbestanden (zoals azuredeploy.json en environment.yaml) toe te voegen aan uw catalogus. ADE gebruikt vervolgens de voorbeeldinstallatiekopieën van de ARM-Bicep-container om de implementatieomgeving te maken.
In het bestand environment.yaml geeft de runner
eigenschap de locatie op van de containerinstallatiekopieën die u wilt gebruiken. Als u de voorbeeldafbeelding wilt gebruiken die op de Microsoft-artefactregister is gepubliceerd, gebruikt u de respectieve id'srunner
.
In het volgende voorbeeld ziet u een runner
afbeelding van de ARM-Bicep-container:
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
U kunt de voorbeeldinstallatiekopieën van bicep-containers zien in de ADE-voorbeeldopslagplaats onder de map Runner-Images voor de ARM-Bicep-installatiekopieën .
Zie Een omgevingsdefinitie toevoegen en configureren voor meer informatie over het maken van omgevingsdefinities die gebruikmaken van de ADE-containerinstallatiekopieën om uw Azure-resources te implementeren.
Gebruik een aangepaste installatiekopieën om een Terraform-installatiekopieën te configureren.
Een voorbeeldcontainerinstallatiekopieën van Pulumi gebruiken
Het Pulumi-team biedt een vooraf samengestelde installatiekopieën om u op weg te helpen, die u kunt zien in de map Runner-Image . Deze installatiekopieën zijn openbaar beschikbaar in de Docker Hub van Pulumi, pulumi/azure-deployment-environments
zodat u deze rechtstreeks vanuit uw ADE-omgevingsdefinities kunt gebruiken.
Hier volgt een voorbeeldbestand environment.yaml dat gebruikmaakt van de vooraf gemaakte installatiekopieën:
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
U vindt een aantal voorbeeldomgevingdefinities in de map Omgevingen.
Een installatiekopie bouwen
U kunt uw installatiekopieën bouwen met behulp van de Docker CLI. Zorg ervoor dat de Docker Engine op uw computer is geïnstalleerd . Navigeer vervolgens naar de map van uw Dockerfile en voer de volgende opdracht uit:
docker build . -t {YOUR_REGISTRY}.azurecr.io/{YOUR_REPOSITORY}:{YOUR_TAG}
Als u bijvoorbeeld uw installatiekopieën wilt opslaan onder een opslagplaats in het register met de naam customImage
en wilt uploaden met de tagversie, 1.0.0
voert u het volgende uit:
docker build . -t {YOUR_REGISTRY}.azurecr.io/customImage:1.0.0
De aangepaste installatiekopieën beschikbaar maken voor ADE
Als u aangepaste installatiekopieën wilt gebruiken, moet u deze opslaan in een containerregister. U kunt een openbaar containerregister of een privécontainerregister gebruiken. Azure Container Registry (ACR) wordt ten zeerste aanbevolen vanwege de nauwe integratie met ADE, kan de installatiekopie worden gepubliceerd zonder openbare anonieme pull-toegang toe te staan. U moet uw aangepaste containerinstallatiekopieën bouwen en naar een containerregister pushen om deze beschikbaar te maken voor gebruik in ADE.
Het is ook mogelijk om de installatiekopieën op te slaan in een ander containerregister, zoals Docker Hub, maar in dat geval moet deze openbaar toegankelijk zijn.
Let op
Als u de containerinstallatiekopie opslaat in een register met anonieme (niet-geverifieerde) pull-toegang, is deze openbaar toegankelijk. Doe dit niet als uw afbeelding gevoelige informatie bevat. Sla deze in plaats daarvan op in Azure Container Registry (ACR) met anonieme pull-toegang uitgeschakeld.
Als u een aangepaste installatiekopieën wilt gebruiken die is opgeslagen in ACR, moet u ervoor zorgen dat ADE over de juiste machtigingen beschikt om toegang te krijgen tot uw installatiekopieën. Wanneer u een ACR-exemplaar maakt, is deze standaard beveiligd en kunnen geverifieerde gebruikers alleen toegang krijgen.
U kunt Pulumi gebruiken om een Azure Container Registry te maken en uw installatiekopieën ernaar te publiceren. Raadpleeg het voorbeeld van inrichten/aangepaste installatiekopieën voor een zelfstandig Pulumi-project waarmee alle vereiste resources in uw Azure-account worden gemaakt.
Selecteer het juiste tabblad voor meer informatie over elke benadering.
Een privéregister gebruiken met beveiligde toegang
Standaard is toegang tot het ophalen of pushen van inhoud vanuit een Azure Container Registry alleen beschikbaar voor geverifieerde gebruikers. U kunt de toegang tot ACR verder beveiligen door de toegang van bepaalde netwerken te beperken en specifieke rollen toe te wijzen.
Als u een exemplaar van ACR wilt maken, dat kan worden uitgevoerd via de Azure CLI, azure portal, PowerShell-opdrachten en meer, volgt u een van de quickstarts.
Netwerktoegang beperken
Als u de netwerktoegang tot uw ACR wilt beveiligen, kunt u de toegang tot uw eigen netwerken beperken of de toegang tot openbare netwerken volledig uitschakelen. Als u de netwerktoegang beperkt, moet u de firewall-uitzondering vertrouwde Microsoft-services toegang geven tot dit containerregister inschakelen.
Toegang vanuit openbare netwerken uitschakelen:
Maak een ACR-exemplaar of gebruik een bestaand exemplaar.
Ga in Azure Portal naar de ACR die u wilt configureren.
Selecteer Netwerken in het linkermenu onder Instellingen.
Selecteer Uitgeschakeld op de pagina Netwerken op het tabblad Openbare toegang onder Openbare netwerktoegang.
Controleer onder Firewall-uitzondering of Vertrouwde Microsoft-services toegang tot dit containerregister toestaan is geselecteerd en selecteer vervolgens Opslaan.
De rol AcrPull toewijzen
Het maken van omgevingen met behulp van containerinstallatiekopieën maakt gebruik van de ADE-infrastructuur, inclusief projecten en omgevingstypen. Elk project heeft een of meer projectomgevingstypen, die leestoegang nodig hebben tot de containerinstallatiekopie die de omgeving definieert die moet worden geïmplementeerd. Als u de installatiekopieën in uw ACR veilig wilt openen, wijst u de AcrPull-rol toe aan elk type projectomgeving.
De AcrPull-rol toewijzen aan het projectomgevingstype:
Ga in Azure Portal naar de ACR die u wilt configureren.
Selecteer toegangsbeheer (IAM) in het linkermenu.
Selecteer Toevoegen>Roltoewijzing toevoegen.
Wijs de volgende rol toe. Raadpleeg Azure-rollen toewijzen met Azure Portal voor informatie over het toewijzen van rollen.
Instelling Weergegeven als - Rol Selecteer AcrPull. Toegang toewijzen aan Selecteer Gebruiker, groep of service-principal. Leden Voer de naam in van het projectomgevingstype dat toegang nodig heeft tot de installatiekopie in de container. Het projectomgevingstype wordt weergegeven zoals in het volgende voorbeeld:
In deze configuratie gebruikt ADE de beheerde identiteit voor het PET, ongeacht of het systeem is toegewezen of door de gebruiker is toegewezen.
Tip
Deze roltoewijzing moet worden gemaakt voor elk type projectomgeving. Het kan worden geautomatiseerd via de Azure CLI.
Wanneer u klaar bent om uw installatiekopieën naar uw register te pushen, voert u de volgende opdracht uit:
docker push {YOUR_REGISTRY}.azurecr.io/{YOUR_IMAGE_LOCATION}:{YOUR_TAG}
Een containerinstallatiekopieën bouwen met een script
In plaats van zelf uw aangepaste installatiekopieën te bouwen en naar een containerregister te pushen, kunt u een script gebruiken om deze te bouwen en naar een opgegeven containerregister te pushen.
Microsoft biedt een snelstartscript om u te helpen uw aangepaste installatiekopieën te bouwen en deze naar een register te pushen. Het script bouwt uw installatiekopieën en pusht deze naar een opgegeven Azure Container Registry (ACR) onder de opslagplaats ade
en de tag latest
.
Als u het script wilt gebruiken, moet u het volgende doen:
- Maak een Dockerfile- en scriptsmap ter ondersteuning van het ADE-uitbreidbaarheidsmodel.
- Geef een registernaam en map op voor uw aangepaste installatiekopieën.
- Laat de Azure CLI en Docker Desktop zijn geïnstalleerd en in uw PATH-variabelen.
- Laat Docker Desktop worden uitgevoerd.
- Machtigingen hebben om naar het opgegeven register te pushen.
U kunt het script hier bekijken.
U kunt het script aanroepen met behulp van de volgende opdracht in PowerShell:
.\quickstart-image-build.ps1 -Registry '{YOUR_REGISTRY}' -Directory '{DIRECTORY_TO_YOUR_IMAGE}'
Als u bovendien wilt pushen naar een specifieke opslagplaats en tagnaam, kunt u het volgende uitvoeren:
.\quickstart-image.build.ps1 -Registry '{YOUR_REGISTRY}' -Directory '{DIRECTORY_TO_YOUR_IMAGE}' -Repository '{YOUR_REPOSITORY}' -Tag '{YOUR_TAG}'
De installatiekopieën verbinden met uw omgevingsdefinitie
Wanneer u omgevingsdefinities maakt voor het gebruik van uw aangepaste installatiekopieën in de implementatie, bewerkt u de runner
eigenschap in het manifestbestand (environment.yaml of manifest.yaml).
runner: "{YOUR_REGISTRY}.azurecr.io/{YOUR_REPOSITORY}:{YOUR_TAG}"
Zie Een omgevingsdefinitie toevoegen en configureren voor meer informatie over het maken van omgevingsdefinities die gebruikmaken van de ADE-containerinstallatiekopieën om uw Azure-resources te implementeren.