Share via


Tudnivalók a virtuálisgép-méretezési csoport sablonjairól

Az Azure Resource Manager-sablonok remek megoldást kínálnak egymáshoz kapcsolódó erőforráscsoportok üzembe helyezésére. Ez az oktatóanyag-sorozat bemutatja, hogyan hozhat létre alapszintű méretezésicsoport-sablont, és hogyan módosíthatja ezt a sablont a különböző forgatókönyveknek megfelelően. Minden példa ebből a GitHub-adattárból származik.

Ez a sablon egyszerűnek készült. A méretezési csoportok sablonjaira vonatkozó teljesebb példákért tekintse meg az Azure Gyorsindítási sablonok GitHub-adattárát , és keressen rá a sztringet vmsstartalmazó mappákra.

Ha már ismeri a sablonok létrehozását, ugorjon a "Következő lépések" szakaszra a sablon módosításának megtekintéséhez.

$schema és contentVersion definiálása

Először definiálja és contentVersion írja be $schema a sablont. Az $schema elem határozza meg a sablon nyelvének verzióját, és a Visual Studio szintaxiskiemeléséhez és hasonló érvényesítési funkcióihoz használható. Az contentVersion elemet az Azure nem használja. Ehelyett segít nyomon követni a sablonverziót.

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
  "contentVersion": "1.0.0.0",
}

Paraméterek megadása

Ezután definiáljon két paramétert, adminUsername és adminPassword. A paraméterek az üzembe helyezéskor megadott értékek. A adminUsername paraméter egyszerűen egy string típus, de mivel adminPassword titkos, adja meg a típust securestring. Később ezeket a paramétereket a rendszer átadja a méretezési csoport konfigurációjának.

  "parameters": {
    "adminUsername": {
      "type": "string"
    },
    "adminPassword": {
      "type": "securestring"
    }
  },

Változók meghatározása

Resource Manager sablonok lehetővé teszik a sablon későbbi részében használni kívánt változók meghatározását is. A példa nem használ változókat, ezért a JSON-objektum üres.

  "variables": {},

Erőforrások meghatározása

Ezután a sablon erőforrások szakasza következik. Itt határozhatja meg, hogy valójában mit szeretne üzembe helyezni. A és variables (amelyek JSON-objektumok) resources ellentétben parameters a JSON-objektumok JSON-listája.

  "resources": [
    ...
  ]

Minden erőforráshoz , name, apiVersionés location tulajdonság szükségestype. A példa első erőforrásának típusa Microsoft.Network/virtualNetwork, name myVnet, és apiVersion 2018-11-01. (Az erőforrástípus legújabb API-verziójának megkereséséhez tekintse meg az Azure Resource Manager sablonreferenciáját.)

{
  "type": "Microsoft.Network/virtualNetworks",
  "name": "myVnet",
  "apiVersion": "2018-11-01",
}

Hely megadása

A virtuális hálózat helyének megadásához használjon Resource Manager sablonfüggvényt. Ezt a függvényt idézőjelek és szögletes zárójelek közé kell foglalni, például: "[<template-function>]". Ebben az esetben használja a függvényt resourceGroup . Nem vesz fel argumentumokat, és visszaad egy JSON-objektumot, amely metaadatokat tartalmaz arról az erőforráscsoportról, amelybe az üzembe helyezést üzembe helyezi. Az erőforráscsoportot a felhasználó állítja be az üzembe helyezés időpontjában. Ez az érték ezután ebbe a JSON-objektumba .location lesz indexelve, hogy lekérje a helyet a JSON-objektumból.

  "location": "[resourceGroup().location]",

Virtuális hálózat tulajdonságainak megadása

Minden Resource Manager erőforrás saját properties szakaszt tartalmaz az erőforráshoz tartozó konfigurációkhoz. Ebben az esetben adja meg, hogy a virtuális hálózatnak egy alhálózattal kell rendelkeznie a privát IP-címtartomány 10.0.0.0/16használatával. A méretezési csoportok mindig egy alhálózaton belül találhatók. Nem terjedhet ki az alhálózatokra.

  {
    "properties": {
      "addressSpace": {
        "addressPrefixes": [
          "10.0.0.0/16"
        ]
      },
      "subnets": [
        {
          "name": "mySubnet",
          "properties": {
            "addressPrefix": "10.0.0.0/16"
          }
        }
      ]
    }
  },

DependsOn lista hozzáadása

A szükséges type, , nameapiVersionés location tulajdonságok mellett minden erőforrás rendelkezhet sztringek opcionális dependsOn listájával. Ez a lista azt határozza meg, hogy a telepítés mely más erőforrásainak kell befejeződniük az erőforrás üzembe helyezése előtt.

Ebben az esetben a listában csak egy elem szerepel, az előző példában szereplő virtuális hálózat. Ezt a függőséget azért kell megadnia, mert a méretezési csoportnak a virtuális gépek létrehozása előtt léteznie kell a hálózatnak. Így a méretezési csoport privát IP-címeket adhat ezeknek a virtuális gépeknek a hálózati tulajdonságokban korábban megadott IP-címtartományból. A dependsOn lista egyes sztringjeinek formátuma a következő <type>/<name>: . Használja ugyanazt type , és name használja korábban a virtuális hálózati erőforrás-definícióban.

  {
    "type": "Microsoft.Compute/virtualMachineScaleSets",
    "name": "myScaleSet",
    "apiVersion": "2019-03-01",
    "location": "[resourceGroup().location]",
    "dependsOn": [
      "Microsoft.Network/virtualNetworks/myVnet"
    ],
    ...
  }

Méretezési csoport tulajdonságainak megadása

A méretezési csoportok számos tulajdonsággal rendelkeznek a méretezési csoportban lévő virtuális gépek testreszabásához. A tulajdonságok teljes listáját a sablonreferenciában találja. Ebben az oktatóanyagban csak néhány gyakran használt tulajdonság van beállítva.

Virtuális gép méretének és kapacitásának megadása

A méretezési csoportnak ismernie kell a létrehozandó virtuális gép méretét ("termékváltozat neve"), valamint azt, hogy hány ilyen virtuális gépet kell létrehozni ("termékváltozat-kapacitás"). A rendelkezésre álló virtuálisgép-méretek megtekintéséhez tekintse meg a virtuálisgép-méretek dokumentációját.

  "sku": {
    "name": "Standard_A1",
    "capacity": 2
  },

Frissítések típusának kiválasztása

A méretezési csoportnak azt is tudnia kell, hogyan kezelheti a méretezési csoport frissítéseit. Jelenleg három lehetőség áll rendelkezésre: Manual, Rolling és Automatic. A kettő közötti különbségekről további információt a méretezési csoportok frissítésének dokumentációjában talál.

  "properties": {
    "upgradePolicy": {
      "mode": "Manual"
    },
  }

Virtuálisgép-operációs rendszer kiválasztása

A méretezési csoportnak tudnia kell, hogy milyen operációs rendszert helyezzen el a virtuális gépeken. Itt hozza létre a virtuális gépeket egy teljesen javított Ubuntu 16.04-LTS-rendszerképpel.

  "virtualMachineProfile": {
    "storageProfile": {
      "imageReference": {
        "publisher": "Canonical",
        "offer": "UbuntuServer",
        "sku": "16.04-LTS",
        "version": "latest"
      }
    },
  }

Számítógépnév megadásaElőtag

A méretezési csoport több virtuális gépet helyez üzembe. Az egyes virtuális gépek nevének megadása helyett adja meg a értéket computerNamePrefix. A méretezési csoport egy indexet fűz az egyes virtuális gépek előtagjaihoz, így a virtuális gépek neveinek formátuma <computerNamePrefix>_<auto-generated-index>.

Az alábbi kódrészletben a korábbi paraméterekkel állítsa be a rendszergazdai felhasználónevet és jelszót a méretezési csoportban lévő összes virtuális géphez. Ez a folyamat a sablonfüggvényt parameters használja. Ez a függvény egy sztringet vesz fel, amely meghatározza, hogy melyik paraméterre hivatkozzon, és kimenetként adja meg az adott paraméter értékét.

 "osProfile": {
   "computerNamePrefix": "vm",
   "adminUsername": "[parameters('adminUsername')]",
   "adminPassword": "[parameters('adminPassword')]"
  },

Virtuális gép hálózati konfigurációjának megadása

Végül adja meg a méretezési csoportban lévő virtuális gépek hálózati konfigurációját. Ebben az esetben csak a korábban létrehozott alhálózat azonosítóját kell megadnia. Ez arra utasítja a méretezési csoportot, hogy helyezze a hálózati adaptereket ebbe az alhálózatba.

A sablonfüggvény használatával resourceId lekérheti az alhálózatot tartalmazó virtuális hálózat azonosítóját. Ez a függvény egy erőforrás típusát és nevét veszi fel, és visszaadja az erőforrás teljes azonosítóját. Ez az azonosító a következő űrlappal rendelkezik: /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/<resourceProviderNamespace>/<resourceType>/<resourceName>

A virtuális hálózat azonosítója azonban nem elég. Adja meg azt az alhálózatot, amelyben a méretezési csoport virtuális gépeinek lenniük kell. Ehhez fűzd /subnets/mySubnet össze a virtuális hálózat azonosítóját. Az eredmény az alhálózat teljes azonosítója. Ezt az összefűzést végezze el a concat függvénnyel, amely sztringek sorozatát veszi fel, és visszaadja az összefűzésüket.

  "networkProfile": {
    "networkInterfaceConfigurations": [
      {
        "name": "myNic",
        "properties": {
          "primary": "true",
          "ipConfigurations": [
            {
              "name": "myIpConfig",
              "properties": {
                "subnet": {
                  "id": "[concat(resourceId('Microsoft.Network/virtualNetworks', 'myVnet'), '/subnets/mySubnet')]"
                }
              }
            }
          ]
        }
      }
    ]
  }

Következő lépések

Az előző sablon üzembe helyezéséhez kövesse az Azure Resource Manager dokumentációjában leírtakat.

Ezt az oktatóanyag-sorozatot az alapszintű méretezési csoport sablonjának cikkéből indíthatja el.

Megtudhatja, hogyan módosíthatja az alapszintű méretezésicsoport-sablonta méretezési csoport meglévő virtuális hálózaton való üzembe helyezéséhez.

Megtudhatja, hogyan módosíthatja az alapszintű méretezésicsoport-sablonta méretezési csoport egyéni rendszerképpel való üzembe helyezéséhez.

Megtudhatja, hogyan módosíthatja az alapszintű méretezési csoport sablonjátegy Linux-méretezési csoport vendégalapú automatikus skálázással történő üzembe helyezéséhez.

A méretezési csoportokkal kapcsolatos további információkért tekintse meg a méretezési csoport áttekintési oldalát.