Delen via


Zelfstudie: Een spot-container implementeren met Azure Container Instances met behulp van de Azure CLI (preview)

Spot Containers combineren de eenvoud van ACI met de lage kosten van spot-VM's, waardoor klanten eenvoudig en betaalbaar zijn om in containers onderbroken workloads op schaal uit te voeren. Gebruik Azure Container Instances om serverloze Spot-containers uit te voeren. Implementeer een toepassing op aanvraag in een Spot-container wanneer u onderbroken, in containers geplaatste workloads op ongebruikte Azure-capaciteit tegen lage kosten wilt uitvoeren en u geen volledig containerindelingsplatform zoals Azure Kubernetes Service nodig hebt.

In deze quickstart gebruikt u de Azure CLI om een helloworld-container te implementeren met behulp van Spot-containers. Een paar seconden nadat u één implementatieopdracht hebt uitgevoerd, kunt u naar de containerlogboeken bladeren:

  • Voor deze quickstart is versie 2xxx hoger van De Azure CLI vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd.

Een brongroep maken

Azure Container Instances, zoals alle Azure-resources, moeten worden geïmplementeerd in een resourcegroep. Met resourcegroepen kunt u gerelateerde Azure-resources ordenen en beheren.

Maak eerst een resourcegroep met de naam myResourceGroup op de locatie westus met de volgende opdracht az group create :

az group create --name myResourceGroup --location westus

Een container maken

Nu u een resourcegroep hebt, kunt u een Spot-container uitvoeren in Azure. Als u een Spot-containergroep wilt maken met de Azure CLI, geeft u een resourcegroepnaam, de naam van het containerexemplaren, de containerinstallatiekopieën en de nieuwe eigenschap 'prioriteit' op met de waarde 'Spot' met de opdracht az container create . In deze quickstart gebruikt u de openbare installatiekopie mcr.microsoft.com/azuredocs/aci-helloworld. Deze installatiekopie bevat een kleine web-app geschreven in Node.js die een statische HTML-pagina levert.

U kunt uw spotcontainers niet beschikbaar maken op internet door een of meer poorten op te geven die moeten worden geopend, een DNS-naamlabel of beide. In deze quickstart implementeert u een container met behulp van een helloworld-installatiekopie zonder een DNS-naamlabel. Deze is niet openbaar bereikbaar. U kunt query's uitvoeren op de containerlogboeken om te controleren of de container luistert op standaardpoort 80.

Voer een opdracht uit die er als volgt uitziet om een containerinstantie te starten.

az container create --resource-group acispotdemo --name acispotclitest --image mcr.microsoft.com/azuredocs/aci-helloworld --priority spot

Binnen enkele seconden krijgt u een reactie van de Azure-CLI die aangeeft dat de implementatie is voltooid. Controleer de status ervan met de opdracht az container show:

az container show --resource-group acispotdemo --name acispotclitest --query "{ProvisioningState:provisioningState}" --out table

Wanneer u de opdracht uitvoert, worden de FQDN (Fully Qualified Domain Name) en de inrichtingsstatus van de container weergegeven.

ContainerGroupName                               ProvisioningState
---------------------------------  -------------------
acispotclitest                        Succeeded

Als de container ProvisioningState is geslaagd, gefeliciteerd! U hebt een toepassing geïmplementeerd die wordt uitgevoerd in een Docker-container voor Azure.

De containerlogboeken ophalen

Wanneer u problemen moet oplossen voor een container of de toepassing die daarmee wordt uitgevoerd, of als u alleen de uitvoer wilt zien, kunt u eerst de logboeken van de containerinstantie bekijken.

Haal de logboeken van de containerinstantie op met de opdracht az container logs:

az container logs --resource-group acispotdemo --name acispotclitest

In de uitvoer worden de logboeken voor de container weergegeven en moet de onderstaande uitvoer worden weergegeven

listening on port 80

Uitvoerstromen koppelen

Behalve het bekijken van de logboeken kunt u ook uw lokale standaarduitvoer- en standaardgegevensstromen met fouten koppelen aan die van de container.

Voer eerst de opdracht az container attach uit om uw lokale console aan de uitvoerstromen van de container te koppelen:

az container attach --resource-group acispotdemo --name acispotclitest

Nadat u deze hebt gekoppeld, vernieuwt u de browser een paar keer om wat meer uitvoer te genereren. Wanneer u klaar bent, ontkoppelt u ten slotte de console met Control+C. De uitvoer ziet er als volgt uit:

Container 'acispotclitest' is in state 'Running'...
Start streaming logs:
listening on port 80

Resources opschonen

Wanneer u klaar bent met de container, verwijdert u deze met de opdracht az container delete:

az container delete --resource-group acispotdemo --name acispotclitest

Om te controleren of de container is verwijderd, voert u de opdracht az container list uit:

az container list --resource-group acispotdemo --output table

De acispotclitest-container mag niet worden weergegeven in de uitvoer van de opdracht. Als u geen andere containers in de resourcegroep hebt, wordt er geen uitvoer weergegeven.

Als u klaar bent met de acispotdemo-resourcegroep en alle resources die deze bevat, verwijdert u deze met de opdracht az group delete :

az group delete --name acispotdemo

Volgende stappen

In deze zelfstudie hebt u een Spot-container in Azure Container Instances gemaakt met een standaardquotum en verwijderingsbeleid met behulp van de Azure CLI.