Gunakan ekstensi dengan kumpulan Batch
Ekstensi adalah aplikasi kecil yang memfasilitasi konfigurasi dan pengaturan pasca-provisi pada simpul komputasi Batch. Anda dapat memilih salah satu ekstensi yang diizinkan oleh Azure Batch dan menginstalnya pada simpul komputasi saat disediakan. Setelah itu, ekstensi dapat melakukan operasi yang dimaksudkan.
Anda dapat memeriksa status ekstensi yang Anda gunakan secara langsung dan mengambil informasi yang dikembalikan untuk mendapatkan semua kemampuan deteksi, koreksi, atau diagnostik.
Prasyarat
- Kumpulan dengan ekstensi harus menggunakan Konfigurasi Komputer Virtual.
- Jenis ekstensi CustomScript disediakan untuk layanan Azure Batch dan tidak dapat ditimpa.
- Beberapa ekstensi mungkin memerlukan Identitas Terkelola tingkat kumpulan yang dapat diakses dalam konteks node komputasi agar berfungsi dengan baik. Lihat mengonfigurasi identitas terkelola di kumpulan Batch jika berlaku untuk ekstensi.
Tip
Ekstensi tidak dapat ditambahkan ke kumpulan yang ada. Kumpulan harus dibuat ulang untuk menambahkan, menghapus, atau memperbarui ekstensi.
Ekstensi yang didukung
Ekstensi berikut adalah yang dapat dipasang saat ini, ketika membuat kumpulan Batch:
- Ekstensi Azure Key Vault untuk Linux
- Ekstensi Azure Key Vault untuk Windows
- Ekstensi analitik dan pemantauan Azure Monitor Logs untuk Linux
- Ekstensi analitik dan pemantauan Azure Monitor Logs untuk Windows
- Ekstensi Azure Desired State Configuration (DSC)
- Ekstensi Azure Diagnostics untuk mesin virtual Windows
- Ekstensi driver GPU HPC untuk Windows di AMD
- Ekstensi driver GPU HPC untuk Windows di NVIDIA
- Ekstensi driver GPU HPC untuk Linux di NVIDIA
- Ekstensi Microsoft Antimalware untuk Windows
- Agen Azure Monitor untuk Linux
- Agen Azure Monitor untuk Windows
Anda dapat meminta dukungan untuk penerbit lain dan/atau jenis ekstensi dengan membuka permintaan dukungan.
Membuat kumpulan dengan ekstensi
Contoh berikut membuat kumpulan Batch simpul Linux/Windows yang menggunakan ekstensi Azure Key Vault.
REST API URI
PUT https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Batch/batchAccounts/<batchaccountName>/pools/<batchpoolName>?api-version=2021-01-01
Isi Permintaan untuk simpul 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": {}
}
}
}
Isi Permintaan untuk simpul 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": {}
}
}
}
Mendapatkan data ekstensi dari kumpulan
Contoh berikut mengambil data dari ekstensi Azure Key Vault.
REST API URI
GET https://<accountName>.<region>.batch.azure.com/pools/<poolName>/nodes/<tvmNodeName>/extensions/secretext?api-version=2010-01-01
Isi Respons
{
"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}"
}
}
Pemecahan Masalah Ekstensi Key Vault
Jika ekstensi Key Vault salah dikonfigurasi, simpul komputasi mungkin dalam keadaan dapat digunakan. Untuk memecahkan masalah kegagalan ekstensi Key Vault, Anda dapat mengatur requireInitialSync untuk sementara ke false dan menyebarkan ulang kumpulan Anda, lalu simpul komputasi dalam status diam, Anda dapat masuk ke simpul komputasi untuk memeriksa log ekstensi KeyVault untuk kesalahan dan memperbaiki masalah konfigurasi. Kunjungi tautan dokumen ekstensi Key Vault berikut untuk informasi selengkapnya.
Langkah berikutnya
- Pelajari tentang berbagai cara untuk menyalin aplikasi dan data ke simpul kumpulan.
- Pelajari selengkapnya tentang bekerja dengan simpul dan kumpulan.