Использование расширений с пулами пакетной службы
Расширения — это небольшие приложения, которые упрощают конфигурирование и настройку после подготовки на вычислительных узлах пакетной службы. Вы можете выбрать любое из расширений, разрешенных пакетная служба Azure, и установить их на вычислительных узлах по мере их подготовки. После этого расширение может выполнять предполагаемую операцию.
Вы можете проверить текущее состояние используемых расширений и получить информацию, которую они возвращают, чтобы воспользоваться любыми возможностями обнаружения, исправления или диагностики.
Необходимые компоненты
- Пулы с расширениями должны использовать конфигурацию виртуальной машины.
- Тип расширения CustomScript зарезервирован для пакетной службы Microsoft Azure и не может быть переопределен.
- Некоторым расширениям для правильной работы может потребоваться управляемое удостоверение уровня пула, доступное в контексте вычислительного узла. Если применимо к расширениям, см . настройку управляемых удостоверений в пулах пакетной службы.
Совет
Расширения нельзя добавить в существующий пул. Пулы должны быть повторно созданы для добавления, удаления или обновления расширений.
Поддерживаемые расширения
В настоящее время при создании пула пакетной службы могут быть установлены следующие расширения:
- Расширение Azure Key Vault для Linux
- Расширение Azure Key Vault для Windows
- Расширение анализа журналов и мониторинга Azure Monitor для Linux
- Расширение анализа журналов и мониторинга Azure Monitor для Windows
- Расширение Azure Desired State Configuration (DSC)
- Расширение системы диагностики Azure для виртуальных машин Windows
- Расширение драйвера GPU AMD для высокопроизводительных вычислений для Windows
- Расширение драйвера GPU NVIDIA для высокопроизводительных вычислений для Windows
- Расширение драйвера GPU HPC для Linux в NVIDIA
- Расширение антивредоносного ПО Майкрософт для Windows
- Агент Azure Monitor для Linux
- Агент Azure Monitor для Windows
Вы можете запросить поддержку других издателей и (или) типов расширений, открыв запрос на поддержку.
Создание пула с расширениями
В следующем примере создается пул пакетной службы узлов 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_DS2_V2",
"taskSchedulingPolicy": {
"nodeFillType": "Pack"
},
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"publisher": "microsoftcblmariner",
"offer": "cbl-mariner",
"sku": "cbl-mariner-2",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.mariner 2.0",
"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_DS2_V2",
"taskSchedulingPolicy": {
"nodeFillType": "Pack"
},
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"publisher": "microsoftwindowsserver",
"offer": "windowsserver",
"sku": "2022-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, можно временно задать значение false и повторно развернуть пул, а вычислительный узел находится в состоянии простоя, вы можете войти в вычислительный узел, чтобы проверить журналы расширений KeyVault для ошибок и устранить проблемы с конфигурацией. Дополнительные сведения см. по ссылке на документацию по расширению Key Vault.
Следующие шаги
- Узнайте о различных способах копирования приложений и данных в узлы пула.
- Прочитайте о работе с узлами и пулами.