Extensies gebruiken met Batch-pools
Extensies zijn kleine toepassingen die configuratie na inrichting en installatie op Batch-rekenknooppunten vergemakkelijken. U kunt een van de extensies selecteren die zijn toegestaan door Azure Batch en deze installeren op de rekenknooppunten wanneer ze worden ingericht. Daarna kan de extensie de beoogde bewerking uitvoeren.
U kunt de livestatus controleren van de extensies die u gebruikt en de informatie ophalen die ze retourneren om detectie-, correctie- of diagnostische mogelijkheden na te streven.
Vereisten
- Pools met extensies moeten gebruikmaken van configuratie van virtuele machines.
- Het type CustomScript-extensie is gereserveerd voor de Azure Batch-service en kan niet worden overschreven.
- Sommige extensies hebben mogelijk beheerde identiteit op poolniveau nodig die toegankelijk is in de context van een rekenknooppunt om goed te kunnen functioneren. Zie het configureren van beheerde identiteiten in Batch-pools , indien van toepassing voor de extensies.
Tip
Extensies kunnen niet worden toegevoegd aan een bestaande pool. Pools moeten opnieuw worden gemaakt om extensies toe te voegen, te verwijderen of bij te werken.
Ondersteunde extensies
De volgende extensies kunnen momenteel worden geïnstalleerd bij het maken van een Batch-pool:
- Azure Key Vault-extensie voor Linux
- Azure Key Vault-extensie voor Windows
- Analyse- en bewakingsuitbreiding voor Azure Monitor-logboeken voor Linux
- Analyse- en bewakingsuitbreiding voor Azure Monitor-logboeken voor Windows
- Dsc-extensie (Desired State Configuration) van Azure
- Azure Diagnostics-extensie voor Windows-VM's
- HPC GPU-stuurprogramma-extensie voor Windows op AMD
- EXTENSIE VOOR HPC GPU-stuurprogramma voor Windows op NVIDIA
- Extensie voor HPC GPU-stuurprogramma's voor Linux op NVIDIA
- Microsoft Antimalware-extensie voor Windows
- Azure Monitor-agent voor Linux
- Azure Monitor-agent voor Windows
U kunt ondersteuning aanvragen voor andere uitgevers en/of extensietypen door een ondersteuningsaanvraag te openen.
Een pool met extensies maken
In het volgende voorbeeld wordt een Batch-pool met Linux-/Windows-knooppunten gemaakt die gebruikmaakt van de Azure Key Vault-extensie.
REST API-URI
PUT https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Batch/batchAccounts/<batchaccountName>/pools/<batchpoolName>?api-version=2021-01-01
Aanvraagbody voor Linux-knooppunt
{
"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": {}
}
}
}
Aanvraagbody voor Windows-knooppunt
{
"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": {}
}
}
}
Extensiegegevens ophalen uit een pool
In het volgende voorbeeld worden gegevens opgehaald uit de Azure Key Vault-extensie.
REST API-URI
GET https://<accountName>.<region>.batch.azure.com/pools/<poolName>/nodes/<tvmNodeName>/extensions/secretext?api-version=2010-01-01
Hoofdtekst van antwoord
{
"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}"
}
}
Problemen met Key Vault-extensie oplossen
Als de Key Vault-extensie onjuist is geconfigureerd, heeft het rekenknooppunt mogelijk een bruikbare status. Als u problemen met de Key Vault-extensie wilt oplossen, kunt u requireInitialSync tijdelijk instellen op onwaar en uw pool opnieuw implementeren. Vervolgens bevindt het rekenknooppunt zich inactief. U kunt zich aanmelden bij het rekenknooppunt om keyVault-extensielogboeken op fouten te controleren en de configuratieproblemen op te lossen. Ga naar de volgende doc-koppeling voor key Vault-extensies voor meer informatie.
Volgende stappen
- Meer informatie over verschillende manieren om toepassingen en gegevens te kopiëren naar poolknooppunten.
- Meer informatie over het werken met knooppunten en pools.