Megosztás a következőn keresztül:


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: Igen a Pro GPU termékváltozatáhozAzure Stack Edge Pro – GPUIgen a Pro 2 termékváltozathozAzure Stack Edge Pro 2Igen a Pro R termékváltozathozAzure Stack Edge Pro RIgen a Mini R termékváltozathozAzure 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

  1. 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.

  2. 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.

    Képernyőkép egy Azure Stack Edge-eszköz Számítási paneljéről. A 2. port számítási beállításai ki vannak emelve.

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

Azure Resource Manager-parancsmagok