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.