Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ha egy méretezési csoportban virtuálisgép-példányokon szeretne alkalmazásokat futtatni, először telepítenie kell az alkalmazás összetevőit és a szükséges fájlokat. Egy korábbi oktatóanyagban megtanulta, hogyan hozhat létre és használhat egyéni virtuálisgép-lemezképeket a virtuálisgép-példányok üzembe helyezéséhez. Ez az egyéni rendszerkép manuális alkalmazástelepítéseket és konfigurációkat tartalmazott. Az alkalmazások méretezési csoportokba való telepítését az egyes virtuálisgép-példányok üzembe helyezése után is automatizálhatja, vagy frissítheti a méretezési csoportban már futó alkalmazásokat. Ezen oktatóanyag segítségével megtanulhatja a következőket:
- Alkalmazások automatikus telepítése a méretezési csoportra
- Az Azure Egyéni szkriptbővítmény használata
- Futó alkalmazás frissítése méretezési csoportban
Ha nincs Azure-előfizetésed, hozz létre egy ingyenes fiókot mielőtt elkezdenéd.
Azure Cloud Shell
Az Azure üzemelteti az Azure Cloud Shell-t, egy interaktív héjkörnyezetet, amelyet a böngésződön keresztül használhatsz. A Bash vagy a PowerShell segítségével is használhatja a Cloud Shellt az Azure-szolgáltatásokhoz. Felhasználhatja a Cloud Shell előre telepített parancsait a cikkben szereplő kód futtatására anélkül, hogy bármit telepítenie kellene a helyi környezetében.
Azure Cloud Shell elindítása:
| Lehetőség | Példa/hivatkozás |
|---|---|
| A kód vagy parancsblokk jobb felső sarkában válassza a Kipróbálás lehetőséget. A Kipróbálás lehetőség választása nem másolja automatikusan a kódot vagy a parancsot a Cloud Shellbe. |
|
| Lépjen a https://shell.azure.com webhelyre, vagy válassza ki a Cloud Shell indítása gombot a Cloud Shell megnyitásához a böngészőjében. |
|
| Az Azure Portal jobb felső sarkában található menüben kattintson a Cloud Shell gombra. |
|
Az Azure Cloud Shell használata:
Indítsa el a Cloud Shell alkalmazást.
A kód vagy parancs másolásához kattintson a Másolás gombra egy kódblokkon (vagy parancsblokkon).
Másolja be a kódot vagy parancsot a Cloud Shell munkamenetbe a Windows és Linux rendszereken a Ctrl+Shift+V billentyűk kiválasztásával, vagy a macOS rendszeren a Cmd+Shift+V billentyűkiválasztásával.
A kód vagy parancs futtatásához válassza az Enter lehetőséget .
Mi az Azure Custom Script Bővítmény?
Az egyéni szkriptbővítmény letölti és végrehajtja a szkripteket az Azure-beli virtuális gépeken. Ez a bővítmény az üzembe helyezés utáni konfigurációhoz, a szoftvertelepítéshez vagy bármely más konfigurációs/felügyeleti feladathoz hasznos. A szkriptek letölthetők az Azure Storage-ból vagy a GitHubról, vagy a bővítmény futásideje alatt az Azure Portalon is elérhetőek.
Az Egyéni szkript bővítmény integrálható az Azure Resource Manager-sablonokkal. Használható az Azure CLI-vel, az Azure PowerShell-lel, az Azure Portallal vagy a REST API-val is. További információkért tekintse meg az Egyéni szkriptbővítmény áttekintését.
A Custom Script Extension működésének megtekintéséhez hozzon létre egy méretezési csoportot, amely telepíti az IIS webkiszolgálót, és kimenetként megjeleníti a méretezési csoport virtuális gép példányának állomásnevét. Az Egyéni szkript-bővítmény definíciója letölt egy mintaszkriptet a GitHubról, telepíti a szükséges csomagokat, majd egy egyszerű HTML-lapra írja a virtuális gép példány hosztnevét.
Skálázási készlet létrehozása
Hozzon létre egy erőforráscsoportot a New-AzResourceGroup használatával. Az alábbi példa létrehoz egy myResourceGroup nevű erőforráscsoportot az USA keleti régiójában :
New-AzResourceGroup -Name myResourceGroup -Location "East US"
Most hozzon létre egy virtuális gép skálázási készletet a New-AzVmss használatával. Az egyes virtuálisgép-példányok közötti forgalom elosztásához létrejön egy terheléselosztó is. A terheléselosztó szabályokat tartalmaz a forgalom 80-at tartalmazó TCP-porton való elosztásához. Lehetővé teszi a távoli asztali forgalmat a 3389-as TCP-porton, és a PowerShell-remotálást az 5985-ös TCP-porton. Amikor a rendszer kéri, beállíthatja saját rendszergazdai hitelesítő adatait a méretezési csoportban lévő virtuálisgép-példányokhoz:
New-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet" `
-OrchestrationMode "Flexible" `
-Location "EastUS" `
-UpgradePolicyMode "Manual" `
-VirtualNetworkName "myVnet" `
-SubnetName "mySubnet" `
-PublicIpAddressName "myPublicIPAddress" `
-LoadBalancerName "myLoadBalancer"
Néhány percet vesz igénybe a méretezési csoport erőforrásainak és virtuális gépeinek létrehozása és konfigurálása.
Egyéni szkriptbővítmény definíciójának létrehozása
Az Azure PowerShell kivonatolóval tárolja a letöltendő fájlt és a végrehajtandó parancsot. Az alábbi példában egy GitHub-példaszkriptet használunk. Először hozza létre ezt a konfigurációs objektumot az alábbiak szerint:
$customConfig = @{
"fileUris" = (,"https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/automate-iis.ps1");
"commandToExecute" = "powershell -ExecutionPolicy Unrestricted -File automate-iis.ps1"
}
Most alkalmazza az Egyéni szkriptbővítményt az Add-AzVmssExtension használatával. A korábban definiált konfigurációs objektumot a rendszer átadja a bővítménynek. Frissítse a méretezési csoport profilpéldányainak bővítményét az Update-AzVmss használatával.
# Get information about the scale set
$vmss = Get-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet"
# Add the Custom Script Extension to install IIS and configure basic website
$vmss = Add-AzVmssExtension `
-VirtualMachineScaleSet $vmss `
-Name "customScript" `
-Publisher "Microsoft.Compute" `
-Type "CustomScriptExtension" `
-TypeHandlerVersion 1.9 `
-Setting $customConfig
# Update the scale set
Update-AzVmss `
-ResourceGroupName "myResourceGroup" `
-Name "myScaleSet" `
-VirtualMachineScaleSet $vmss
Bővítmény hozzáadása a meglévő méretezési csoportpéldányokhoz
Manuális frissítés végrehajtásával alkalmazza a frissített bővítményt az összes meglévő méretezési csoportpéldányra. A frissítés végrehajtása eltarthat néhány percig.
Update-AzVmssInstance -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId "*"
A méretezési csoport minden virtuálisgép-példánya letölti és futtatja a szkriptet a GitHubról. Egy összetettebb példában több alkalmazásösszetevő és fájl is telepíthető. Ha a méretezési csoport felskálázva van, az új virtuálisgép-példányok automatikusan ugyanazt az egyéni szkriptbővítmény-definíciót alkalmazzák, és telepítik a szükséges alkalmazást.
Az alkalmazás felé irányuló forgalom engedélyezése
Az alapszintű webalkalmazáshoz való hozzáférés engedélyezéséhez hozzon létre egy hálózati biztonsági csoportot a New-AzNetworkSecurityRuleConfig és a New-AzNetworkSecurityGroup használatával. További információkért lásd: Hálózatkezelés Azure-beli virtuálisgép-méretezési csoportokhoz.
#Create a rule to allow traffic over port 80
$nsgFrontendRule = New-AzNetworkSecurityRuleConfig `
-Name myFrontendNSGRule `
-Protocol Tcp `
-Direction Inbound `
-Priority 200 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 80 `
-Access Allow
#Create a network security group and associate it with the rule
$nsgFrontend = New-AzNetworkSecurityGroup `
-ResourceGroupName "myResourceGroup" `
-Location EastUS `
-Name myFrontendNSG `
-SecurityRules $nsgFrontendRule
$vnet = Get-AzVirtualNetwork `
-ResourceGroupName "myResourceGroup" `
-Name myVnet
$frontendSubnet = $vnet.Subnets[0]
$frontendSubnetConfig = Set-AzVirtualNetworkSubnetConfig `
-VirtualNetwork $vnet `
-Name mySubnet `
-AddressPrefix $frontendSubnet.AddressPrefix `
-NetworkSecurityGroup $nsgFrontend
Set-AzVirtualNetwork -VirtualNetwork $vnet
A méretezési csoport tesztelése
A webkiszolgáló működés közbeni megtekintéséhez kérje le a terheléselosztó nyilvános IP-címét a Get-AzPublicIpAddress használatával. Az alábbi példa a myResourceGroup erőforráscsoportban létrehozott IP-címet jeleníti meg:
Get-AzPublicIpAddress -ResourceGroupName "myResourceGroup" | Select IpAddress
Adja meg a terheléselosztó nyilvános IP-címét egy webböngészőben. A terheléselosztó az alábbi példa szerint osztja el a forgalmat az egyik virtuális gép példányához:
Hagyja nyitva a webböngészőt, hogy a következő lépésben láthassa a frissített verziót.
A frissítési szabályzat módosítása
Az előző szakaszban a frissített alkalmazás minden méretezési csoportpéldányra való alkalmazásához manuális frissítésre volt szükség. Ha azt szeretné, hogy a frissítések automatikusan alkalmazhatók legyenek az összes meglévő méretezési csoportpéldányra, frissítse a frissítési szabályzatot manuálisról automatikusra. A frissítési szabályzatokról további információt a Virtuális gép-méretezési készletek frissítési szabályzataiban talál.
$vmss = Get-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"
Update-Azvmss `
-ResourceGroupName "myResourceGroup" `
-Name "myScaleSet" `
-UpgradePolicyMode "Automatic" `
-VirtualMachineScaleSet $vmss
Alkalmazástelepítés frissítése
Előfordulhat, hogy egy méretezési csoport teljes életciklusa során telepítenie kell az alkalmazás frissített verzióját. Az egyéni szkriptbővítménnyel hivatkozhat egy frissített üzembe helyezési szkriptre, majd újból alkalmazhatja a bővítményt a méretezési csoporthoz.
Hozzon létre egy customConfigv2 nevű új konfigurációdefiníciót. Ez a definíció az alkalmazástelepítési szkript frissített v2-es verzióját futtatja:
$customConfigv2 = @{
"fileUris" = (,"https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/automate-iis-v2.ps1");
"commandToExecute" = "powershell -ExecutionPolicy Unrestricted -File automate-iis-v2.ps1"
}
Frissítsd a Custom Script Extension konfigurációját a méretezési csoport virtuális gép példányaira. A customConfigv2 definíció az alkalmazás frissített verzióját alkalmazza a méretezési csoportra:
$vmss = Get-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet"
$vmss.VirtualMachineProfile.ExtensionProfile[0].Extensions[0].Settings = $customConfigv2
Update-AzVmss `
-ResourceGroupName "myResourceGroup" `
-Name "myScaleSet" `
-VirtualMachineScaleSet $vmss
Mivel a méretezési csoport most már automatikus frissítési szabályzatot használ, a frissített alkalmazás automatikusan alkalmazva lesz a meglévő méretezési csoportpéldányokra. Frissítse a webböngészőt a frissített alkalmazás megtekintéséhez. A frissített verzió megtekintéséhez frissítse a webhelyet a böngészőben:
Erőforrások tisztítása
A méretezési készlet és a további erőforrások eltávolításához törölje az erőforráscsoportot és annak összes erőforrását a Remove-AzResourceGroup parancs használatával. A -Force paraméter megerősíti, hogy további kérés nélkül szeretné törölni az erőforrásokat. A -AsJob paraméter visszaadja a vezérlést a parancssornak, és nem várja meg a művelet befejeztét.
Remove-AzResourceGroup -Name "myResourceGroup" -Force -AsJob
Következő lépések
Ebben az oktatóanyag keretében megismerted, hogyan telepítheted és frissítheted automatikusan az alkalmazásokat a méretezési készleteden az Azure PowerShell használatával.
- Alkalmazások automatikus telepítése a méretezési csoportra
- Az Azure Egyéni szkriptbővítmény használata
- Futó alkalmazás frissítése méretezési csoportban
Lépjen tovább a következő oktatóanyagra, amelyből megtudhatja, hogyan skálázhatja automatikusan a méretezési csoportot.