Kurz: Nasazení spotového kontejneru se službou Azure Container Instances pomocí Azure CLI (Preview)

Spot Containers kombinuje jednoduchost ACI s nízkými náklady na spotové virtuální počítače, které zákazníkům usnadňují a cenově dostupné spouštění kontejnerizovaných přerušitelných úloh ve velkém měřítku. Pomocí služby Azure Container Instances můžete spouštět bezserverové spotové kontejnery. Nasaďte aplikaci do spotového kontejneru na vyžádání, když chcete spouštět přerušitelné kontejnerizované úlohy v nevyužité kapacitě Azure s nízkými náklady a nepotřebujete úplnou platformu orchestrace kontejnerů, jako je Azure Kubernetes Service.

V tomto rychlém startu pomocí Azure CLI nasadíte kontejner Helloworld pomocí spotových kontejnerů. Několik sekund po spuštění jednoho příkazu nasazení můžete přejít k protokolům kontejneru:

  • Tento rychlý start vyžaduje verzi 2xxx později v Azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.

Vytvoření skupiny zdrojů

Instance kontejnerů Azure, stejně jako všechny prostředky Azure, se musí nasadit do skupiny prostředků. Skupiny prostředků vám umožňují organizaci a správu souvisejících prostředků Azure.

Nejprve vytvořte skupinu prostředků myResourceGroup v umístění westus pomocí následujícího příkazu az group create :

az group create --name myResourceGroup --location westus

Vytvoření kontejneru

Teď, když máte skupinu prostředků, můžete spustit spotový kontejner v Azure. Pokud chcete vytvořit skupinu spotových kontejnerů pomocí Azure CLI, zadejte název skupiny prostředků, název instance kontejneru, image kontejneru a novou vlastnost s názvem priority s hodnotou Spot pro příkaz az container create . V tomto rychlém startu použijete veřejnou mcr.microsoft.com/azuredocs/aci-helloworld image. Tento obrázek zabalí malou webovou aplikaci napsanou v Node.js, která obsluhuje statickou stránku HTML.

Spotové kontejnery nemůžete zveřejnit na internetu zadáním jednoho nebo více portů pro otevření, popisku názvu DNS nebo obojího. V tomto rychlém startu nasadíte kontejner pomocí image helloworld bez popisku názvu DNS. Nebude veřejně dostupný. Můžete dotazovat protokoly kontejneru a ověřit, že kontejner naslouchá na výchozím portu 80.

Spuštěním příkazu podobného následujícímu spusťte instanci kontejneru.

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

Během několika sekund byste měli dostat odpověď z rozhraní příkazového řádku Azure oznamující, že nasazení bylo dokončeno. Zkontrolujte stav pomocí příkazu az container show:

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

Po spuštění příkazu se zobrazí plně kvalifikovaný název domény kontejneru a stav jeho zřizování.

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

Pokud je kontejner ProvisioningState úspěšný, blahopřejeme! Úspěšně jste nasadili aplikaci spuštěnou v kontejneru Dockeru do Azure.

Vyžádání protokolů kontejneru

Pokud potřebujete odstranit potíže s kontejnerem nebo aplikací, která je v něm spuštěna (nebo pouze zobrazit její výstup), začněte zobrazením protokolů instance kontejneru.

Vyžádejte si protokoly instance kontejneru pomocí příkazu az container logs:

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

Výstup zobrazí protokoly kontejneru a měl by zobrazit následující výstup.

listening on port 80

Připojení výstupních datových proudů

Kromě zobrazení protokolů můžete k datovým proudům kontejneru připojit i standardní výstupní a chybový datový proud.

Nejprve spusťte příkaz az container attach a připojte místní konzolu k výstupním datovým proudům kontejneru:

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

Po připojení aktualizujte prohlížeč několikrát, aby se vygeneroval další výstup. Když jste hotovi, odpojte konzolu stisknutím Control+C. Zobrazený výstup by měl vypadat přibližně takto:

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

Vyčištění prostředků

Až s kontejnerem skončíte, odeberte ho pomocí příkazu az container delete:

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

Pokud chcete ověřit odstranění kontejneru, spusťte příkaz az container list:

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

Kontejner acispotclitest by se neměl zobrazovat ve výstupu příkazu. Pokud ve skupině prostředků nemáte žádné další kontejnery, nezobrazí se žádný výstup.

Pokud jste hotovi se skupinou prostředků acispotdemo a všemi prostředky, které obsahuje, odstraňte ji příkazem az group delete :

az group delete --name acispotdemo

Další kroky

V tomto kurzu jste vytvořili spotový kontejner ve službě Azure Container Instances s výchozí zásadou kvóty a vyřazení pomocí Azure CLI.