Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как использовать шаблон Azure Resource Manager (шаблон ARM) для развертывания расширений виртуальных машин на серверах с поддержкой Azure Arc (компьютеры с поддержкой Arc).
Чтобы развернуть расширения на серверах с поддержкой Arc с помощью шаблона ARM, добавьте расширения в шаблон и выполните их с развертыванием шаблона. Расширения можно развернуть на компьютерах Linux или Windows, подключенных к Azure Arc, с помощью Azure PowerShell.
В этой статье показано, как развернуть несколько разных расширений виртуальных машин на сервере с поддержкой Arc с помощью файла шаблона, а также отдельный файл параметров для некоторых расширений. Замените значения на примерах собственными значениями перед развертыванием.
Команды развертывания
Эти примеры команд PowerShell устанавливают расширение на всех подключенных серверах с поддержкой Arc в группе ресурсов на основе сведений в шаблоне ARM. Команда использует TemplateFile параметр для указания шаблона. Если требуется файл параметров, TemplateParameterFile параметр включается для указания файла, содержащего параметры и значения параметров. Замените шаблоны соответствующими значениями для вашего развертывания.
Для развертывания шаблона ARM и файла параметров используйте следующую команду, заменив примеры значений своими.
New-AzResourceGroupDeployment -ResourceGroupName "<resource-group-name>" -TemplateFile "<template-filename.json>" -TemplateParameterFile "<parameter-filename.json>"
Рассмотрим пример.
New-AzResourceGroupDeployment -ResourceGroupName "ContosoEngineering" -TemplateFile "D:\Azure\Templates\AzureMonitorAgent.json" -TemplateParameterFile "D:\Azure\Templates\AzureMonitorAgentParams.json"
Чтобы развернуть шаблон ARM без файла параметров, используйте следующую команду, заменив примеры значений собственными:
New-AzResourceGroupDeployment -ResourceGroupName "<resource-group-name>" -TemplateFile "<template-filename.json>"
Рассмотрим пример.
New-AzResourceGroupDeployment -ResourceGroupName "ContosoEngineering" -TemplateFile "D:\Azure\Templates\DependencyAgent.json"
Развертывание расширения виртуальной машины агента Azure Monitor
Чтобы развернуть агент Azure Monitor на сервере с поддержкой Arc, используйте один из следующих примеров шаблонов для установки агента в Linux или Windows.
Тип ресурса
Все расширения виртуальных машин с поддержкой Arc используют тип
Microsoft.HybridCompute/machines/extensionsресурса (сопоставленный с типом ресурса расширения виртуальной машины Azure).
Файл шаблона агента Azure Monitor для Linux (сервер с поддержкой Arc)
Параметры
-
vmName(строка, пример:myArcMachine) -
location(строка, пример:eastus) -
workspaceId(строка, пример: идентификатор рабочей области Log Analytics) -
workspaceKey(строка, пример: первичный ключ Log Analytics)
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"location": {
"type": "string"
},
"workspaceId": {
"type": "string"
},
"workspaceKey": {
"type": "string"
}
},
"resources": [
{
"name": "[concat(parameters('vmName'),'/AzureMonitorLinuxAgent')]",
"type": "Microsoft.HybridCompute/machines/extensions",
"location": "[parameters('location')]",
"apiVersion": "2025-06-01",
"properties": {
"publisher": "Microsoft.Azure.Monitor",
"type": "AzureMonitorLinuxAgent",
"enableAutomaticUpgrade": true,
"settings": {
"workspaceId": "[parameters('workspaceId')]"
},
"protectedSettings": {
"workspaceKey": "[parameters('workspaceKey')]"
}
}
}
]
}
Файл шаблона агента Azure Monitor для Windows (сервер с поддержкой Arc)
Параметры
-
vmName(строка, пример:myArcMachine) -
location(строка, пример:eastus) -
workspaceId(строка, пример: идентификатор рабочей области Log Analytics) -
workspaceKey(строка, пример: первичный ключ Log Analytics)
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"location": {
"type": "string"
},
"workspaceId": {
"type": "string"
},
"workspaceKey": {
"type": "string"
}
},
"resources": [
{
"name": "[concat(parameters('vmName'),'/AzureMonitorWindowsAgent')]",
"type": "Microsoft.HybridCompute/machines/extensions",
"location": "[parameters('location')]",
"apiVersion": "2025-06-01",
"properties": {
"publisher": "Microsoft.Azure.Monitor",
"type": "AzureMonitorWindowsAgent",
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"settings": {
"workspaceId": "[parameters('workspaceId')]"
},
"protectedSettings": {
"workspaceKey": "[parameters('workspaceKey')]"
}
}
}
]
}
Файл параметров агента Azure Monitor (сервер с поддержкой Arc)
Этот файл параметров можно использовать как для Linux, так и для Windows.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "<vmName>"
},
"location": {
"value": "<region>"
},
"workspaceId": {
"value": "<MyWorkspaceID>"
},
"workspaceKey": {
"value": "<MyWorkspaceKey>"
}
}
}
Сохраните шаблон и файл параметров и измените файл параметров с соответствующими значениями для развертывания.
Развертывание агента Azure Monitor
- Необходимые условия: сервер с поддержкой Arc подключен, а рабочая область Log Analytics существует.
-
Развертывание:
New-AzResourceGroupDeployment -ResourceGroupName "<resource-group-name>" -TemplateFile "AzureMonitorAgent.json" -TemplateParameterFile "AzureMonitorAgentParams.json" - Убедитесь, что на портале Azure статус расширения успешно на сервере с поддержкой Arc.
Развертывание расширения пользовательского скрипта
Чтобы использовать расширение пользовательского скрипта на сервере с поддержкой Arc, разверните один из следующих примеров шаблонов для Linux или Windows. Дополнительные сведения см. в разделе «Расширение настраиваемого скрипта для Linux» или «Расширение настраиваемого скрипта для Windows».
Файл шаблона расширения пользовательского скрипта для Linux (сервер с поддержкой Arc)
Параметры
-
vmName(строка, пример:myArcMachine) -
location(строка, пример:eastus) -
fileUris(массив, пример: URL-адреса скрипта) -
commandToExecute(securestring, пример:sh script.sh)
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"location": {
"type": "string"
},
"fileUris": {
"type": "array"
},
"commandToExecute": {
"type": "securestring"
}
},
"resources": [
{
"name": "[concat(parameters('vmName'),'/CustomScript')]",
"type": "Microsoft.HybridCompute/machines/extensions",
"location": "[parameters('location')]",
"apiVersion": "2025-06-01",
"properties": {
"publisher": "Microsoft.Azure.Extensions",
"type": "CustomScript",
"autoUpgradeMinorVersion": true,
"settings": {},
"protectedSettings": {
"commandToExecute": "[parameters('commandToExecute')]",
"fileUris": "[parameters('fileUris')]"
}
}
}
]
}
Файл шаблона пользовательского скрипта для Windows (сервер с поддержкой Arc)
Параметры
-
vmName(строка, пример:myArcMachine) -
location(строка, пример:eastus) -
fileUris(строка, пример: URL-адрес скрипта) -
arguments(securestring, необязательный, пример:-Param1 Value1)
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"location": {
"type": "string"
},
"fileUris": {
"type": "string"
},
"arguments": {
"type": "securestring",
"defaultValue": " "
}
},
"variables": {
"UriFileNamePieces": "[split(parameters('fileUris'), '/')]",
"firstFileNameString": "[variables('UriFileNamePieces')[sub(length(variables('UriFileNamePieces')), 1)]]",
"firstFileNameBreakString": "[split(variables('firstFileNameString'), '?')]",
"firstFileName": "[variables('firstFileNameBreakString')[0]]"
},
"resources": [
{
"name": "[concat(parameters('vmName'),'/CustomScriptExtension')]",
"type": "Microsoft.HybridCompute/machines/extensions",
"location": "[parameters('location')]",
"apiVersion": "2022-03-10",
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": "[split(parameters('fileUris'), ' ')]"
},
"protectedSettings": {
"commandToExecute": "[concat ('powershell -ExecutionPolicy Unrestricted -File ', variables('firstFileName'), ' ', parameters('arguments'))]"
}
}
}
]
}
Развертывание расширения пользовательского скрипта
- Необходимые условия: файлы скриптов, доступные на сервере с поддержкой Arc.
-
Развертывание:
New-AzResourceGroupDeployment -ResourceGroupName "<resource-group-name>" -TemplateFile "CustomScript.json"
Разверните расширение агента зависимостей
Используйте следующие шаблоны для развертывания агента зависимостей на компьютере Под управлением Linux или Windows с поддержкой Arc.
Файл шаблона агента зависимостей для Linux (сервер с поддержкой Arc)
Параметры
-
vmName(строка, пример:myArcMachine)
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
}
},
"resources": [
{
"type": "Microsoft.HybridCompute/machines/extensions",
"name": "[concat(parameters('vmName'),'/DAExtension')]",
"apiVersion": "2025-06-01",
"location": "[resourceGroup().location]",
"properties": {
"publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
"type": "DependencyAgentLinux",
"enableAutomaticUpgrade": true
}
}
]
}
Файл шаблона агента зависимостей для Windows (сервер с поддержкой Arc)
Параметры
-
vmName(строка, пример:myArcMachine)
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string",
"metadata": {
"description": "The name of existing Windows machine."
}
}
},
"resources": [
{
"type": "Microsoft.HybridCompute/machines/extensions",
"name": "[concat(parameters('vmName'),'/DAExtension')]",
"apiVersion": "2022-03-10",
"location": "[resourceGroup().location]",
"dependsOn": [
],
"properties": {
"publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
"type": "DependencyAgentWindows",
"enableAutomaticUpgrade": true
}
}
],
"outputs": {
}
}
Развертывание агента зависимостей
- Необходимые условия: Azure Monitor включен для сервера с поддержкой Arc.
-
Развертывание:
New-AzResourceGroupDeployment -ResourceGroupName "<resource-group-name>" -TemplateFile "DependencyAgent.json" - Убедитесь, что на портале Azure состояние расширения успешно на сервере с поддержкой Arc.
Развертывание расширения Azure Key Vault
В следующем формате JSON показана схема расширения Azure Key Vault. Для этого расширения не требуются защищенные параметры, так как все его параметры считаются общедоступными сведениями. Для расширения требуется список отслеживаемых сертификатов, частота опроса и целевое хранилище сертификатов.
Файл шаблона Azure Key Vault для Linux (сервер с поддержкой Arc)
Параметры
-
vmName(строка, пример:myArcMachine) -
location(строка, пример:eastus) -
autoUpgradeMinorVersion(bool, пример:true) -
pollingIntervalInS(int, пример:3600) -
certificateStoreName(строка, игнорируемая в Linux) -
certificateStoreLocation(строка, пример:/var/lib/waagent/Microsoft.Azure.KeyVault) -
observedCertificates(строка, пример: URI сертификата Key Vault) -
msiEndpoint(строка, пример:http://localhost:40342/metadata/identity) -
msiClientId(строка, пример: идентификатор клиента управляемого удостоверения)
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"location": {
"type": "string"
},
"autoUpgradeMinorVersion":{
"type": "bool"
},
"pollingIntervalInS":{
"type": "int"
},
"certificateStoreName":{
"type": "string"
},
"certificateStoreLocation":{
"type": "string"
},
"observedCertificates":{
"type": "string"
},
"msiEndpoint":{
"type": "string"
},
"msiClientId":{
"type": "string"
}
},
"resources": [
{
"type": "Microsoft.HybridCompute/machines/extensions",
"name": "[concat(parameters('vmName'),'/KVVMExtensionForLinux')]",
"apiVersion": "2022-03-10",
"location": "[parameters('location')]",
"properties": {
"publisher": "Microsoft.Azure.KeyVault",
"type": "KeyVaultForLinux",
"enableAutomaticUpgrade": true,
"settings": {
"secretsManagementSettings": {
"pollingIntervalInS": <polling interval in seconds, e.g. "3600">,
"certificateStoreName": <ignored on linux>,
"certificateStoreLocation": <disk path where certificate is stored, default: "/var/lib/waagent/Microsoft.Azure.KeyVault">,
"observedCertificates": <list of KeyVault URIs representing monitored certificates, e.g.: "https://myvault.vault.azure.net/secrets/mycertificate"
},
"authenticationSettings": {
"msiEndpoint": "http://localhost:40342/metadata/identity"
}
}
}
}
]
}
Файл шаблона Azure Key Vault для Windows (сервер с поддержкой Arc)
Параметры
-
vmName(строка, пример:myArcMachine) -
location(строка, пример:eastus) -
autoUpgradeMinorVersion(bool, пример:true) -
pollingIntervalInS(int, пример:3600) -
certificateStoreName(строка, пример:MY) -
linkOnRenewal(bool, пример:false) -
certificateStoreLocation(строка, пример:LocalMachine) -
requireInitialSync(bool, пример:true) -
observedCertificates(строка, пример: URI сертификата Key Vault) -
msiEndpoint(строка, пример:http://localhost:40342/metadata/identity) -
msiClientId(строка, пример: идентификатор клиента управляемого удостоверения)
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"location": {
"type": "string"
},
"autoUpgradeMinorVersion":{
"type": "bool"
},
"pollingIntervalInS":{
"type": "int"
},
"certificateStoreName":{
"type": "string"
},
"linkOnRenewal":{
"type": "bool"
},
"certificateStoreLocation":{
"type": "string"
},
"requireInitialSync":{
"type": "bool"
},
"observedCertificates":{
"type": "string"
},
"msiEndpoint":{
"type": "string"
},
"msiClientId":{
"type": "string"
}
},
"resources": [
{
"type": "Microsoft.HybridCompute/machines/extensions",
"name": "[concat(parameters('vmName'),'/KVVMExtensionForWindows')]",
"apiVersion": "2022-03-10",
"location": "[parameters('location')]",
"properties": {
"publisher": "Microsoft.Azure.KeyVault",
"type": "KeyVaultForWindows",
"enableAutomaticUpgrade": true,
"settings": {
"secretsManagementSettings": {
"pollingIntervalInS": "3600",
"certificateStoreName": <certificate store name, e.g.: "MY">,
"linkOnRenewal": <Only Windows. This feature ensures s-channel binding when certificate renews, without necessitating a re-deployment. e.g.: false>,
"certificateStoreLocation": <certificate store location, currently it works locally only e.g.: "LocalMachine">,
"requireInitialSync": <initial synchronization of certificates e.g.: true>,
"observedCertificates": <list of KeyVault URIs representing monitored certificates, e.g.: "https://myvault.vault.azure.net"
},
"authenticationSettings": {
"msiEndpoint": "http://localhost:40342/metadata/identity"
}
}
}
}
]
}
Примечание.
Url-адреса наблюдаемого сертификата должны иметь форму https://myVaultName.vault.azure.net/secrets/myCertName. Причина заключается в том, что /secrets путь возвращает полный сертификат, включая закрытый ключ, в то время как /certificates путь возвращает сертификат без закрытого ключа. Дополнительные сведения о сертификатах см. в обзоре ключей, секретов и сертификатов Azure Key Vault.
Сохраните шаблон и измените его по мере необходимости в вашей среде. Затем установите расширение Azure Key Vault на подключенные компьютеры, выполнив команду развертывания PowerShell , найденную ранее в этой статье.
Подсказка
Расширение Azure Key Vault требует, чтобы системно назначаемое удостоверение было присвоено для аутентификации в Key Vault. Дополнительные сведения см. в статье "Проверка подлинности в ресурсах Azure с помощью серверов с поддержкой Azure Arc".
Связанный контент
- Дополнительные сведения о расширениях виртуальных машин, поддерживаемых серверами с поддержкой Azure Arc.
- Узнайте, как развертывать, управлять и удалять расширения виртуальных машин с помощью Azure PowerShell, портала Azure или Azure CLI.
- Изучите сведения об устранении неполадок в руководстве по устранению неполадок с расширениями виртуальных машин.