Командлет New-AzVmss создает масштабируемый набор виртуальных машин (VMSS) в Azure.
Используйте простой набор параметров (SimpleParameterSet) для быстрого создания предварительно заданных vmSS и связанных ресурсов.
Используйте набор параметров по умолчанию (DefaultParameter) для более сложных сценариев, если необходимо точно настроить каждый компонент VMSS и каждый связанный ресурс перед созданием.
Для набора параметров по умолчанию сначала используйте командлет New-AzVmssConfig для создания объекта масштабируемого набора виртуальных машин.
Затем используйте следующие командлеты, чтобы задать различные свойства объекта масштабируемого набора виртуальных машин:
Get-AzComputeResourceSku также можно использовать для определения доступных размеров виртуальных машин для подписки и региона.
См. другие командлеты для масштабируемого набора виртуальных машин.
Создание VMSS по умолчанию будет использовать OrchestrationMode:Flexible. По умолчанию набор параметров будет задавать свойства в VirtualMachineScaleSetVMProfile по умолчанию. Чтобы создать VMSS с пустым свойством VirtualMachineScaleSetVMProfile, используйте простой параметр, создав объект VirtualMachineScaleSet с пустым свойством VirtualMachineScaleSetVMProfile с помощью New-AzVmssConfig.
См. [краткое руководство. Создание масштабируемого набора виртуальных машин с помощью Azure PowerShell](https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/quick-create-powershell) для руководства.
Примеры
Пример 1. Создание VMSS с помощью SimpleParameterSet
$vmssName = 'VMSSNAME'
# Create credentials, I am using one way to create credentials, there are others as well.
# Pick one that makes the most sense according to your use case.
$vmPassword = ConvertTo-SecureString -String "****" -AsPlainText -Force
$vmCred = New-Object System.Management.Automation.PSCredential('USERNAME', $vmPassword)
$securityTypeStnd = "Standard"
#Create a VMSS using the default settings
New-AzVmss -Credential $vmCred -VMScaleSetName $vmssName -SecurityType $securityTypeStnd
Приведенная выше команда создает следующую команду с именем $vmssName :
Группа ресурсов
Виртуальная сеть
Подсистема балансировки нагрузки
общедоступный IP-адрес;
VMSS с 2 экземплярами
Образ по умолчанию, выбранный для виртуальных машин в VMSS, — это 2016-Datacenter Windows Server SKU. Standard_DS1_v2
Пример 2. Создание VMSS с помощью DefaultParameterSet
Сложный пример, приведенный выше, создает vmSS, ниже приведено объяснение того, что происходит:
Первая команда создает группу ресурсов с указанным именем и расположением.
Вторая команда использует командлет New-AzStorageAccount для создания учетной записи хранения.
Третья команда затем использует командлет Get-AzStorageAccount для получения учетной записи хранения, созданной во второй команде, и сохраняет результат в переменной $STOAccount.
Пятая команда использует командлет New-AzVirtualNetworkSubnetConfig для создания подсети и хранения результата в переменной с именем $SubNet.
Шестая команда использует командлет New-AzVirtualNetwork для создания виртуальной сети и хранения результата в переменной с именем $VNet.
Седьмая команда использует Get-AzVirtualNetwork для получения сведений о виртуальной сети, созданной в шестой команде, и сохраняет сведения в переменной с именем $VNet.
Восьмая и девятая команда используют New-AzPublicIpAddress и Get-AzureRmPublicIpAddress для создания и получения сведений из этого общедоступного IP-адреса.
Команды хранят сведения в переменной с именем $PubIP.
Десятая команда использует командлет New-AzureRmLoadBalancerFrontendIpConfig для создания интерфейсного подсистемы балансировки нагрузки и сохраняет результат в переменной с именем $Frontend.
Одиннадцатая команда использует New-AzLoadBalancerBackendAddressPoolConfig для создания конфигурации серверного пула адресов и хранения результата в переменной с именем $BackendAddressPool.
Двенадцатая команда использует New-AzLoadBalancerProbeConfig для создания пробы и хранения сведений о пробе в переменной с именем $Probe.
Тринадцатая команда использует командлет New-AzLoadBalancerInboundNatPoolConfig для создания конфигурации пула преобразования сетевых адресов (NAT) подсистемы балансировки нагрузки.
Четырнадцатая команда использует New-AzLoadBalancerRuleConfig для создания конфигурации правила подсистемы балансировки нагрузки и сохраняет результат в переменной с именем $LBRule.
Пятнадцатая команда использует командлет New-AzLoadBalancer для создания подсистемы балансировки нагрузки и хранения результата в переменной с именем $ActualLb.
Шестнадцатая команда использует Get-AzLoadBalancer для получения сведений о подсистеме балансировки нагрузки, созданной в пятнадцатой команде, и сохраняет сведения в переменной с именем $ExpectedLb.
Семнадцатая команда использует командлет New-AzVmssIpConfig для создания IP-конфигурации VMSS и хранения сведений в переменной с именем $IPCfg.
Восемнадцатая команда использует командлет New-AzVmssConfig для создания объекта конфигурации VMSS и сохраняет результат в переменной с именем $VMSS.
Девятнадцатая команда использует командлет New-AzVmss для создания VMSS.
Пример 3. Создание VMSS со значением UserData
$ResourceGroupName = 'RESOURCE GROUP NAME';
$vmssName = 'VMSSNAME';
$domainNameLabel = "dnl" + $ResourceGroupName;
# Create credentials, I am using one way to create credentials, there are others as well.
# Pick one that makes the most sense according to your use case.
$vmPassword = ConvertTo-SecureString -String "****" -AsPlainText -Force;
$vmCred = New-Object System.Management.Automation.PSCredential('USERNAME', $vmPassword);
$text = "UserData value to encode";
$bytes = [System.Text.Encoding]::Unicode.GetBytes($text);
$userData = [Convert]::ToBase64String($bytes);
$securityTypeStnd = "Standard";
#Create a VMSS
New-AzVmss -ResourceGroupName $ResourceGroupName -Name $vmssName -Credential $vmCred -DomainNameLabel $domainNameLabel -Userdata $userData -SecurityType $securityTypeStnd;
$vmss = Get-AzVmss -ResourceGroupName $ResourceGroupName -VMScaleSetName $vmssName -InstanceView:$false -Userdata;
Создание VMSS со значением UserData
Пример 4. Создание виртуальных машин с типом безопасности TrustedLaunch
В этом примере создается новая виртуальная машина с новым типом безопасности TrustedLaunch и необходимыми значениями UEFISettings, VTpmEnabled и SecureBootEnabled являются true. Дополнительные сведения см. в странице функции доверенного запуска.
Пример 5. Создание виртуальных машин в режиме оркестрации: гибкий по умолчанию
В масштабируемом наборе виртуальных машин выше включен доверенный запуск по умолчанию. Дополнительные сведения см. в странице функции доверенного запуска.
Параметры
-AllocationMethod
Метод выделения для общедоступного IP-адреса масштабируемого набора (статический или динамический). Если значение не указано, выделение будет статическим.
Имя пула внутренних адресов для использования в подсистеме балансировки нагрузки для этого масштабируемого набора. Если значение не указано, создается новый внутренний пул с таким же именем, как и масштабируемый набор.
Внутренние номера портов, используемые подсистемой балансировки нагрузки масштабируемого набора для взаимодействия с виртуальными машинами в масштабируемом наборе. Если значения не указаны, порты 3389 и 5985 будут использоваться для виртуальных машин Windows, а порт 22 будет использоваться для виртуальных машин Linux.
Учетные данные администратора (имя пользователя и пароль) для виртуальных машин в этом масштабируемом наборе.
Имя пользователя Ограничение:
Windows: не удается содержать специальные символы /"[]:|<>+=;,?*@& или конец "."
Linux: имя пользователя должно содержать только буквы, цифры, дефисы и знаки подчеркивания, а также не начинаться с дефиса или номера. Запрещенные значения: "администратор", "admin", "user1", "user1", "test2", "test1", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". минимальная длина: 1 символ Максимальная длина: 20 символов для Windows, 64 символов для Linux Пароль
Должно содержать 3 из следующих: 1 строчные буквы, 1 верхний регистр, 1 номер и 1 специальный символ.
Значение должно составлять от 12 до 123 символов.
Метка доменного имени для общедоступного полного доменного имени (FQDN) для этого масштабируемого набора. Это первый компонент доменного имени, который автоматически назначается масштабируемой группе. Автоматически назначенные доменные имена используют форму (<DomainNameLabel>.<Location>.cloudapp.azure.com). Если значение не задано, метка доменного имени по умолчанию будет объединением <ScaleSetName> и <ResourceGroupName>.
Следует ли автоматически применять обновления ОС к экземплярам масштабируемого набора в последовательном режиме, когда становится доступной более новая версия образа.
Этот параметр включает шифрование для всех дисков, включая диск Resource/Temp на самом узле.
Значение по умолчанию: шифрование на узле будет отключено, если для ресурса не задано значение true.
Имя пула внешних адресов для использования в подсистеме балансировки нагрузки масштабируемого набора. Если значение не задано, создается новый пул адресов внешнего интерфейса с таким же именем, что и масштабируемый набор.
используется для условного запроса для PUT и других небезопасных методов. Сервер возвращает только запрошенные ресурсы, если ресурс соответствует одному из перечисленных значений ETag. Опустите это значение, чтобы всегда перезаписать текущий ресурс. Укажите последнее значение ETag, чтобы предотвратить случайное перезапись одновременных изменений.
Используется для выполнения запроса условно для методов GET и HEAD. Сервер возвращает только запрошенные ресурсы, если ни одно из перечисленных значений ETag не соответствует текущей сущности. Используется для выполнения запроса условно для методов GET и HEAD. Сервер возвращает только запрошенные ресурсы, если ни одно из перечисленных значений ETag не соответствует текущей сущности. Установите значение "*", чтобы разрешить создание нового набора записей, но для предотвращения обновления существующего набора записей. Другие значения будут привести к ошибке с сервера, так как они не поддерживаются.
Псевдоним образа для виртуальных машин в этом масштабируемом наборе. Если значение не указано, будет использоваться образ Windows Server 2016 DataCenter. Доступны псевдонимы: Win2022AzureEdition, Win2022AzureEditionCore, Win2019Datacenter, Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, UbuntuLTS, Ubuntu2204, CentOS85Gen2, Debian11, OpenSuseLeap154Gen2, RHELRaw8LVMGen2, SuseSles15SP3, FlatcarLinuxFreeGen2.
Имя подсистемы балансировки нагрузки, используемой с этим масштабируемым набором. Новый балансировщик нагрузки, использующий то же имя, что и масштабируемый набор, будет создан, если значение не указано.
Расположение Azure, в котором будет создан этот масштабируемый набор. Если значение не указано, расположение будет выводиться из расположения других ресурсов, на которые ссылаются параметры.
Задает режим оркестрации для масштабируемого набора виртуальных машин. Возможные значения: универсальное, гибкое
Создание VMSS в OrchestrationMode:Гибкий с помощью набора параметров по умолчанию приведет к заполнению VirtualMachineScaleSetVMProfile по умолчанию.
Если вы хотите создать VMSS с пустым VirtualMachineScaleSetVMProfile, сначала создайте объект VirtualMachineScaleSet с пустым свойством VMProfile с помощью New-AzVmssConfig, а затем создайте VMSS с помощью простого набора параметров.
Приоритет виртуальной машины в масштабируемом наборе. Поддерживаются только значения "Regular", "Spot" и "Low".
"Обычный" предназначен для обычной виртуальной машины.
"Spot" предназначен для точечных виртуальных машин.
"Низкий" также предназначен для точечных виртуальных машин, но заменяется на "Spot". Используйте "Spot" вместо "Low".
Имя общедоступного IP-адреса, используемого с этим масштабируемым набором. Новый общедоступный IP-адресAddress с тем же именем, что и масштабируемый набор, будет создан, если значение не указано.
Указывает имя группы ресурсов виртуальной машины. Если значение не указано, новая группа ресурсов будет создана с тем же именем, что и масштабируемый набор.
Правила, которые следует соблюдать при масштабировании масштабируемого набора виртуальных машин. Возможные значения: Default, OldestVM и NewestVM. Значение по умолчанию при масштабировании масштабируемого набора виртуальных машин сначала масштабируемый набор будет сбалансирован между зонами, если это зональный масштабируемый набор. Затем она будет сбалансирована по доменам сбоя как можно скорее. В каждом домене сбоя виртуальные машины, выбранные для удаления, будут самыми новыми, которые не защищены от масштабирования. "Старейшая виртуальная машина", когда масштабируемый набор виртуальных машин масштабируется, для удаления будут выбраны самые старые виртуальные машины, которые не защищены от масштабирования. Для зональных масштабируемых наборов виртуальных машин масштабируемый набор сначала будет сбалансирован между зонами. В каждой зоне для удаления будут выбраны старые виртуальные машины, которые не защищены. "NewestVM", когда масштабируемый набор виртуальных машин масштабируется, для удаления будут выбраны новейшие виртуальные машины, которые не защищены от масштабирования. Для зональных масштабируемых наборов виртуальных машин масштабируемый набор сначала будет сбалансирован между зонами. В каждой зоне для удаления будут выбраны новейшие виртуальные машины, которые не защищены.
Имя группы безопасности сети, применяемой к этому масштабируемой группе. Если значение не указано, группа безопасности сети по умолчанию с тем же именем, что и масштабируемый набор, будет создана и применена к масштабируемой группе.
Идентификатор ссылки на состояние безопасности в виде /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|latest
Указывает тип безопасности виртуальной машины. Для включения UefiSettings необходимо задать любое указанное значение. UefiSettings не будет включен, если это свойство не задано.
Префикс адреса подсети, используемой этим масштабируемым набором. Параметры подсети по умолчанию (192.168.1.0/24) будут применяться, если значение не указано.
Имя подсети, используемой с этим масштабируемым набором. Новая подсеть будет создана с тем же именем, что и масштабируемый набор, если значение не указано.
Если параметр присутствует, то виртуальные машины в масштабируемом наборе присваиваются управляемому системному удостоверению, созданному автоматически.
Режим политики обновления для экземпляров виртуальных машин в этом масштабируемом наборе. Политика обновления может указывать автоматическое, ручное или последовательное обновление.
Имя виртуальная сеть, используемое с этим масштабируемым набором. Если значение не задано, будет создана новая виртуальная сеть с тем же именем, что и масштабируемый набор.
Размер экземпляров виртуальных машин в этом масштабируемом наборе.
Get-AzComputeResourceSku можно использовать для определения доступных размеров подписки и региона. Размер по умолчанию (Standard_DS1_v2) будет использоваться, если размер не указан.
Префикс адреса для виртуальной сети, используемой с этим масштабируемым набором. Параметры префикса адресов виртуальной сети по умолчанию (192.168.0.0/16) будут использоваться, если значение не задано.
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.