Batch havuzlarıyla uzantıları kullanma
Uzantılar, Batch işlem düğümlerinde sağlama sonrası yapılandırmayı ve kurulumu kolaylaştıran küçük uygulamalardır. Azure Batch tarafından izin verilen uzantılardan herhangi birini seçebilir ve sağlanan işlem düğümlerine yükleyebilirsiniz. Bundan sonra uzantı hedeflenen işlemi gerçekleştirebilir.
Kullandığınız uzantıların canlı durumunu denetleyebilir ve bunların döndüreceği bilgileri alıp herhangi bir algılama, düzeltme veya tanılama özelliğini takip edebilirsiniz.
Önkoşullar
- Uzantılı havuzlar Sanal Makine Yapılandırması kullanmalıdır.
- CustomScript uzantı türü Azure Batch hizmeti için ayrılmıştır ve geçersiz kılınamaz.
- Bazı uzantıların düzgün çalışması için bir işlem düğümü bağlamında erişilebilen havuz düzeyinde Yönetilen Kimlik gerekebilir. Uzantılar için uygunsa bkz . Batch havuzlarında yönetilen kimlikleri yapılandırma.
İpucu
Uzantılar var olan bir havuza eklenemez. Uzantı eklemek, kaldırmak veya güncelleştirmek için havuzların yeniden oluşturulması gerekir.
Desteklenen uzantılar
Batch havuzu oluşturulurken şu anda aşağıdaki uzantılar yüklenebilir:
- Linux için Azure Key Vault uzantısı
- Windows için Azure Key Vault uzantısı
- Linux için Azure İzleyici Günlük analizi ve izleme uzantısı
- Windows için Azure İzleyici Günlükleri analizi ve izleme uzantısı
- Azure İstenen Durum Yapılandırması (DSC) uzantısı
- Windows VM'leri için Azure Tanılama uzantısı
- AMD üzerinde Windows için HPC GPU sürücü uzantısı
- NVIDIA üzerinde Windows için HPC GPU sürücü uzantısı
- NVIDIA üzerinde Linux için HPC GPU sürücü uzantısı
- Windows için Microsoft Kötü Amaçlı Yazılımdan Koruma uzantısı
- Linux için Azure İzleyici aracısı
- Windows için Azure İzleyici aracısı
Destek isteği açarak diğer yayımcılar ve/veya uzantı türleri için destek isteyebilirsiniz.
Uzantılarla havuz oluşturma
Aşağıdaki örnek, Azure Key Vault uzantısını kullanan linux/Windows düğümlerinden oluşan bir Batch havuzu oluşturur.
REST API URI'si
PUT https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Batch/batchAccounts/<batchaccountName>/pools/<batchpoolName>?api-version=2021-01-01
Linux düğümü için İstek Gövdesi
{
"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 düğümü için İstek Gövdesi
{
"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": {}
}
}
}
Havuzdan uzantı verileri alma
Aşağıdaki örnek, Azure Key Vault uzantısından veri alır.
REST API URI'si
GET https://<accountName>.<region>.batch.azure.com/pools/<poolName>/nodes/<tvmNodeName>/extensions/secretext?api-version=2010-01-01
Yanıt Gövdesi
{
"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 Uzantısı sorunlarını giderme
Key Vault uzantısı yanlış yapılandırılmışsa işlem düğümü kullanılabilir durumda olabilir. Key Vault uzantısı hatasını gidermek için requireInitialSync'i geçici olarak false olarak ayarlayabilir ve havuzunuzu yeniden dağıtabilir, ardından işlem düğümü boşta durumundadır, keyVault uzantı günlüklerinde hata olup olmadığını denetlemek ve yapılandırma sorunlarını düzeltmek için işlem düğümünde oturum açabilirsiniz. Daha fazla bilgi için aşağıdaki Key Vault uzantısı belge bağlantısını ziyaret edin.