Używanie rozszerzeń z pulami usługi Batch
Rozszerzenia to małe aplikacje, które ułatwiają konfigurację po aprowizacji i konfigurację w węzłach obliczeniowych usługi Batch. Możesz wybrać dowolne rozszerzenia dozwolone przez usługę Azure Batch i zainstalować je w węzłach obliczeniowych podczas aprowizowania. Następnie rozszerzenie może wykonać jego zamierzone działanie.
Możesz sprawdzić stan na żywo używanych rozszerzeń i pobrać informacje, które zwracają, aby realizować wszelkie możliwości wykrywania, poprawiania lub diagnostyki.
Wymagania wstępne
- Pule z rozszerzeniami muszą używać konfiguracji maszyny wirtualnej.
- Typ rozszerzenia CustomScript jest zarezerwowany dla usługi Azure Batch i nie można go zastąpić.
- Niektóre rozszerzenia mogą wymagać tożsamości zarządzanej na poziomie puli dostępnej w kontekście węzła obliczeniowego w celu prawidłowego działania. Zobacz Konfigurowanie tożsamości zarządzanych w pulach usługi Batch, jeśli ma zastosowanie do rozszerzeń.
Napiwek
Nie można dodać rozszerzeń do istniejącej puli. Pule muszą być tworzone ponownie, aby dodawać, usuwać lub aktualizować rozszerzenia.
Obsługiwane rozszerzenia
Podczas tworzenia puli usługi Batch można obecnie instalować następujące rozszerzenia:
- Rozszerzenie usługi Azure Key Vault dla systemu Linux
- Rozszerzenie usługi Azure Key Vault dla systemu Windows
- Azure Monitor Logs analytics and monitoring extension for Linux
- Analiza dzienników usługi Azure Monitor i rozszerzenie monitorowania dla systemu Windows
- Rozszerzenie Azure Desired State Configuration (DSC)
- rozszerzenie Diagnostyka Azure dla maszyn wirtualnych z systemem Windows
- Rozszerzenie sterownika procesora GPU HPC dla systemu Windows w usłudze AMD
- Rozszerzenie sterownika procesora GPU HPC dla systemu Windows w systemie NVIDIA
- Rozszerzenie sterownika procesora GPU HPC dla systemu Linux w systemie NVIDIA
- Rozszerzenie Microsoft Antimalware dla systemu Windows
- Agent usługi Azure Monitor dla systemu Linux
- Agent usługi Azure Monitor dla systemu Windows
Możesz poprosić o pomoc techniczną dla innych wydawców i/lub typów rozszerzeń, otwierając wniosek o pomoc techniczną.
Tworzenie puli z rozszerzeniami
Poniższy przykład tworzy pulę usługi Batch węzłów systemu Linux/Windows, która korzysta z rozszerzenia usługi Azure Key Vault.
Identyfikator URI interfejsu API REST
PUT https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Batch/batchAccounts/<batchaccountName>/pools/<batchpoolName>?api-version=2021-01-01
Treść żądania dla węzła systemu 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/042998e4-36dc-4b7d-8ce3-a7a2c4877d33/resourceGroups/ACR/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testumaforpools": {}
}
}
}
Treść żądania dla węzła systemu 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/042998e4-36dc-4b7d-8ce3-a7a2c4877d33/resourceGroups/ACR/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testumaforpools": {}
}
}
}
Pobieranie danych rozszerzenia z puli
Poniższy przykład pobiera dane z rozszerzenia usługi Azure Key Vault.
Identyfikator URI interfejsu API REST
GET https://<accountName>.<region>.batch.azure.com/pools/<poolName>/nodes/<tvmNodeName>/extensions/secretext?api-version=2010-01-01
Treść odpowiedzi
{
"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}"
}
}
Rozwiązywanie problemów z rozszerzeniem usługi Key Vault
Jeśli rozszerzenie usługi Key Vault jest niepoprawnie skonfigurowane, węzeł obliczeniowy może być w stanie użytecznym. Aby rozwiązać problemy z niepowodzeniem rozszerzenia usługi Key Vault, możesz tymczasowo ustawić wartość requireInitialSync na wartość false i ponownie wdrożyć pulę, a następnie węzeł obliczeniowy jest w stanie bezczynności, możesz zalogować się do węzła obliczeniowego, aby sprawdzić dzienniki rozszerzeń usługi KeyVault pod kątem błędów i rozwiązać problemy z konfiguracją. Aby uzyskać więcej informacji, zapoznaj się z następującym linkiem do dokumentu rozszerzenia usługi Key Vault.
- Rozszerzenie usługi Azure Key Vault dla systemu Linux
- Rozszerzenie usługi Azure Key Vault dla systemu Windows
Następne kroki
- Dowiedz się więcej o różnych sposobach kopiowania aplikacji i danych do węzłów puli.
- Dowiedz się więcej o pracy z węzłami i pulami.