Я вижу, что с помощью Custom Script Extension можно загружать новые виртуальные машины (в Scale Set).Для доступа к сценарию необходимы URI хранилища Azure и учетные данные.Этот подход не работает для меня, потому что (внутренняя политика) не позволяет передавать учетные данные хранилища.
Мой VMSS назначил идентификатор службы, последний зарегистрирован в KeyVault.Таким образом, довольно просто получить учетные данные непосредственно на коробке.Но для этого мне нужен хотя бы небольшой скрипт начальной загрузки =)
Я нашел один хакерский способ добиться этого с помощью расширения пользовательских скриптов:
$bootstrapScriptPath = Join-Path -Path $PSScriptRoot -ChildPath "bootstrap.ps1"
$bootstrapScriptBlock = get-command $bootstrapScriptPath | Select -ExpandProperty ScriptBlock
$installScriptBase64 = [System.Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes($bootstrapScriptBlock.ToString()))
"commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -EncodedCommand ', parameters('installScriptBase64'))]"
Но мне интересно, есть ли лучшие решения.
По сути, мне нужно что-то, что обеспечивает Cloud Service - возможность загружать полезную нагрузку и настройки конфигурации.
РЕШЕНИЕ
(обратите внимание, это для Windows VM. Для Linux VM есть более простой способ - благодаря @sendmarsh)
Пожалуйста, смотритениже для фактической реализации (обратите внимание, я пометил в качестве ответа сообщение от @ 4c74356b41, который предложил эту идею).