Связывание размера виртуальной машины Azure с ее семейством

I ' m пытается проверить доступность ядра перед развертыванием нового сервера с помощью PowerShell.

Мне удалось получить текущий предел ядра и значения для семейства vCPU, но размеры виртуальных машин не указаны в списке их "семейств".

Есть ли там каким-либо способом сделать это эффективно?

1
задан 27 December 2017 в 13:41
2 ответа

Есть ли способ сделать это эффективно?

На данный момент нет no команды Azure PowerShell для перечисления размера виртуальной машины Azure и ее семейства VCPU.

Как мы знаем, мы можем использовать эту команду Get-AzureRmVMUsage , чтобы получить ограничение:

PS C:\Users\Jason> Get-AzureRmVMUsage -Location eastus

Name                             Current Value Limit  Unit
----                             ------------- -----  ----
Availability Sets                            0  2000 Count
Total Regional vCPUs                         0    20 Count
Virtual Machines                             0 10000 Count
Virtual Machine Scale Sets                   0  2000 Count
Basic A Family vCPUs                         0    20 Count
Standard A0-A7 Family vCPUs                  0    20 Count
Standard A8-A11 Family vCPUs                 0    20 Count
Standard D Family vCPUs                      0    20 Count
Standard Dv2 Family vCPUs                    0    20 Count
Standard G Family vCPUs                      0    20 Count
Standard DS Family vCPUs                     0    20 Count
Standard DSv2 Family vCPUs                   0    20 Count
Standard GS Family vCPUs                     0    20 Count
Standard F Family vCPUs                      0    20 Count
Standard FS Family vCPUs                     0    20 Count
Standard NV Family vCPUs                     0    18 Count
Standard NC Family vCPUs                     0    18 Count
Standard H Family vCPUs                      0     8 Count
Standard Av2 Family vCPUs                    0    20 Count
Standard LS Family vCPUs                     0    20 Count
Standard Dv2 Promo Family vCPUs              0    20 Count
Standard DSv2 Promo Family vCPUs             0    20 Count
Standard MS Family vCPUs                     0     0 Count
Standard Dv3 Family vCPUs                    0    20 Count
Standard DSv3 Family vCPUs                   0    20 Count
Standard Ev3 Family vCPUs                    0    20 Count
Standard ESv3 Family vCPUs                   0    20 Count
Standard B Family vCPUs                      0    10 Count
Standard FSv2 Family vCPUs                   0    20 Count
Standard ND Family vCPUs                     0     0 Count
Standard NCv2 Family vCPUs                   0     0 Count
Standard NCv3 Family vCPUs                   0     0 Count
Standard LSv2 Family vCPUs                   0     0 Count
Standard Storage Managed Disks               0 10000 Count
Premium Storage Managed Disks                0 10000 Count 

Мы можем использовать эту команду Get-AzureRmVMSize , чтобы получить подробную информацию о размере виртуальной машины Azure:

enter image description here

Мы можем использовать имя размера виртуальной машины Azure, чтобы найти семейство размеров.

Примечание :

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

1
ответ дан 3 December 2019 в 23:21

вы можете построить свою собственную карту с помощью регулярного выражения. примерно так:

foreach ($location in @('EastUS')) {
  Get-AzVmSize -Location $location | % {
    New-Object -TypeName PSobject -Property @{
      Name                 = $_.Name;
      NumberOfCores        = $_.NumberOfCores;
      MemoryInMB           = $_.MemoryInMB;
      MaxDataDiskCount     = $_.MaxDataDiskCount;
      OSDiskSizeInMB       = $_.OSDiskSizeInMB;
      ResourceDiskSizeInMB = $_.ResourceDiskSizeInMB;
      Family               = $(switch -regex ($_.Name) {
        '^(Basic|Standard)_(A|B|D|E|F|H|L|M)[0-9]+m?r?$' {
          '{0} {1} Family vCPUs' -f $matches[1], $matches[2];
          break;
        }
        '^(Basic|Standard)_(A|B|D|E|F|H|L|M)[0-9]+m?r?_Promo$' {
          '{0} {1} Promo Family vCPUs' -f $matches[1], $matches[2];
          break;
        }
        '^(Basic|Standard)_(A|B|D|E|F|H|L|M)[0-9]+[lmt]?s$' {
          '{0} {1}S Family vCPUs' -f $matches[1], $matches[2];
          break;
        }
        '^(Basic|Standard)_(A|B|D|E|F|H|L|M|P)([BC])[0-9]+r?s$' {
          '{0} {1}{2}S Family vCPUs' -f $matches[1], $matches[2], $matches[3];
          break;
        }
        '^(Basic|Standard)_(A|B|D|E|F|H|L|M)[0-9]+(-(1|2|4|8|16|32|64))?m?s$' {
          '{0} {1}S Family vCPUs' -f $matches[1], $matches[2];
          break;
        }
        '^(Basic|Standard)_(A|B|D|E|F|H|L|M)S[0-9]+$' {
          '{0} {1}S Family vCPUs' -f $matches[1], $matches[2];
          break;
        }
        '^(Basic|Standard)_(A|B|D|E|F|H|L|M)1?[0-9]+m?_v([2-4])$' {
          '{0} {1}v{2} Family vCPUs' -f $matches[1], $matches[2], $matches[3];
          break;
        }
        '^(Basic|Standard)_(A|B|D|E|F|H|L|M)?[0-9]+_v([2-4])_Promo$' {
          '{0} {1}v{2} Promo Family vCPUs' -f $matches[1], $matches[2], $matches[3];
          break;
        }
        '^(Basic|Standard)_(A|B|D|E|F|H|L|M)1?[0-9]+_v([2-4])$' {
          '{0} {1}v{2} Family vCPUs' -f $matches[1], $matches[2], $matches[3];
          break;
        }
        '^(Basic|Standard)_(A|B|D|E|F|H|L|M)1?[0-9]+m?s_v([2-4])$' {
          '{0} {1}Sv{2} Family vCPUs' -f $matches[1], $matches[2], $matches[3];
          break;
        }
        '^(Basic|Standard)_(A|B|D|E|F|H|L|M)[0-9]+(-(1|2|4|8|16|32|64))?s_v([2-4])$' {
          '{0} {1}Sv{2} Family vCPUs' -f $matches[1], $matches[2], $matches[5];
          break;
        }
        '^(Basic|Standard)_(A|B|D|E|F|H|L|M)S[0-9]+(-(1|2|4|8|16|32|64))?_v([2-4])$' {
          '{0} {1}Sv{2} Family vCPUs' -f $matches[1], $matches[2], $matches[5];
          break;
        }
        '^(Basic|Standard)_(A|B|D|E|F|H|L|M)[0-9]+(-(1|2|4|8|16|32|64))?i_v([2-4])$' {
          '{0} {1}Iv{2} Family vCPUs' -f $matches[1], $matches[2], $matches[5];
          break;
        }
        '^(Basic|Standard)_(A|B|D|E|F|H|L|M)[0-9]+(-(1|2|4|8|16|32|64))?is_v([2-4])$' {
          '{0} {1}ISv{2} Family vCPUs' -f $matches[1], $matches[2], $matches[5];
          break;
        }
        '^(Basic|Standard)_(A|B|D|E|F|H|L|M)S[0-9]+_v([2-4])_Promo$' {
          '{0} {1}Sv{2} Promo Family vCPUs' -f $matches[1], $matches[2], $matches[3];
          break;
        }
        '^(Basic|Standard)_(A|B|D|E|F|H|L|M)1?[0-9]+a_v([2-4])$' {
          '{0} {1}Av{2} Family vCPUs' -f $matches[1], $matches[2], $matches[3];
          break;
        }
        '^(Basic|Standard)_(A|B|D|E|F|H|L|M)1?[0-9]+as_v([2-4])$' {
          '{0} {1}ASv{2} Family vCPUs' -f $matches[1], $matches[2], $matches[3];
          break;
        }
        '^Standard_N([CV])[0-9]+r?$' {
          'Standard N{0} Family vCPUs' -f $matches[1];
          break;
        }
        '^Standard_N([CV])[0-9]+r?_Promo$' {
          'Standard N{0} Promo Family vCPUs' -f $matches[1];
          break;
        }
        '^Standard_N([DP])S[0-9]+$' {
          'Standard N{0}S Family vCPUs' -f $matches[1];
          break;
        }
        '^Standard_N([DP])[0-9]+r?s$' {
          'Standard N{0}S Family vCPUs' -f $matches[1];
          break;
        }
        '^Standard_N([CDV])[0-9]+r?s_v([2-4])$' {
          'Standard N{0}Sv{1} Family vCPUs' -f $matches[1], $matches[2];
          break;
        }
        default {
          $null;
          break;
        }
      })
    }
  } | Format-Table
}
0
ответ дан 20 December 2019 в 13:07

Теги

Похожие вопросы