Batch kümesi özelliklerini güncelle

Azure Batch havuzu oluşturduğunuzda, havuzun yapılandırmasını tanımlayan belirli özellikleri belirtirsiniz. Örnek olarak VM boyutunu, kullanılacak VM görüntüsünü, sanal ağ yapılandırmasını ve şifreleme ayarlarını belirtme verilebilir. Ancak, iş yükünüz zaman içinde geliştikçe veya bir VM görüntüsü kullanım ömrü sonuna ulaştığında havuz özelliklerini güncelleştirmeniz gerekebilir.

Bu havuz özelliklerinin bazıları ancak tümü değil, bu durumlara uyum sağlamak için yama yapılabilir veya güncelleştirilebilir. Bu makalede, güncelleştirilebilir havuz özellikleri, havuz özelliği güncelleştirmeleri için beklenen davranışlar ve örnekler hakkında bilgi sağlanır.

İpucu

Bazı havuz özellikleri yalnızca Entra kimlik doğrulaması kullanılarak Batch Management Plane API'leri veya SDK'ları kullanılarak güncelleştirilebilir. Bu işlemlerin kullanılabilir olması için uygun API'yi veya SDK'yi yüklemeniz veya kullanmanız gerekir.

Güncelleştirilebilir havuz özellikleri

Batch, bir havuzdaki özellikleri güncelleştirmek için birden çok yöntem sağlar. Kullanılacak API'nin seçilmesi, güncelleştirilebilecek havuz özellikleri kümesini ve güncelleştirme davranışını belirler.

Not

Aşağıdaki Güncelleştirme veya Düzeltme Eki API'lerinin parçası olmayan havuz özelliklerini güncelleştirmek istiyorsanız, havuzu istenen durumu yansıtacak şekilde yeniden oluşturmanız gerekir.

Yönetim Düzlemi: Havuz - Güncelleştirme

Havuz özelliklerini güncelleştirmenin önerilen yolu, Batch Yönetim Düzlemi API'sinin veya SDK'sının bir parçası olarak Havuz - Güncelleştirme API'sinikullanmaktır. Bu API, havuz özelliklerini güncelleştirmenin en kapsamlı ve esnek yolunu sağlar. Bu API'nin kullanılması yalnızca Yönetim düzlemi havuz özelliklerinin güncelleştirilmesini ve aksi takdirde Veri Düzlemi API'leri aracılığıyla sabit olabilecek diğer özellikleri güncelleştirme olanağı sağlar.

Önemli

Bu bölümde açıklandığı gibi havuz özelliklerini güncelleştirmek için Batch Management Plane API'sinin 2024-07-01 veya daha yeni bir SÜRÜMÜNÜ kullanmanız gerekir.

Bu işlem bir PATCHolduğundan, yalnızca istekte belirtilen havuz özellikleri güncelleştirilir. özellikler isteğin bir parçası olarak belirtilmezse, mevcut değerler değiştirilmeden kalır.

Bazı özellikler yalnızca havuzda etkin düğüm olmadığında veya havuzdaki toplam işlem düğümü sayısı sıfır olduğunda güncelleştirilebilir. Yeni değerin geçerli olması için havuzun sıfır boyutunda olmasını gerektirmeyen özellikler şunlardır:

  • applicationPackages
  • sertifikalar
  • meta veriler
  • ölçek ayarları
  • startTask

Havuz bu özelliklerle güncelleştirildiğinde etkin düğümler varsa, değişikliklerin etkili olması için etkin işlem düğümlerinin yeniden başlatılması gerekebilir. Daha fazla bilgi için her bir havuz özelliğinin belgelerine bakın.

Diğer tüm güncelleştirilebilir havuz özellikleri, havuzun boyutu sıfır olan düğümlerin güncelleştirilecek isteğin parçası olarak kabul edilmesi gerekir.

Örneğin, deploymentConfiguration, diskEncryptionConfiguration, securityProfile veya vmSize üzerinde yapılan değişiklikler, havuzun sıfır ayrılmış ve Spot veya düşük öncelikli düğümlere sahip Steady tahsis durumunda olmasını gerektirir. Güncellemeden sonra havuzu yeniden boyutlandırdığınızda, Batch güncellenmiş yapılandırmayı kullanarak yeni bir temel alınan işlem dağıtımı oluşturur.

Bu seçme özelliklerini güncelleştirmek için Pool - Create API'sini de kullanabilirsiniz, ancak işlem bir PUTolduğundan istek tüm mevcut özelliklerin yerini alır. Bu nedenle, istekte belirtilmemiş tüm özellikler kaldırılır veya ilişkili varsayılan değerle ayarlanır.

Örnek: VM Görüntü Belirtimlerini Güncelleştirme

Aşağıdaki örnekte, Yönetim Düzlemi C# SDK'sı aracılığıyla havuz VM görüntü yapılandırmasını güncelleştirme gösterilmektedir:

public async Task UpdatePoolVmImage()
{
     // Authenticate
     var clientId = Environment.GetEnvironmentVariable("CLIENT_ID");
     var clientSecret = Environment.GetEnvironmentVariable("CLIENT_SECRET");
     var tenantId = Environment.GetEnvironmentVariable("TENANT_ID");
     var subscriptionId = Environment.GetEnvironmentVariable("SUBSCRIPTION_ID");
     ClientSecretCredential credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
     ArmClient client = new ArmClient(credential, subscriptionId);

     // Get an existing Batch account
     string resourceGroupName = "<resourcegroup>";
     string accountName = "<batchaccount>";
     ResourceIdentifier batchAccountResourceId = BatchAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
     BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);

     // get the collection of this BatchAccountPoolResource
     BatchAccountPoolCollection collection = batchAccount.GetBatchAccountPools();

     // Update the pool
     string poolName = "mypool";
     BatchAccountPoolData data = new BatchAccountPoolData()
     {
         DeploymentConfiguration = new BatchDeploymentConfiguration()
         {
             VmConfiguration = new BatchVmConfiguration(new BatchImageReference()
             {
                 Publisher = "MicrosoftWindowsServer",
                 Offer = "WindowsServer",
                 Sku = "2022-datacenter-azure-edition-smalldisk",
                 Version = "latest",
             },
             nodeAgentSkuId: "batch.node.windows amd64"),
         },
     };

     ArmOperation<BatchAccountPoolResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, poolName, data);
     BatchAccountPoolResource result = lro.Value;

     BatchAccountPoolData resourceData = result.Data;
     Console.WriteLine($"Succeeded on id: {resourceData.Id}");
}

Örnek: VM Boyutunu ve Hedef Düğüm İletişim Modunu Güncelleştirme

Aşağıdaki örnekte, REST API aracılığıyla basitleştirilecek bir havuz VM görüntü boyutunun ve hedef düğüm iletişim modunun nasıl güncelleştirilacağı gösterilmektedir:

PATCH https://management.azure.com/subscriptions/<subscriptionid>/resourceGroups/<resourcegroupName>/providers/Microsoft.Batch/batchAccounts/<batchaccountname>/pools/<poolname>?api-version=2024-07-01

İstek İçeriği

{
    "type": "Microsoft.Batch/batchAccounts/pools",
    "parameters": {
        "properties": {
            "vmSize": "standard_d32ads_v5",
            "targetNodeCommunicationMode": "simplified"
        }
    }
}

Örnek: Azure Disk Şifrelemesi’dan konakta şifrelemeye geçiş

Azure Disk Şifrelemesi for Batch pools 15 Eylül 2028'de kullanımdan kaldırılıyor. Bir havuz geçici disk şifreleme için Azure Disk Şifrelemesi kullanabiliyorsa, havuzu sıfır düğüme yeniden boyutlandırın ve tahsis durumunun Steady olmasını bekleyin. Daha sonra, gerekirse desteklenen bir VM boyutu seçmek için API sürümü 2024-07-01 veya sonrasını kullanın ve securityProfile.encryptionAtHost değerini true olarak ayarlayın.

Güncellemeden sonra, havuzu gerekli hedef düğüm sayılarına göre boyutlandırın. Batch, konak düzeyinde şifreleme etkin yeni bir temel işlem dağıtımı oluşturur. Tam göç prosedürü ve istek örneği için bkz. Mevcut bir havuzu ana bilgisayarda şifrelemeye aktar.

Veri Düzlemi: Havuz - Yama veya Güncelleme Özellikleri

Veri Düzlemi, belirli havuz özelliklerine düzeltme eki uygulama veya güncelleştirme olanağı sunar. Mevcut API, Batch Veri Düzlemi API'si veya SDK'sının bir parçası olan Havuz - Güncelleme Özellikleri API'sidir.

Güncelleştirme Özellikleri API'si, belgelerde belirtildiği gibi havuz özelliklerinin seçilmesine izin verir. Bu istek var olan özelliklerin yerini alır, bu nedenle istekte belirtilmemiş tüm özellikler kaldırılır.

Değişikliklerin aşağıdaki özellikler için geçerli olması için işlem düğümlerinin yeniden başlatılması gerekir:

  • applicationPackageReferences
  • certificateReferences
  • startTask

Özellik güncelleştirmeleri için havuzun sıfır etkin düğüm olarak targetNodeCommunicationMode yeniden boyutlandırılması gerekir.

SSS

  • Havuzun etkin düğümleri varken havuz özelliklerini güncelleştirdikten sonra başka işlemler gerçekleştirmem gerekiyor mu?

Evet, etkin düğümlerle güncelleştirilebilen havuz özellikleri için işlem düğümlerinin yeniden başlatılmasını gerektiren belirli özellikler vardır. Alternatif olarak, değiştirilen özellikleri yansıtmak için havuzun ölçeği sıfır düğüme düşürülebilir.

  • Havuzda etkin düğümler varken havuzdaki Yönetilen kimlik koleksiyonunu değiştirebilir miyim?

Evet, ama yapmamalısın. Batch, etkin düğümlerle koleksiyonun mutasyonunu engellemese de, havuzun ölçeği genişletildiyse kimlik koleksiyonunda tutarsızlığa neden olduğundan bunu yapmaktan kaçınmanızı öneririz. Bu özelliği yalnızca havuz sıfır boyutlandırıldığında güncelleştirmenizi öneririz. Daha fazla bilgi için Yönetilen kimlikleri yapılandırma makalesine bakın.

Sonraki adımlar