Сброс пароля масштабируемого набора виртуальных машин

Для запуска Azure Service Fabric в кластере у меня есть vmset. Я знаю пароль, но его нужно изменить. Для виртуальной машины я обычно использую функцию «сброс пароля» на портале Azure, но vmset не позволяет этого. Настройка пароля в шаблоне ресурса также не допускается.

Как изменить пароль виртуальной машины в vmset?


person rfcdejong    schedule 22.11.2016    source источник


Ответы (2)


Обновление: см. Часто задаваемые вопросы о VMSS:

Измените модель масштабируемого набора виртуальных машин напрямую. Доступно с Compute API 2017-12-01 и более поздних версий.

Обновите учетные данные администратора непосредственно в модели масштабируемого набора (например, с помощью Azure Resource Explorer, PowerShell или интерфейса командной строки). После обновления масштабируемого набора все новые виртуальные машины будут иметь новые учетные данные. Существующие виртуальные машины имеют новые учетные данные только в том случае, если они пересоздаются.

В качестве альтернативы (и для более старых версий API) вы можете применить расширение VM Access. Командлет Set-AzureRmVmssOSProfile полезен при императивном создании масштабируемого набора с помощью PowerShell, но его нельзя использовать для изменения неизменяемых свойств существующего масштабируемого набора.

Вот пример использования расширения VM Access для изменения масштабируемого набора.

# Login to your azure account
Login-AzureRmAccount

# Set the scale set and resource group
$vmssName = "myvmss"
$vmssResourceGroup = "myvmssrg"

# Set the username / password
$publicConfig = @{"UserName" = "newuser"}
$privateConfig = @{"Password" = "********"}
 
$extName = "VMAccessAgent"
$publisher = "Microsoft.Compute"

$vmss = Get-AzureRmVmss -ResourceGroupName $vmssResourceGroup -VMScaleSetName $vmssName
$vmss = Add-AzureRmVmssExtension -VirtualMachineScaleSet $vmss -Name $extName -Publisher $publisher -Setting $publicConfig -ProtectedSetting $privateConfig -Type $extName -TypeHandlerVersion "2.0" -AutoUpgradeMinorVersion $true

Update-AzureRmVmss -ResourceGroupName $vmssResourceGroup -Name $vmssName -VirtualMachineScaleSet $vmss
person sendmarsh    schedule 25.11.2016
comment
@SteelNation нужно больше информации, чем не получится. Что вы пробовали? Какая версия Compute API? в чем была ошибка? - person sendmarsh; 06.04.2018
comment
мои извинения - оказалось, что моя версия Compute API слишком старая. Однако мой масштабируемый набор застрял в состоянии сбоя, и я больше не могу отправлять обновленные изображения. - person Steel Nation; 18.04.2018
comment
можно ли выполнить ту же операцию с помощью инструмента командной строки az? - person Devis L.; 14.11.2018

Рассматривая командлеты Azure PowerShell, Set -AzureRmVmssOsProfile имеет смысл:

PS C:\>Set-AzureRmVmssOSProfile -VirtualMachineScaleSet "ContosoVMSS" -ComputerNamePrefix "Test" -AdminUsername $AdminUsername -AdminPassword $AdminPassword

Эта команда задает свойства профиля операционной системы для виртуальных машин, принадлежащих VMSS с именем ContosoVMSS. Команда задает префикс имени компьютера для всех экземпляров виртуальных машин в VMSS как Test и предоставляет имя пользователя и пароль администратора.

person 4c74356b41    schedule 22.11.2016
comment
Спасибо, я попробую это всякий раз, когда кластер вернется из сообщения «Кластер проходит обновление, которое нельзя прервать». который находится в течение нескольких часов .. (включая опечатку в их тексте ошибки, хе-хе) - person rfcdejong; 22.11.2016