Egyéni szkriptbővítmény üzembe helyezése az Azure Stack Edge Pro-eszközön futó virtuális gépeken
A következőkre vonatkozik: Azure Stack Edge Pro – GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Az egyéni szkriptbővítmény szkripteket vagy parancsokat tölt le és futtat az Azure Stack Edge Pro-eszközökön futó virtuális gépeken. Ez a cikk bemutatja, hogyan telepítheti és futtathatja az egyéni szkriptbővítményt egy Azure Resource Manager-sablon használatával.
Az egyéni szkriptbővítmény ismertetése
Az egyéni szkriptbő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. Letöltheti a szkripteket az Azure Storage-ból vagy más elérhető internetes helyről, vagy szkripteket vagy parancsokat adhat meg a bővítmény futtatókörnyezetéhez.
Az egyéni szkriptbővítmény integrálható az Azure Resource Manager-sablonokkal. Futtathatja az Azure CLI, a PowerShell vagy az Azure Virtual Machines REST API használatával is.
Operációs rendszer egyéni szkriptbővítményhez
Támogatott operációs rendszer egyéni szkriptbővítményhez Windows rendszeren
A Windows egyéni szkriptbővítménye a következő operációs rendszereken fog futni. Más verziók is működhetnek, de nem tesztelték házon belül az Azure Stack Edge Pro-eszközökön futó virtuális gépeken.
Disztribúció | Verzió |
---|---|
Windows Server 2019 | Alapvető |
Windows Server 2016 | Alapvető |
Támogatott operációs rendszer egyéni szkriptbővítményhez Linuxon
A Linux egyéni szkriptbővítménye a következő operációs rendszereken fog futni. Más verziók is működhetnek, de nem tesztelték házon belül az Azure Stack Edge Pro-eszközökön futó virtuális gépeken.
Disztribúció | Verzió |
---|---|
Linux Ubuntu: | 18.04 LTS |
Linux: Red Hat Enterprise Linux | 7.4, 7.5, 7.7 |
Előfeltételek
Töltse le a virtuálisgép-sablonokat és paraméterfájlokat az ügyfélszámítógépre. Bontsa ki a letöltést egy munkakönyvtárként használni kívánt könyvtárba.
Létre kell hoznia és üzembe kell helyeznie egy virtuális gépet az eszközön. Virtuális gépek létrehozásához kövesse a virtuális gépek üzembe helyezésének lépéseit az Azure Stack Edge Pro-ban sablonok használatával.
Ha olyan szkriptet kell letöltenie, mint például a GitHubról vagy az Azure Storage-ból külsőleg, a számítási hálózat konfigurálása közben engedélyezze az internethez csatlakoztatott portot a számításhoz. Ez lehetővé teszi a szkript letöltését.
Az alábbi példában a 2. port csatlakozik az internethez, és a számítási hálózat engedélyezésére szolgál. Ha azt észlelte, hogy a korábbi lépésben nincs szükség a Kubernetesre, kihagyhatja a Kubernetes-csomópont IP-címét és a külső szolgáltatás IP-hozzárendelését.
Egyéni szkriptbővítmény telepítése
A virtuális gép operációs rendszerétől függően telepítheti az Egyéni szkriptbővítményt Windowsra vagy Linuxra.
Egyéniszkript-bővítmény Windows rendszerre
Ha egyéni szkriptbővítményt szeretne üzembe helyezni a Windows rendszeren futó virtuális gépeken, szerkessze a addCSExtWindowsVM.parameters.json
paraméterfájlt, majd telepítse a sablont addCSextensiontoVM.json
.
Paraméterfájl szerkesztése
A fájl addCSExtWindowsVM.parameters.json
a következő paramétereket használja:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "<Name of VM>"
},
"extensionName": {
"value": "<Name of extension>"
},
"publisher": {
"value": "Microsoft.Compute"
},
"type": {
"value": "CustomScriptExtension"
},
"typeHandlerVersion": {
"value": "1.10"
},
"settings": {
"value": {
"commandToExecute" : "<Command to execute>"
}
}
}
}
Adja meg a virtuális gép nevét, a bővítmény nevét és a végrehajtandó parancsot.
Itt található a cikkben használt mintaparaméter-fájl.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "VM5"
},
"extensionName": {
"value": "CustomScriptExtension"
},
"publisher": {
"value": "Microsoft.Compute"
},
"type": {
"value": "CustomScriptExtension"
},
"typeHandlerVersion": {
"value": "1.10"
},
"settings": {
"value": {
"commandToExecute" : "md C:\\Users\\Public\\Documents\\test"
}
}
}
}
Sablon üzembe helyezése
A sablon addCSextensiontoVM.json
üzembe helyezése. Ez a sablon bővítményt helyez üzembe egy meglévő virtuális gépen. Futtassa az alábbi parancsot:
$templateFile = "<Path to addCSExtensiontoVM.json file>"
$templateParameterFile = "<Path to addCSExtWindowsVM.parameters.json file>"
$RGName = "<Resource group name>"
New-AzureRmResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile $templateFile -TemplateParameterFile $templateParameterFile -Name "<Deployment name>"
Feljegyzés
A bővítmény üzembe helyezése hosszú ideig futó feladat, és körülbelül 10 percet vesz igénybe.
Íme egy mintakimenet:
PS C:\WINDOWS\system32> $templateFile = "C:\12-09-2020\ExtensionTemplates\addCSExtensiontoVM.json"
PS C:\WINDOWS\system32> $templateParameterFile = "C:\12-09-2020\ExtensionTemplates\addCSExtWindowsVM.parameters.json"
PS C:\WINDOWS\system32> $RGName = "myasegpuvm1"
PS C:\WINDOWS\system32> New-AzureRmResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile $templateFile -TemplateParameterFile $templateParameterFile -Name "deployment7"
DeploymentName : deployment7
ResourceGroupName : myasegpuvm1
ProvisioningState : Succeeded
Timestamp : 12/17/2020 10:07:44 PM
Mode : Incremental
TemplateLink :
Parameters :
Name Type Value
=============== ========================= ==========
vmName String VM5
extensionName String CustomScriptExtension
publisher String Microsoft.Compute
type String CustomScriptExtension
typeHandlerVersion String 1.10
settings Object {
"commandToExecute": "md C:\\Users\\Public\\Documents\\test"
}
Outputs :
DeploymentDebugLogLevel :
PS C:\WINDOWS\system32>
Az üzembe helyezés nyomon követése
Egy adott virtuális gép bővítményeinek üzembehelyezési állapotának ellenőrzéséhez futtassa a következő parancsot:
Get-AzureRmVMExtension -ResourceGroupName <Name of resource group> -VMName <Name of VM> -Name <Name of the extension>
Íme egy mintakimenet:
PS C:\WINDOWS\system32> Get-AzureRmVMExtension -ResourceGroupName myasegpuvm1 -VMName VM5 -Name CustomScriptExtension
ResourceGroupName : myasegpuvm1
VMName : VM5
Name : CustomScriptExtension
Location : dbelocal
Etag : null
Publisher : Microsoft.Compute
ExtensionType : CustomScriptExtension
TypeHandlerVersion : 1.10
Id : /subscriptions/947b3cfd-7a1b-4a90-7cc5-e52caf221332/resourceGroups/myasegpuvm1/providers/Microsoft.Compute/virtualMachines/VM5/extensions/CustomScriptExtension
PublicSettings : {
"commandToExecute": "md C:\\Users\\Public\\Documents\\test"
}
ProtectedSettings :
ProvisioningState : Creating
Statuses :
SubStatuses :
AutoUpgradeMinorVersion : True
ForceUpdateTag :
PS C:\WINDOWS\system32>
Feljegyzés
Ha az üzembe helyezés befejeződött, a módosítások a ProvisioningState
következőre módosulnak Succeeded
: .
A rendszer a bővítmények kimenetét a cél virtuális gép alábbi mappájában található fájlokba naplózza.
C:\WindowsAzure\Logs\Plugins\Microsoft.Compute.CustomScriptExtension
A megadott fájlok a cél virtuális gép következő mappájába lesznek letöltve.
C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\1.*\Downloads\<n>
ahol n egy decimális egész szám, amely a bővítmény végrehajtása között változhat. Az 1.* érték megegyezik a bővítmény tényleges, aktuális typeHandlerVersion
értékével. A példány tényleges könyvtára például a következő volt C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\1.10.9\Downloads\0
: .
Ebben a példában az egyéni bővítményhez végrehajtandó parancs a következő volt: md C:\\Users\\Public\\Documents\\test
. A bővítmény sikeres telepítése után ellenőrizheti, hogy a címtár a virtuális gépen lett-e létrehozva a parancs megadott elérési útján.
Szkriptfuttatási bővítmény Linux rendszerre
Ha egyéni szkriptbővítményt szeretne üzembe helyezni a Windows rendszeren futó virtuális gépeken, szerkessze a addCSExtLinuxVM.parameters.json
paraméterfájlt, majd telepítse a sablont addCSExtensiontoVM.json
.
Paraméterfájl szerkesztése
A fájl addCSExtLinuxVM.parameters.json
a következő paramétereket használja:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "<Name of your VM>"
},
"extensionName": {
"value": "<Name of your extension>"
},
"publisher": {
"value": "Microsoft.Azure.Extensions"
},
"type": {
"value": "CustomScript"
},
"typeHandlerVersion": {
"value": "2.0"
},
"settings": {
"value": {
"commandToExecute" : "<Command to execute>"
}
}
}
}
Adja meg a virtuális gép nevét, a bővítmény nevét és a végrehajtandó parancsot.
Íme egy példa paraméterfájl, amelyet ebben a cikkben használtunk:
$templateFile = "<Path to addCSExtensionToVM.json file>"
$templateParameterFile = "<Path to addCSExtLinuxVM.parameters.json file>"
$RGName = "<Resource group name>"
New-AzureRmResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile $templateFile -TemplateParameterFile $templateParameterFile -Name "<Deployment name>"
Feljegyzés
A bővítmény üzembe helyezése hosszú ideig futó feladat, és körülbelül 10 percet vesz igénybe.
Íme egy mintakimenet:
PS C:\WINDOWS\system32> $templateFile = "C:\12-09-2020\ExtensionTemplates\addCSExtensionToVM.json"
PS C:\WINDOWS\system32> $templateParameterFile = "C:\12-09-2020\ExtensionTemplates\addCSExtLinuxVM.parameters.json"
PS C:\WINDOWS\system32> $RGName = "myasegpuvm1"
PS C:\WINDOWS\system32> New-AzureRmResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile $templateFile -TemplateParameterFile $templateParameterFile -Name "deployment99"
DeploymentName : deployment99
ResourceGroupName : myasegpuvm1
ProvisioningState : Succeeded
Timestamp : 12/18/2020 1:55:23 AM
Mode : Incremental
TemplateLink :
Parameters :
Name Type Value
=============== ========================= ==========
vmName String VM6
extensionName String LinuxCustomScriptExtension
publisher String Microsoft.Azure.Extensions
type String CustomScript
typeHandlerVersion String 2.0
settings Object {
"commandToExecute": "sudo echo 'some text' >> /home/Administrator/file2.txt"
}
Outputs :
DeploymentDebugLogLevel :
PS C:\WINDOWS\system32>
A commandToExecute
rendszer úgy lett beállítva, hogy hozzon létre egy fájlt file2.txt
a /home/Administrator
könyvtárban, és a fájl tartalma a következő some text
. Ebben az esetben ellenőrizheti, hogy a fájl a megadott elérési úton lett-e létrehozva.
Administrator@VM6:~$ dir
file2.txt
Administrator@VM6:~$ cat file2.txt
some text
Administrator@VM6:
Az üzembe helyezés állapotának nyomon követése
A sablon üzembe helyezése hosszú ideig futó feladat. Egy adott virtuális gép bővítményeinek üzembehelyezési állapotának ellenőrzéséhez nyisson meg egy másik PowerShell-munkamenetet (rendszergazdaként futtassa). Futtassa az alábbi parancsot:
Get-AzureRmVMExtension -ResourceGroupName myResourceGroup -VMName <VM Name> -Name <Extension Name>
Íme egy mintakimenet:
PS C:\WINDOWS\system32> Get-AzureRmVMExtension -ResourceGroupName myasegpuvm1 -VMName VM5 -Name CustomScriptExtension
ResourceGroupName : myasegpuvm1
VMName : VM5
Name : CustomScriptExtension
Location : dbelocal
Etag : null
Publisher : Microsoft.Compute
ExtensionType : CustomScriptExtension
TypeHandlerVersion : 1.10
Id : /subscriptions/947b3cfd-7a1b-4a90-7cc5-e52caf221332/resourceGroups/myasegpuvm1/providers/Microsoft.Compute/virtualMachines/VM5/extensions/CustomScriptExtension
PublicSettings : {
"commandToExecute": "md C:\\Users\\Public\\Documents\\test"
}
ProtectedSettings :
ProvisioningState : Creating
Statuses :
SubStatuses :
AutoUpgradeMinorVersion : True
ForceUpdateTag :
PS C:\WINDOWS\system32>
Feljegyzés
Ha az üzembe helyezés befejeződött, a módosítások a ProvisioningState
következőre módosulnak Succeeded
: .
A bővítmény végrehajtási kimenete a következő fájlba van naplózva: /var/lib/waagent/custom-script/download/0/
.
Egyéni szkriptbővítmény eltávolítása
Az egyéni szkriptbővítmény eltávolításához használja a következő parancsot:
Remove-AzureRmVMExtension -ResourceGroupName <Resource group name> -VMName <VM name> -Name <Extension name>
Íme egy mintakimenet:
PS C:\WINDOWS\system32> Remove-AzureRmVMExtension -ResourceGroupName myasegpuvm1 -VMName VM6 -Name LinuxCustomScriptExtension
Virtual machine extension removal operation
This cmdlet will remove the specified virtual machine extension. Do you want to continue?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Yes
RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
True OK OK
Következő lépések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: