Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Wanneer u een Azure Batch-pool maakt, geeft u bepaalde eigenschappen op die de configuratie van de pool definiëren. Voorbeelden hiervan zijn het opgeven van de VM-grootte, de VM-installatiekopie die moet worden gebruikt, de configuratie van het virtuele netwerk en de versleutelingsinstellingen. Het is echter mogelijk dat u pooleigenschappen moet bijwerken naarmate uw workload zich in de loop van de tijd ontwikkelt of als een VM-installatiekopieën het einde van de levensduur bereiken.
Sommige, maar niet alle, van deze pooleigenschappen kunnen worden gepatcht of bijgewerkt om aan deze situaties tegemoet te komen. Dit artikel bevat informatie over bijwerkbare pooleigenschappen, verwacht gedrag voor updates van pooleigenschappen en voorbeelden.
Tip
Sommige pooleigenschappen kunnen alleen worden bijgewerkt met behulp van de Batch Management Plane-API's of SDK's met behulp van Entra-verificatie. U moet de juiste API of SDK installeren of gebruiken om deze bewerkingen beschikbaar te maken.
Bijwerkbare eigenschappen van een pool
Batch biedt meerdere methoden voor het bijwerken van eigenschappen in een pool. Als u selecteert welke API moet worden gebruikt, bepaalt u de set pooleigenschappen die kunnen worden bijgewerkt, evenals het updategedrag.
Notitie
Als u pooleigenschappen wilt bijwerken die geen deel uitmaken van de volgende update- of patch-API's, moet u de pool opnieuw maken om de gewenste status weer te geven.
Beheerlaag: Pool - Bijwerken
Het aanbevolen pad voor het bijwerken van pooleigenschappen maakt gebruik van de Pool - Update-API als onderdeel van de Batch Management Plane-API of SDK. Deze API biedt de meest uitgebreide en flexibele manier om pooleigenschappen bij te werken. Met behulp van deze API kunt u selectief alleen de pool-eigenschappen van het beheervlak bijwerken en heeft u de mogelijkheid om andere eigenschappen bij te werken die anders via de Data Plane-API's onveranderbaar zouden zijn.
Belangrijk
U moet API-versie 2024-07-01 of hoger van de Batch Management Plane-API gebruiken voor het bijwerken van pooleigenschappen, zoals beschreven in deze sectie.
Omdat deze bewerking een PATCHis, worden alleen pooleigenschappen die zijn opgegeven in de aanvraag bijgewerkt.
Als eigenschappen niet worden opgegeven als onderdeel van de aanvraag, blijven de bestaande waarden ongewijzigd.
Sommige eigenschappen kunnen alleen worden bijgewerkt wanneer de pool geen actieve knooppunten bevat of waarbij het totale aantal rekenknooppunten in de pool nul is. De eigenschappen waarvoor de pool niet de grootte nul hoeft te hebben om de nieuwe waarde van kracht te laten worden, zijn:
- applicatiepakketten
- certificaten
- metagegevens
- schaalinstellingen
- startTask
Als er actieve knooppunten zijn wanneer de pool met deze eigenschappen wordt bijgewerkt, kan het opnieuw opstarten van actieve rekenknooppunten vereist zijn om wijzigingen van kracht te laten worden. Zie de documentatie voor elke afzonderlijke pooleigenschap voor meer informatie.
Voor alle andere bijwerkbare pooleigenschappen moet de pool een grootte van nul knooppunten hebben om als onderdeel van de update-aanvraag te worden geaccepteerd.
U kunt ook Pool - API maken gebruiken om deze geselecteerde eigenschappen bij te werken, maar omdat de bewerking een PUTis, vervangt de aanvraag alle bestaande eigenschappen volledig. Daarom wordt een eigenschap die niet in de aanvraag is opgegeven, verwijderd of ingesteld met de bijbehorende standaardwaarde.
Voorbeeld: Specificatie van VM-installatiekopieën bijwerken
In het volgende voorbeeld ziet u hoe u een vm-installatiekopieënconfiguratie voor een pool bijwerkt via de Management Plane C#SDK:
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}");
}
Voorbeeld: VM-grootte en doelknooppuntcommunicatiemodus bijwerken
In het volgende voorbeeld ziet u hoe u de grootte van een pool-VM-image en de communicatiemodus van de doelnode kunt bijwerken om dit proces te vereenvoudigen via een REST API.
PATCH https://management.azure.com/subscriptions/<subscriptionid>/resourceGroups/<resourcegroupName>/providers/Microsoft.Batch/batchAccounts/<batchaccountname>/pools/<poolname>?api-version=2024-07-01
Aanvraaglichaam
{
"type": "Microsoft.Batch/batchAccounts/pools",
"parameters": {
"properties": {
"vmSize": "standard_d32ads_v5",
"targetNodeCommunicationMode": "simplified"
}
}
}
Gegevensvlak: Pool - Patch- of update-eigenschappen
Het gegevensvlak biedt de mogelijkheid om pooleigenschappen te patchen of bij te werken. De beschikbare API is de Pool - Bijwerken Eigenschappen API als onderdeel van de Batch Data Plane API of SDK.
Met de Update Properties API kunt u specifieke pooleigenschappen bijwerken zoals vermeld in de documentatie. Deze aanvraag vervangt de bestaande eigenschappen volledig, waardoor alle eigenschappen die niet in de aanvraag zijn opgegeven, worden verwijderd.
Rekenknooppunten moeten opnieuw worden opgestart om wijzigingen van kracht te laten worden voor de volgende eigenschappen:
- toepassingPakketVerwijzingen
- certificaatreferenties
- startTask
De pool moet worden verkleind tot nul actieve knooppunten om de targetNodeCommunicationMode eigenschap bij te werken.
Veelgestelde vragen
- Moet ik andere bewerkingen uitvoeren nadat ik pooleigenschappen heb bijgewerkt terwijl de pool actieve knooppunten heeft?
Ja, voor pooleigenschappen die kunnen worden bijgewerkt met actieve knooppunten, zijn er geselecteerde eigenschappen waarvoor rekenknooppunten opnieuw moeten worden opgestart. U kunt de pool ook omlaag schalen naar nul knooppunten om de gewijzigde eigenschappen weer te geven.
- Kan ik de verzameling beheerde identiteiten in de pool wijzigen terwijl de pool actieve knooppunten heeft?
Ja, maar dat zou je niet moeten doen. Hoewel Batch de mutatie van de verzameling met actieve knooppunten niet verbiedt, raden we u aan dit te vermijden, omdat dit leidt tot inconsistentie in de identiteitsverzameling als de pool wordt uitgeschaald. U wordt aangeraden deze eigenschap alleen bij te werken wanneer de grootte van de pool nul is. Zie het artikel Beheerde identiteiten configureren voor meer informatie.
Volgende stappen
- Meer informatie over beschikbare Batch-API's en hulpprogramma's.
- Meer informatie over het controleren van pools en knooppunten op fouten.