Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Расширения — это небольшие приложения, которые упрощают конфигурирование и настройку после развертывания на вычислительных узлах службы Batch. Вы можете выбрать любое из разрешённых расширений и установить их на вычислительных узлах в процессе их развертывания. После этого расширение может выполнять предполагаемую операцию.
Вы можете проверить текущее состояние используемых расширений и получить информацию, которую они возвращают, чтобы воспользоваться любыми возможностями обнаружения, исправления или диагностики.
Предварительные условия
- Пулы с расширениями должны использовать конфигурацию виртуальной машины.
- Тип расширения CustomScript зарезервирован для пакетной службы Microsoft Azure и не может быть переопределен.
- Некоторым расширениям для правильной работы может потребоваться управляемое удостоверение уровня пула, доступное в контексте вычислительного узла. См. настройку управляемых удостоверений в пулах пакетной службы, если это применимо к расширениям.
Совет
Расширения нельзя добавить в существующий пул. Для добавления, удаления или обновления расширений необходимо заново создать пулы.
Поддерживаемые расширения
В настоящее время при создании пула пакетной службы могут быть установлены следующие расширения:
- Расширение Azure Key Vault для Linux
- Расширение Azure Key Vault для Windows
- Расширение анализа журналов и мониторинга Azure Monitor для Linux
- Расширение анализа журналов и мониторинга Azure Monitor для Windows
- Расширение Azure Desired State Configuration (DSC)
- Расширение системы диагностики Azure для виртуальных машин Windows
- Расширение драйвера HPC GPU для Windows на AMD
- Расширение драйвера GPU HPC для Windows на NVIDIA
- Расширение драйвера GPU HPC для Linux в NVIDIA
- Расширение антивредоносного ПО Майкрософт для Windows
- Агент Azure Monitor для Linux
- Агент Azure Monitor для Windows
- Расширение мониторинга состояния приложения
- Расширение Guest Attestation
Вы можете запросить поддержку других издателей и (или) типов расширений, открыв запрос на поддержку.
Создание пула с расширениями
В следующем примере создается пакетный пул узлов на базе Linux/Windows, использующий расширение Azure Key Vault.
Универсальный код ресурса (URI) REST API
PUT https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Batch/batchAccounts/<batchaccountName>/pools/<batchpoolName>?api-version=2021-01-01
Текст запроса для узла Linux
{
"name": "test1",
"type": "Microsoft.Batch/batchAccounts/pools",
"properties": {
"vmSize": "STANDARD_D2S_V5",
"taskSchedulingPolicy": {
"nodeFillType": "Pack"
},
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"publisher": "Canonical",
"offer": "ubuntu-24_04-lts",
"sku": "server",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.ubuntu 24.04",
"extensions": [
{
"name": "secretext",
"type": "KeyVaultForLinux",
"publisher": "Microsoft.Azure.KeyVault",
"typeHandlerVersion": "3.0",
"autoUpgradeMinorVersion": true,
"settings": {
"secretsManagementSettings": {
"pollingIntervalInS": "300",
"certificateStoreLocation": "/var/lib/waagent/Microsoft.Azure.KeyVault",
"requireInitialSync": true,
"observedCertificates": [
"https://testkvwestus2.vault.azure.net/secrets/authsecreat"
]
},
"authenticationSettings": {
"msiEndpoint": "http://169.254.169.254/metadata/identity",
"msiClientId": "885b1a3d-f13c-4030-afcf-9f05044d78dc"
}
},
"protectedSettings": {}
}
]
}
},
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 1,
"targetLowPriorityNodes": 0,
"resizeTimeout": "PT15M"
}
}
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ACR/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testumaforpools": {}
}
}
}
Текст запроса для узла Windows
{
"name": "test1",
"type": "Microsoft.Batch/batchAccounts/pools",
"properties": {
"vmSize": "STANDARD_D4S_V5",
"taskSchedulingPolicy": {
"nodeFillType": "Pack"
},
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"publisher": "microsoftwindowsserver",
"offer": "windowsserver",
"sku": "2025-datacenter",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.windows amd64",
"extensions": [
{
"name": "secretext",
"type": "KeyVaultForWindows",
"publisher": "Microsoft.Azure.KeyVault",
"typeHandlerVersion": "3.0",
"autoUpgradeMinorVersion": true,
"settings": {
"secretsManagementSettings": {
"pollingIntervalInS": "300",
"requireInitialSync": true,
"observedCertificates": [
{
"https://testkvwestus2.vault.azure.net/secrets/authsecreat"
"certificateStoreLocation": "LocalMachine",
"keyExportable": true
}
]
},
"authenticationSettings": {
"msiEndpoint": "http://169.254.169.254/metadata/identity",
"msiClientId": "885b1a3d-f13c-4030-afcf-9f05044d78dc"
}
},
"protectedSettings":{}
}
]
}
},
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 1,
"targetLowPriorityNodes": 0,
"resizeTimeout": "PT15M"
}
}
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ACR/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testumaforpools": {}
}
}
}
Получение данных расширения из пула
В следующем примере извлекаются данные из расширения Azure Key Vault.
Универсальный код ресурса (URI) REST API
GET https://<accountName>.<region>.batch.azure.com/pools/<poolName>/nodes/<tvmNodeName>/extensions/secretext?api-version=2010-01-01
Текст ответа
{
"odata.metadata": "https://testwestus2batch.westus2.batch.azure.com/$metadata#extensions/@Element",
"instanceView": {
"name": "secretext",
"statuses": [
{
"code": "ProvisioningState/succeeded",
"level": 0,
"displayStatus": "Provisioning succeeded",
"message": "Successfully started Key Vault extension service. 2021-02-08T19:49:39Z"
}
]
},
"vmExtension": {
"name": "KVExtensions",
"publisher": "Microsoft.Azure.KeyVault",
"type": "KeyVaultForLinux",
"typeHandlerVersion": "1.0",
"autoUpgradeMinorVersion": true,
"settings": "{\r\n \"secretsManagementSettings\": {\r\n \"pollingIntervalInS\": \"300\",\r\n \"certificateStoreLocation\": \"/var/lib/waagent/Microsoft.Azure.KeyVault\",\r\n \"requireInitialSync\": true,\r\n \"observedCertificates\": [\r\n \"https://testkvwestus2.vault.azure.net/secrets/testumi\"\r\n ]\r\n },\r\n \"authenticationSettings\": {\r\n \"msiEndpoint\": \"http://169.254.169.254/metadata/identity\",\r\n \"msiClientId\": \"885b1a3d-f13c-4030-afcf-922f05044d78dc\"\r\n }\r\n}"
}
}
Устранение неполадок с расширением Key Vault
Если расширение Key Vault настроено неправильно, вычислительный узел может находиться в состоянии, доступном для использования. Чтобы устранить сбой расширения Key Vault, можно временно установить requireInitialSync на false и повторно развернуть пул. После того как вычислительный узел находится в состоянии простоя, вы можете войти в вычислительный узел, чтобы проверить журналы расширений KeyVault для ошибок и устранить проблемы с конфигурацией. Посетите следующие ссылки для получения большей информации о расширении Key Vault.
Вопросы по расширению контроля работоспособности приложений
Агент пакетного узла, работающий на узле, всегда запускает HTTP-сервер, который возвращает состояние работоспособности агента. Этот HTTP-сервер прослушивает локальный IP-адрес 127.0.0.1 и порт 29879. Он всегда возвращает состояние 200, но при этом тело ответа является здоровым или неработоспособным. Любой другой ответ (или его отсутствие) считается "неизвестным" состоянием. Эта настройка соответствует руководствам по управлению HTTP-сервером, который предоставляет "Подробное состояние работоспособности" в соответствии с официальной документацией по расширению работоспособности приложений.
Если вы настроили собственный сервер мониторинга состояния, убедитесь, что HTTP-сервер прослушивает уникальный порт. Сервер работоспособности должен запрашивать сервер Batch Node Agent и объединять ваш сигнал работоспособности для создания составного результата работоспособности. В противном случае может получиться "исправный" узел, у которого нет правильно функционирующего агента пакетной обработки.
Следующие шаги
- Узнайте о различных способах копирования приложений и данных в узлы пула.
- Прочитайте о работе с узлами и пулами.