Ismertető: Több konténerből álló csoport telepítése erőforrás-kezelő sablon használatával
Az Azure Container Instances több tároló üzembe helyezését támogatja egyetlen gazdagépen tárolócsoport használatával. A tárolócsoportok akkor hasznosak, ha alkalmazásoldali kocsit építenek naplózáshoz, monitorozáshoz vagy bármely más konfigurációhoz, ahol a szolgáltatásnak szüksége van egy második csatolt folyamatra.
Ebben az oktatóanyagban egy kéttárolós oldalkocsi-konfiguráció futtatásának lépéseit követve üzembe helyez egy Azure Resource Manager-sablont az Azure CLI használatával. Az alábbiak végrehajtásának módját ismerheti meg:
- Többtárolós csoportsablon konfigurálása
- A tárolócsoport üzembe helyezése
- A tárolók naplóinak megtekintése
A Resource Manager-sablon könnyen adaptálható olyan helyzetekhez, amikor több Azure-szolgáltatáserőforrást (például Azure Files-megosztást vagy virtuális hálózatot) kell üzembe helyeznie a tárolócsoporttal.
Feljegyzés
A többtárolós csoportok jelenleg Linux-tárolókra korlátozódnak.
Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.
Előfeltételek
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: A Bash rövid útmutatója az Azure Cloud Shellben.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
Sablon konfigurálása
Először másolja a következő JSON-t egy új, nevesített azuredeploy.json
fájlba. Az Azure Cloud Shellben a Visual Studio Code használatával hozhatja létre a fájlt a munkakönyvtárban:
code azuredeploy.json
Ez a Resource Manager-sablon definiál egy tárolócsoportot két tárolóval, egy nyilvános IP-címmel és két közzétett porttal. A csoport első tárolója egy internetes webalkalmazást futtat. A második tároló, az oldalkocsi HTTP-kérést küld a fő webalkalmazásnak a csoport helyi hálózatán keresztül.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"containerGroupName": {
"type": "string",
"defaultValue": "myContainerGroup",
"metadata": {
"description": "Container Group name."
}
}
},
"variables": {
"container1name": "aci-tutorial-app",
"container1image": "mcr.microsoft.com/azuredocs/aci-helloworld:latest",
"container2name": "aci-tutorial-sidecar",
"container2image": "mcr.microsoft.com/azuredocs/aci-tutorial-sidecar"
},
"resources": [
{
"name": "[parameters('containerGroupName')]",
"type": "Microsoft.ContainerInstance/containerGroups",
"apiVersion": "2019-12-01",
"location": "[resourceGroup().location]",
"properties": {
"containers": [
{
"name": "[variables('container1name')]",
"properties": {
"image": "[variables('container1image')]",
"resources": {
"requests": {
"cpu": 1,
"memoryInGb": 1.5
}
},
"ports": [
{
"port": 80
},
{
"port": 8080
}
]
}
},
{
"name": "[variables('container2name')]",
"properties": {
"image": "[variables('container2image')]",
"resources": {
"requests": {
"cpu": 1,
"memoryInGb": 1.5
}
}
}
}
],
"osType": "Linux",
"ipAddress": {
"type": "Public",
"ports": [
{
"protocol": "tcp",
"port": 80
},
{
"protocol": "tcp",
"port": 8080
}
]
}
}
}
],
"outputs": {
"containerIPv4Address": {
"type": "string",
"value": "[reference(resourceId('Microsoft.ContainerInstance/containerGroups/', parameters('containerGroupName'))).ipAddress.ip]"
}
}
}
Privát tárolórendszerkép-beállításjegyzék használatához adjon hozzá egy objektumot a JSON-dokumentumhoz az alábbi formátumban. Ennek a konfigurációnak például az ACI Resource Manager-sablon referenciadokumentációjában talál példát.
"imageRegistryCredentials": [
{
"server": "[parameters('imageRegistryLoginServer')]",
"username": "[parameters('imageRegistryUsername')]",
"password": "[parameters('imageRegistryPassword')]"
}
]
A sablon üzembe helyezése
Hozzon létre egy erőforráscsoportot az az group create paranccsal.
az group create --name myResourceGroup --location eastus
Helyezze üzembe a sablont az az deployment group create paranccsal.
az deployment group create --resource-group myResourceGroup --template-file azuredeploy.json
Néhány másodpercen belül meg kell kapnia az Azure kezdeti válaszát.
Üzembehelyezési állapot megtekintése
Az üzembe helyezés állapotának megtekintéséhez használja az alábbi az container show parancsot:
az container show --resource-group myResourceGroup --name myContainerGroup --output table
Ha meg szeretné tekinteni a futó alkalmazást, keresse meg annak IP-címét a böngészőben. Az IP-cím például ebben a példakimenetben található 52.168.26.124
:
Name ResourceGroup Status Image IP:ports Network CPU/Memory OsType Location
---------------- --------------- -------- -------------------------------------------------------------------------------------------------- -------------------- --------- --------------- -------- ----------
myContainerGroup danlep0318r Running mcr.microsoft.com/azuredocs/aci-tutorial-sidecar,mcr.microsoft.com/azuredocs/aci-helloworld:latest 20.42.26.114:80,8080 Public 1.0 core/1.5 gb Linux eastus
Tárolónaplók megtekintése
Egy tároló naplókimenetének megtekintése az az container logs paranccsal. Az --container-name
argumentum azt a tárolót adja meg, amelyből naplókat szeretne lekérni. Ebben a példában a aci-tutorial-app
tároló meg van adva.
az container logs --resource-group myResourceGroup --name myContainerGroup --container-name aci-tutorial-app
Hozam:
listening on port 80
::1 - - [02/Jul/2020:23:17:48 +0000] "HEAD / HTTP/1.1" 200 1663 "-" "curl/7.54.0"
::1 - - [02/Jul/2020:23:17:51 +0000] "HEAD / HTTP/1.1" 200 1663 "-" "curl/7.54.0"
::1 - - [02/Jul/2020:23:17:54 +0000] "HEAD / HTTP/1.1" 200 1663 "-" "curl/7.54.0"
Az oldalkocsi-tároló naplóinak megtekintéséhez futtasson egy hasonló parancsot, amely megadja a tárolót aci-tutorial-sidecar
.
az container logs --resource-group myResourceGroup --name myContainerGroup --container-name aci-tutorial-sidecar
Hozam:
Every 3s: curl -I http://localhost 2020-07-02 20:36:41
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 1663 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
HTTP/1.1 200 OK
X-Powered-By: Express
Accept-Ranges: bytes
Cache-Control: public, max-age=0
Last-Modified: Wed, 29 Nov 2017 06:40:40 GMT
ETag: W/"67f-16006818640"
Content-Type: text/html; charset=UTF-8
Content-Length: 1663
Date: Thu, 02 Jul 2020 20:36:41 GMT
Connection: keep-alive
Mint látható, az oldalkocsi rendszeresen HTTP-kérést küld a fő webalkalmazásnak a csoport helyi hálózatán keresztül, hogy biztosan fusson. Ez a sidecar-példa kibontható, hogy riasztást aktiváljon, ha nem http-válaszkódot 200 OK
kapott.
Következő lépések
Ebben az oktatóanyagban egy Azure Resource Manager-sablont használt egy többtárolós csoport üzembe helyezéséhez az Azure Container Instancesben. Megtanulta végrehajtani az alábbi műveleteket:
- Többtárolós csoportsablon konfigurálása
- A tárolócsoport üzembe helyezése
- A tárolók naplóinak megtekintése
További sablonmintákért tekintse meg az Azure Container Instances Azure Resource Manager-sablonjait.
YaML-fájllal többtárolós csoportot is megadhat. A YAML-formátum tömörebb jellege miatt a YAML-fájlokkal való üzembe helyezés jó választás, ha az üzembe helyezés csak tárolópéldányokat tartalmaz.