Назначение тегов виртуальным машинам на Azure Stack Edge с помощью Azure PowerShell

В этой статье описывается, как управлять тегами виртуальных машин, работающих на устройствах GPU Azure Stack Edge Pro, с помощью Azure PowerShell.

Общие сведения о тегах

Теги — это определяемые пользователем пары "ключ/значение", которые могут быть назначены ресурсу или группе ресурсов. Теги можно использовать для виртуальных машин, работающих на устройстве, чтобы логически организовать их в таксономию. Теги можно добавить к ресурсу во время его создания или к уже существующему ресурсу. Например, можно применить имя Organization и значение Engineering ко всем виртуальным машинам, используемым инженерным отделом организации.

Дополнительные сведения о тегах см. в статье Управление тегами с помощью AzureRM PowerShell.

Предварительные условия

Прежде чем развернуть виртуальную машину на устройстве с помощью PowerShell, убедитесь, что выполнены указанные ниже условия.

  • У вас есть доступ к клиенту, который будет использоваться для подключения к вашему устройству.

Проверка подключения к локальному диспетчеру Azure Resource Manager

Обеспечьте возможность выполнения следующих действий для доступа к устройству из клиента.

Убедитесь, что клиент может подключиться к локальному диспетчеру Azure Resource Manager.

  1. Для проверки подлинности выполните вызов к API локального устройства:

    login-AzAccount -EnvironmentName <Environment Name> -TenantId c0257de7-538f-415c-993a-1b87a031879d  
    
  2. Укажите имя пользователя EdgeArmUser и пароль для подключения с помощью диспетчера Azure Resource Manager. Если вы не помните пароль, выполните Сброс пароля для Azure Resource Manager и используйте новый пароль для входа.

Добавление тега для виртуальной машины

  1. Задайте некоторые параметры.

    $VMName = <VM Name>
    $VMRG = <VM Resource Group>
    $TagName = <Tag Name>
    $TagValue = <Tag Value>   
    

    Пример выходных данных:

    PS C:\WINDOWS\system32> $VMName = "myazvm"
    PS C:\WINDOWS\system32> $VMRG = "myaseazrg"
    PS C:\WINDOWS\system32> $TagName = "Organization"
    PS C:\WINDOWS\system32> $TagValue = "Sales"
    
  2. Получите объект виртуальной машины и ее теги.

    $VirtualMachine = Get-AzVM -ResourceGroupName $VMRG -Name $VMName
    $tags = $VirtualMachine.Tags
    
  3. Добавьте тег и обновите виртуальную машину. Обновление виртуальной машины может занять несколько секунд.

    Для выполнения команды без подтверждения пользователем можно использовать необязательный флаг -Force.

    $tags.Add($TagName, $TagValue)
    Set-AzResource -ResourceId $VirtualMachine.Id -Tag $tags -Force
    

    Пример выходных данных:

    PS C:\WINDOWS\system32> $VirtualMachine = Get-AzVM -ResourceGroupName $VMRG -Name $VMName
    PS C:\WINDOWS\system32> $tags = $VirtualMachine.Tags
    PS C:\WINDOWS\system32> $tags.Add($TagName, $TagValue)
    PS C:\WINDOWS\system32> Set-AzResource -ResourceID $VirtualMachine.ID -Tag $tags -Force   
    
    Name              : myazvm
    ResourceId        : /subscriptions/d64617ad-6266-4b19-45af-81112d213322/resourceGroups/myas
                        eazrg/providers/Microsoft.Compute/virtualMachines/myazvm
    ResourceName      : myazvm
    ResourceType      : Microsoft.Compute/virtualMachines
    ResourceGroupName : myaseazrg
    Location          : dbelocal
    SubscriptionId    : d64617ad-6266-4b19-45af-81112d213322
    Tags              : {Organization}
    Properties        : @{vmId=568a264f-c5d3-477f-a16c-4c5549eafa8c; hardwareProfile=;
                        storageProfile=; osProfile=; networkProfile=; diagnosticsProfile=;
                        provisioningState=Succeeded}
    

Просмотр тегов виртуальной машины

Можно просмотреть теги, примененные к определенной виртуальной машине, работающей на устройстве.

  1. Определите параметры, связанные с виртуальной машиной, теги которой нужно просмотреть.

    $VMName = <VM Name>
    $VMRG = <VM Resource Group>
    

    Пример выходных данных:

    PS C:\WINDOWS\system32> $VMName = "myazvm"
    PS C:\WINDOWS\system32> $VMRG = "myaseazrg"
    
  2. Получите объект виртуальной машины и просмотрите ее теги.

    $VirtualMachine = Get-AzVM -ResourceGroupName $VMRG -Name $VMName
    $VirtualMachine.Tags
    

    Пример выходных данных:

    PS C:\WINDOWS\system32>  $VirtualMachine = Get-AzVM -ResourceGroupName $VMRG -Name $VMName     
    PS C:\WINDOWS\system32> $VirtualMachine.Tags
    
    Key          Value
    ---          -----
    Organization Sales    
    
    PS C:\WINDOWS\system32>
    

Просмотр тегов для всех ресурсов

Чтобы просмотреть текущий список тегов для всех ресурсов в локальной подписке Azure Resource Manager устройства (отличающейся от подписки Azure), используйте команду Get-AzTag.

Ниже приведен пример выходных данных, когда на устройстве выполняется несколько виртуальных машин и нужно просмотреть все теги на всех виртуальных машинах.

PS C:\WINDOWS\system32> Get-AzTag

Name         Count
----         -----
Organization 2

PS C:\WINDOWS\system32>

Приведенные выше выходные данные указывают, что у виртуальных машин на устройстве есть два тега Organization.

Для просмотра дополнительных сведений используйте параметр -Detailed.

PS C:\WINDOWS\system32> Get-AzTag -Detailed |fl

Name        : Organization
ValuesTable :
              Name         Count
              ===========  =====
              Sales        1
              Engineering  1
Count       : 2
Values      : {Sales, Engineering}

PS C:\WINDOWS\system32>

Приведенные выше выходные данные указывают, что в соответствии с двумя тегами одна виртуальная машина помечена как Engineering, а другая — как относящаяся к Sales.

Удаление тега из виртуальной машины

  1. Задайте некоторые параметры.

    $VMName = <VM Name>
    $VMRG = <VM Resource Group>
    $TagName = <Tag Name>
    

    Пример выходных данных:

    PS C:\WINDOWS\system32> $VMName = "myaselinuxvm1"
    PS C:\WINDOWS\system32> $VMRG = "myaserg1"
    PS C:\WINDOWS\system32> $TagName = "Organization" 
    
  2. Получите объект виртуальной машины.

    $VirtualMachine = Get-AzVM -ResourceGroupName $VMRG -Name $VMName
    $VirtualMachine   
    

    Пример выходных данных:

    PS C:\WINDOWS\system32> $VirtualMachine = Get-AzVM -ResourceGroupName $VMRG -Name $VMName
    PS C:\WINDOWS\system32> $VirtualMachine
    
    ResourceGroupName  : myaseazrg
    Id                 : /subscriptions/d64617ad-6266-4b19-45af-81112d213322/resourceGroups/mya
    seazrg/providers/Microsoft.Compute/virtualMachines/myazvm
    VmId               : 568a264f-c5d3-477f-a16c-4c5549eafa8c
    Name               : myazvm
    Type               : Microsoft.Compute/virtualMachines
    Location           : dbelocal
    Tags               : {"Organization":"Sales"}
    DiagnosticsProfile : {BootDiagnostics}
    HardwareProfile    : {VmSize}
    NetworkProfile     : {NetworkInterfaces}
    OSProfile          : {ComputerName, AdminUsername, LinuxConfiguration, Secrets,
    AllowExtensionOperations, RequireGuestProvisionSignal}
    ProvisioningState  : Succeeded
    StorageProfile     : {ImageReference, OsDisk, DataDisks}
    
    PS C:\WINDOWS\system32>
    
  3. Удалите тег и обновите виртуальную машину. Для выполнения команды без подтверждения пользователем можно использовать необязательный флаг -Force.

    $tags = $VirtualMachine.Tags
    $tags.Remove($TagName)
    Set-AzResource -ResourceId $VirtualMachine.Id -Tag $tags -Force
    

    Пример выходных данных:

    PS C:\WINDOWS\system32> $tags = $VirtualMachine.Tags
    PS C:\WINDOWS\system32> $tags.Remove($TagName)
    True
    PS C:\WINDOWS\system32> Set-AzResource -ResourceId $VirtualMachine.Id -Tag $tags -Force
    
    Name              : myazvm
    ResourceId        : /subscriptions/d64617ad-6266-4b19-45af-81112d213322/resourceGroups/myas
                        eazrg/providers/Microsoft.Compute/virtualMachines/myazvm
    ResourceName      : myazvm
    ResourceType      : Microsoft.Compute/virtualMachines
    ResourceGroupName : myaseazrg
    Location          : dbelocal
    SubscriptionId    : d64617ad-6266-4b19-45af-81112d213322
    Tags              : {}
    Properties        : @{vmId=568a264f-c5d3-477f-a16c-4c5549eafa8c; hardwareProfile=;
                        storageProfile=; osProfile=; networkProfile=; diagnosticsProfile=;
                        provisioningState=Succeeded}
    
    PS C:\WINDOWS\system32>
    

Следующие шаги