Delen via


Een containerinstallatiekopieën configureren om implementaties uit te voeren

In dit artikel leert u hoe u aangepaste containerinstallatiekopieën bouwt om uw omgevingsdefinities te implementeren in Azure Deployment Environments (ADE).

Een omgevingsdefinitie bestaat uit ten minste twee bestanden: een sjabloonbestand, zoals azuredeploy.json en een manifestbestand met de naam environment.yaml. ADE maakt gebruik van containers voor het implementeren van omgevingsdefinities en biedt systeemeigen ondersteuning voor de Arm-frameworks (Azure Resource Manager) en Bicep IaC.

Met het ADE-uitbreidbaarheidsmodel kunt u aangepaste containerinstallatiekopieën maken voor gebruik met uw omgevingsdefinities. Met behulp van het uitbreidbaarheidsmodel kunt u uw eigen aangepaste containerinstallatiekopieën maken en opslaan in een containerregister, zoals DockerHub. U kunt vervolgens verwijzen naar deze installatiekopieën in uw omgevingsdefinities om uw omgevingen te implementeren.

Het ADE-team biedt een selectie van installatiekopieën om u op weg te helpen, waaronder een kerninstallatiekopieën en een Arm-/Bicep-installatiekopieën (Azure Resource Manager). U kunt deze voorbeeldafbeeldingen openen in de map Runner-Images .

Vereisten

Containerinstallatiekopieën gebruiken met ADE

U kunt een van de volgende methoden gebruiken om containerinstallatiekopieën met ADE te gebruiken:

  • Gebruik de standaardcontainerinstallatiekopieën: gebruik voor eenvoudige scenario's de standaard bicep-containerinstallatiekopieën die door ADE worden geleverd.
  • Een aangepaste containerinstallatiekopieën maken: maak voor complexere scenario's een aangepaste containerinstallatiekopieën die voldoen aan uw specifieke vereisten.

Ongeacht welke benadering u kiest, moet u de containerinstallatiekopieën in uw omgevingsdefinitie opgeven om uw Azure-resources te implementeren.

Een standaardinstallatiekopieën gebruiken

ADE biedt systeemeigen ondersteuning voor Bicep, zodat u een omgevingsdefinitie kunt configureren waarmee Azure-resources voor een implementatieomgeving worden geïmplementeerd door de sjabloonbestanden (azuredeploy.json en environment.yaml) toe te voegen aan uw catalogus. ADE gebruikt vervolgens de standaard bicep-containerinstallatiekopieën om de implementatieomgeving te maken.

In het bestand environment.yaml geeft de eigenschap runner de locatie op van de containerinstallatiekopieën die u wilt gebruiken. Als u de voorbeeldafbeelding wilt gebruiken die is gepubliceerd op de Microsoft-artefactregister, gebruikt u de respectieve id'srunner, zoals vermeld in de volgende tabel.

In het volgende voorbeeld ziet u een runner die verwijst naar de bicep-voorbeeldcontainerinstallatiekopieën:

    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 standaard-Bicep-containerinstallatiekopieën 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.

Een aangepaste containerinstallatiekopie maken

Door een aangepaste containerinstallatiekopieën te maken, kunt u uw implementaties aanpassen aan uw vereisten. U kunt aangepaste installatiekopieën maken op basis van de standaard ADE-containerinstallatiekopieën.

Nadat u de aanpassing van de installatiekopieën hebt voltooid, moet u de installatiekopieën bouwen en naar het containerregister pushen.

Een containerinstallatiekopieën maken en aanpassen met Docker

In dit voorbeeld leert u hoe u een Docker-installatiekopieën bouwt om ADE-implementaties te gebruiken en toegang te krijgen tot de ADE CLI, waarbij uw installatiekopieën worden gebaseerd op een van de door ADE geschreven installatiekopieën.

De ADE CLI is een hulpprogramma waarmee u aangepaste installatiekopieën kunt maken met behulp van ADE-basisinstallatiekopieën. U kunt de ADE CLI gebruiken om uw implementaties en verwijderingen aan te passen aan uw werkstroom. De ADE CLI is vooraf geïnstalleerd op de voorbeeldafbeeldingen. Zie de referentie voor aangepaste Runner-installatiekopieën van CLI voor meer informatie over de ADE CLI.

Als u een installatiekopieën wilt maken die is geconfigureerd voor ADE, voert u de volgende stappen uit:

  1. Baseer uw afbeelding op een voorbeeldafbeelding van ADE of de afbeelding van uw keuze met behulp van de FROM-instructie.
  2. Installeer alle benodigde pakketten voor uw installatiekopie met behulp van de RUN-instructie.
  3. Maak een map met scripts op hetzelfde niveau als uw Dockerfile, sla uw deploy.sh en delete.sh bestanden erin op en zorg ervoor dat deze scripts detecteerbaar en uitvoerbaar zijn in de gemaakte container. Deze stap is nodig om uw implementatie te laten werken met behulp van de ADE-kerninstallatiekopieën.

Selecteer een voorbeeld van een containerinstallatiekopie met behulp van de FROM-instructie

Als u een Docker-installatiekopieën wilt maken voor het gebruik van ADE-implementaties en toegang wilt krijgen tot de ADE CLI, moet u uw installatiekopieën baseren op een van de ADE-creatiekopieën. Neem een FROM-instructie op in een gemaakte DockerFile voor uw nieuwe installatiekopie die verwijst naar een ADE-geschreven voorbeeldinstallatiekopie die wordt gehost op Microsoft-artefactregister. Wanneer u ADE-geschreven installatiekopieën gebruikt, moet u uw aangepaste installatiekopieën baseren op de ADE-kerninstallatiekopieën.

Hier volgt een voorbeeld van een FROM-instructie, die verwijst naar de voorbeeldkernafbeelding:

FROM mcr.microsoft.com/deployment-environments/runners/core:latest

Met deze instructie wordt de laatst gepubliceerde basisinstallatiekopie opgehaald en wordt deze een basis voor uw aangepaste installatiekopie.

Pakketten installeren in een installatiekopieën

U kunt pakketten installeren met de Azure CLI met behulp van de RUN-instructie, zoals wordt weergegeven in het volgende voorbeeld:

RUN az bicep install

De ADE-voorbeeldinstallatiekopieën zijn gebaseerd op de Azure CLI-installatiekopieën en hebben de ADE CLI- en JQ-pakketten vooraf geïnstalleerd. Meer informatie over de Azure CLI en het JQ-pakket.

Als u meer pakketten wilt installeren die u nodig hebt in uw installatiekopie, gebruikt u de RUN-instructie.

Operation Shell-scripts uitvoeren

In de voorbeeldafbeeldingen worden bewerkingen bepaald en uitgevoerd op basis van de naam van de bewerking. Momenteel worden de twee ondersteunde bewerkingsnamen geïmplementeerd en verwijderd.

Als u uw aangepaste installatiekopieën wilt instellen om deze structuur te gebruiken, geeft u een map op het niveau van uw Dockerfile met de naam scripts op en geeft u twee bestanden op, deploy.sh en delete.sh. Het implementatieshell-script wordt uitgevoerd wanneer uw omgeving wordt gemaakt of opnieuw wordt geïmplementeerd en het shell-script verwijderen wordt uitgevoerd wanneer uw omgeving wordt verwijderd. U ziet voorbeelden van shellscripts in de opslagplaats onder de map Runner-Images.

Voeg de volgende regels toe aan uw Dockerfile om ervoor te zorgen dat deze shellscripts uitvoerbaar zijn:

COPY scripts/* /scripts/
RUN find /scripts/ -type f -iname "*.sh" -exec dos2unix '{}' '+'
RUN find /scripts/ -type f -iname "*.sh" -exec chmod +x {} \;

De aangepaste afbeelding toegankelijk maken voor ADE

U moet uw Docker-installatiekopieën bouwen en naar het containerregister pushen om deze beschikbaar te maken voor gebruik in ADE. U kunt uw installatiekopieën bouwen met behulp van de Docker CLI of met behulp van een script van ADE.

Selecteer het juiste tabblad voor meer informatie over elke benadering.

Voordat u de installatiekopieën bouwt die naar uw register moeten worden gepusht, moet u ervoor zorgen 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 customImageen wilt uploaden met de tagversie, 1.0.0voert u het volgende uit:

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

De installatiekopieën naar een register pushen

Als u aangepaste installatiekopieën wilt gebruiken, moet u een openbaar toegankelijk installatiekopieregister instellen met anonieme pull-installatiekopie ingeschakeld. Op deze manier hebben Azure Deployment Environments toegang tot uw aangepaste installatiekopieën die in onze container kunnen worden uitgevoerd.

Azure Container Registry is een Azure-aanbieding waarin containerinstallatiekopieën en vergelijkbare artefacten worden opgeslagen.

Volg een van de quickstarts om een register te maken dat kan worden uitgevoerd via de Azure CLI, Azure Portal, PowerShell-opdrachten en meer.

Voer de volgende opdrachten uit in de Azure CLI om uw register in te stellen voor het ophalen van anonieme installatiekopieën:

az login
az acr login -n {YOUR_REGISTRY}
az acr update -n {YOUR_REGISTRY} --public-network-enabled true
az acr update -n {YOUR_REGISTRY} --anonymous-pull-enabled true

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}

Verbinding maken de installatiekopieën naar 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}"

Toegang tot bewerkingslogboeken en foutdetails

ADE slaat foutdetails op voor een mislukte implementatie in het bestand $ADE_ERROR_LOG in de container.

Problemen met een mislukte implementatie oplossen:

  1. Meld u aan bij de ontwikkelaarsportal.

  2. Identificeer de omgeving die niet kan worden geïmplementeerd en selecteer Details weergeven.

    Schermopname van foutdetails van mislukte implementatie, met name een ongeldige naam voor een opslagaccount.

  3. Bekijk de foutdetails in de sectie Foutdetails .

    Schermopname van een mislukte implementatie van een omgeving met de knop Details weergeven weergegeven.

Daarnaast kunt u de Azure CLI gebruiken om de foutdetails van een omgeving weer te geven met behulp van de volgende opdracht:

az devcenter dev environment show --environment-name {YOUR_ENVIRONMENT_NAME} --project {YOUR_PROJECT_NAME}

Als u de bewerkingslogboeken voor een omgevingsimplementatie of verwijdering wilt weergeven, gebruikt u de Azure CLI om de meest recente bewerking voor uw omgeving op te halen en bekijkt u vervolgens de logboeken voor die bewerkings-id.

# Get list of operations on the environment, choose the latest operation
az devcenter dev environment list-operation --environment-name {YOUR_ENVIRONMENT_NAME} --project {YOUR_PROJECT_NAME}
# Using the latest operation ID, view the operation logs
az devcenter dev environment show-logs-by-operation --environment-name {YOUR_ENVIRONMENT_NAME} --project {YOUR_PROJECT_NAME} --operation-id {LATEST_OPERATION_ID}