De Azure Compute Gallery gebruiken om een aangepaste installatiekopieëngroep te maken

Wanneer u een Azure Batch-pool maakt met behulp van de configuratie van de virtuele machine, geeft u een VM-installatiekopieën op die het besturingssysteem biedt voor elk rekenknooppunt in de pool. U kunt een pool van virtuele machines maken met een ondersteunde Azure Marketplace-installatiekopieën of een aangepaste installatiekopieën maken met een installatiekopieën in de Azure Compute Gallery.

Wanneer u de Azure Compute Gallery gebruikt voor uw aangepaste installatiekopie, hebt u controle over het besturingssysteemtype en de configuratie, evenals het type gegevensschijven. Uw gedeelde installatiekopieën kunnen toepassingen en referentiegegevens bevatten die beschikbaar komen op alle Batch-poolknooppunten zodra ze zijn ingericht.

U kunt ook meerdere versies van een installatiekopieën hebben, indien nodig voor uw omgeving. Wanneer u een installatiekopieversie gebruikt om een VM te maken, wordt de installatiekopieversie gebruikt voor het maken van nieuwe schijven voor de VM.

Met behulp van een gedeelde installatiekopieën bespaart u tijd bij het voorbereiden van de rekenknooppunten van uw pool om uw Batch-workload uit te voeren. Het is mogelijk om een Azure Marketplace-installatiekopieën te gebruiken en software te installeren op elk rekenknooppunt na het inrichten, maar het gebruik van een gedeelde installatiekopieën is doorgaans efficiënter. Daarnaast kunt u meerdere replica's opgeven voor de gedeelde installatiekopie, dus wanneer u pools met veel VM's (meer dan 600 VM's) maakt, bespaart u tijd bij het maken van een pool.

Het gebruik van een gedeelde installatiekopieën die voor uw scenario zijn geconfigureerd, kan verschillende voordelen bieden:

  • Gebruik dezelfde afbeeldingen in de regio's. U kunt gedeelde installatiekopieën maken in verschillende regio's, zodat al uw pools dezelfde installatiekopieën gebruiken.
  • Configureer het besturingssysteem (OS). U kunt de configuratie van de besturingssysteemschijf van de installatiekopieën aanpassen.
  • Toepassingen vooraf installeren. Het vooraf installeren van toepassingen op de besturingssysteemschijf is efficiënter en minder foutgevoelig dan het installeren van toepassingen na het inrichten van de rekenknooppunten met een begintaak.
  • Kopieer eenmaal grote hoeveelheden gegevens. Maak statische gegevens van de beheerde gedeelde installatiekopie door deze te kopiëren naar de gegevensschijven van een beheerde installatiekopie. Dit hoeft slechts eenmaal te worden gedaan en maakt gegevens beschikbaar voor elk knooppunt van de pool.
  • Kweken van pools tot grotere maten. Met de Azure Compute Gallery kunt u grotere pools maken met uw aangepaste installatiekopieën, samen met meer gedeelde installatiekopieën.
  • Betere prestaties dan alleen een beheerde installatiekopieën gebruiken als een aangepaste installatiekopieën. Voor een aangepaste installatiekopieëngroep met gedeelde installatiekopieën is de tijd voor het bereiken van de stabiele status tot 25% sneller en is de inactiviteit van de VM tot 30% korter.
  • Versiebeheer en groepering van installatiekopieën voor eenvoudiger beheer. De definitie van de groepeerinstallatiekopieën bevat informatie over waarom de installatiekopieën zijn gemaakt, voor welk besturingssysteem deze is bedoeld en informatie over het gebruik van de installatiekopieën. Door installatiekopieën te groeperen, is het beheer van afbeeldingen eenvoudiger. Zie Afbeeldingsdefinities voor meer informatie.

Vereisten

  • Een Azure Batch-account. Als u een Batch-account wilt maken, raadpleegt u de Batch-quickstarts met behulp van Azure Portal of Azure CLI.

Notitie

Verificatie met behulp van Microsoft Entra ID is vereist. Als u shared key Auth gebruikt, krijgt u een verificatiefout.

  • een azure Compute Gallery-installatiekopieën. Als u een gedeelde installatiekopieën wilt maken, moet u een beheerde installatiekopieënresource hebben of maken. De installatiekopie moet worden gemaakt op basis van momentopnamen van de besturingssysteemschijf van de virtuele machine en eventueel gekoppelde gegevensschijven.

Notitie

Als de gedeelde installatiekopieën zich niet in hetzelfde abonnement bevinden als het Batch-account, moet u de Microsoft.Batch-resourceprovider voor dat abonnement registreren. De twee abonnementen moeten zich in dezelfde Microsoft Entra-tenant bevinden.

De afbeelding kan zich in een andere regio bevinden zolang deze replica's in dezelfde regio heeft als uw Batch-account.

Als u een Microsoft Entra-toepassing gebruikt om een aangepaste installatiekopiegroep te maken met een installatiekopie in de Azure Compute Gallery, moet die toepassing een ingebouwde Azure-rol hebben gekregen waarmee deze toegang krijgt tot de gedeelde installatiekopie. U kunt deze toegang verlenen in Azure Portal door naar de gedeelde installatiekopieën te navigeren, toegangsbeheer (IAM) te selecteren en een roltoewijzing voor de toepassing toe te voegen.

Notitie

Leesmachtigingen voor de installatiekopieën van de Azure Compute Gallery zijn ontoereikend omdat ze de volgende minimale actie vereisen: Microsoft.Compute/disks/beginGetAccess/action voor de juiste toegang.

Een gedeelde installatiekopieën voorbereiden

In Azure kunt u een gedeelde installatiekopieën voorbereiden op basis van een beheerde installatiekopieën, die kunnen worden gemaakt op basis van:

  • Momentopnamen van het besturingssysteem en gegevensschijven van een Virtuele Azure-machine
  • Een gegeneraliseerde Azure-VM met beheerde schijven
  • Een gegeneraliseerde on-premises VHD die is geüpload naar de cloud

Notitie

Batch ondersteunt alleen gegeneraliseerde gedeelde installatiekopieën; een gespecialiseerde gedeelde installatiekopieën kunnen niet worden gebruikt om een pool te maken.

De volgende stappen laten zien hoe u een virtuele machine voorbereidt, een momentopname maakt en een installatiekopie maakt op basis van de momentopname.

Een VIRTUELE machine voorbereiden

Als u een nieuwe VIRTUELE machine voor de installatiekopieën maakt, gebruikt u de Azure Marketplace-installatiekopieën die door Batch worden ondersteund als basisinstallatiekopieën voor uw beheerde installatiekopieën.

Als u een volledige lijst met huidige Azure Marketplace-installatiekopieën wilt ophalen die worden ondersteund door Azure Batch, gebruikt u een van de volgende API's om een lijst met installatiekopieën van Virtuele Windows- en Linux-machines te retourneren:

Volg deze richtlijnen bij het maken van VM's:

  • Zorg ervoor dat de VIRTUELE machine is gemaakt met een beheerde schijf. Dit is de standaardopslaginstelling wanneer u een virtuele machine maakt.
  • Installeer geen Azure-extensies, zoals de aangepaste scriptextensie, op de VIRTUELE machine. Als de installatiekopieën een vooraf geïnstalleerde extensie bevatten, kan Azure problemen ondervinden bij het implementeren van de Batch-pool.
  • Wanneer u gekoppelde gegevensschijven gebruikt, moet u de schijven vanuit een virtuele machine koppelen en formatteren om ze te kunnen gebruiken.
  • Zorg ervoor dat de basisinstallatiekopieën van het besturingssysteem die u opgeeft, gebruikmaken van het standaard tijdelijke station. De Batch-knooppuntagent verwacht momenteel het standaard tijdelijke station.
  • Zorg ervoor dat de besturingssysteemschijf niet is versleuteld.
  • Zodra de virtuele machine wordt uitgevoerd, maakt u er verbinding mee via RDP (voor Windows) of SSH (voor Linux). Installeer alle benodigde software of kopieer de gewenste gegevens.
  • Voor een snellere poolinrichting gebruikt u de instelling ReadWrite-schijfcache voor de besturingssysteemschijf van de VIRTUELE machine.

U moet een Azure Compute Gallery maken om uw aangepaste installatiekopieën beschikbaar te maken. Selecteer deze galerie bij het maken van een afbeelding in de volgende stappen. Zie Een Azure Compute Gallery maken voor meer informatie over het maken van een Azure Compute-galerie voor uw installatiekopieën.

Een installatiekopie maken

Zie Een installatiekopieën van een VIRTUELE machine vastleggen in de portal om een installatiekopieën van een virtuele machine te maken.

Zie Een installatiekopieën maken om een installatiekopieën te maken met een andere bron dan een VIRTUELE machine.

Notitie

Als de basisinstallatiekopieën informatie over het aankoopplan hebben, moet u ervoor zorgen dat de galerie-installatiekopieën identieke informatie over het aankoopplan hebben als de basisinstallatiekopieën. Voor meer informatie over het maken van installatiekopieën die een aankoopplan hebben, raadpleegt u Informatie over het aankoopplan van Azure Marketplace leveren bij het maken van installatiekopieën.

Als de basisinstallatiekopieën geen informatie over het aankoopplan hebben, moet u voorkomen dat u informatie over het aankoopplan opgeeft voor de installatiekopieën van de galerie.

Zie de richtlijnen voor Linux- of Windows-VM's voor informatie over het aankoopplan over deze Marketplace-installatiekopieën.

Gebruik Azure PowerShell Get-AzGalleryImageDefinition of Azure CLI az sig image-definition show om te controleren of de galerie-installatiekopie de juiste plangegevens heeft.

Een pool maken op basis van een gedeelde installatiekopieën met behulp van de Azure CLI

Als u een pool wilt maken op basis van uw gedeelde installatiekopieën met behulp van de Azure CLI, gebruikt u de az batch pool create opdracht. Geef de id van de gedeelde installatiekopieën op in het --image veld. Zorg ervoor dat het type besturingssysteem en de SKU overeenkomen met de versies die zijn opgegeven door --node-agent-sku-id

Belangrijk

De SKU-id van de knooppuntagent moet zijn afgestemd op de uitgever/aanbieding/SKU om het knooppunt te kunnen starten.

az batch pool create \
    --id mypool --vm-size Standard_A1_v2 \
    --target-dedicated-nodes 2 \
    --image "/subscriptions/{sub id}/resourceGroups/{resource group name}/providers/Microsoft.Compute/galleries/{gallery name}/images/{image definition name}/versions/{version id}" \
    --{node-agent-sku-id}

Een pool maken op basis van een gedeelde installatiekopieën met C#

U kunt ook een pool maken op basis van een gedeelde installatiekopieën met behulp van de C#-SDK.

private static VirtualMachineConfiguration CreateVirtualMachineConfiguration(ImageReference imageReference)
{
    return new VirtualMachineConfiguration(
        imageReference: imageReference,
        nodeAgentSkuId: {});
}

private static ImageReference CreateImageReference()
{
    return new ImageReference(
        virtualMachineImageId: "/subscriptions/{sub id}/resourceGroups/{resource group name}/providers/Microsoft.Compute/galleries/{gallery name}/images/{image definition name}/versions/{version id}");
}

private static void CreateBatchPool(BatchClient batchClient, VirtualMachineConfiguration vmConfiguration)
{
    try
    {
        CloudPool pool = batchClient.PoolOperations.CreatePool(
            poolId: PoolId,
            targetDedicatedComputeNodes: PoolNodeCount,
            virtualMachineSize: PoolVMSize,
            virtualMachineConfiguration: vmConfiguration);

        pool.Commit();
    }
    ...
}

Een pool maken op basis van een gedeelde installatiekopieën met behulp van Python

U kunt ook een pool maken op basis van een gedeelde installatiekopieën met behulp van de Python SDK:

# Import the required modules from the
# Azure Batch Client Library for Python
import azure.batch as batch
import azure.batch.models as batchmodels
from azure.common.credentials import ServicePrincipalCredentials

# Specify Batch account and service principal account credentials
account = "{batch-account-name}"
batch_url = "{batch-account-url}"
ad_client_id = "{sp-client-id}"
ad_tenant = "{tenant-id}"
ad_secret = "{sp-secret}"

# Pool settings
pool_id = "LinuxNodesSamplePoolPython"
vm_size = "STANDARD_D2_V3"
node_count = 1

# Initialize the Batch client with Azure AD authentication
creds = ServicePrincipalCredentials(
    client_id=ad_client_id,
    secret=ad_secret,
    tenant=ad_tenant,
    resource="https://batch.core.windows.net/"
)
client = batch.BatchServiceClient(creds, batch_url)

# Configure the start task for the pool
start_task = batchmodels.StartTask(
    command_line="printenv AZ_BATCH_NODE_STARTUP_DIR"
)
start_task.run_elevated = True

# Create an ImageReference which specifies the image from
# Azure Compute Gallery to install on the nodes.
ir = batchmodels.ImageReference(
    virtual_machine_image_id="/subscriptions/{sub id}/resourceGroups/{resource group name}/providers/Microsoft.Compute/galleries/{gallery name}/images/{image definition name}/versions/{version id}"
)

# Create the VirtualMachineConfiguration, specifying
# the VM image reference and the Batch node agent to
# be installed on the node.
vmc = batchmodels.VirtualMachineConfiguration(
    image_reference=ir,
    {node_agent_sku_id}
)

# Create the unbound pool
new_pool = batchmodels.PoolAddParameter(
    id=pool_id,
    vm_size=vm_size,
    target_dedicated_nodes=node_count,
    virtual_machine_configuration=vmc,
    start_task=start_task
)

# Create pool in the Batch service
client.pool.add(new_pool)

Een pool maken op basis van een gedeelde installatiekopieën of aangepaste installatiekopieën met behulp van Azure Portal

Gebruik de volgende stappen om een pool te maken op basis van een gedeelde installatiekopieën in Azure Portal.

  1. Open de Azure Portal.
  2. Ga naar Batch-accounts en selecteer uw account.
  3. Selecteer Pools en voeg vervolgens toe om een nieuwe pool te maken.
  4. Selecteer Azure Compute Gallery in de sectie Afbeeldingstype.
  5. Voltooi de resterende secties met informatie over uw beheerde installatiekopieën.
  6. Selecteer OK.
  7. Zodra het knooppunt is toegewezen, gebruikt u Verbinding maken om een gebruiker en het RDP-bestand voor Windows te genereren of SSH te gebruiken voor Linux om u aan te melden bij het toegewezen knooppunt en te controleren.

Maak een pool met een gedeelde installatiekopieën met behulp van de portal.

Overwegingen voor grote pools

Als u van plan bent een pool te maken met honderden of duizenden VM's of meer met behulp van een gedeelde installatiekopieën, gebruikt u de volgende richtlijnen.

  • Replicanummers in de Azure Compute Gallery. Voor elke pool met maximaal 300 exemplaren raden we u aan ten minste één replica te bewaren. Als u bijvoorbeeld een pool met 3000 VM's maakt, moet u ten minste 10 replica's van uw installatiekopieën bewaren. We raden altijd aan om meer replica's te bewaren dan minimale vereisten voor betere prestaties.

  • Time-out van formaat wijzigen. Als uw pool een vast aantal knooppunten bevat (als deze niet automatisch wordt geschaald), verhoogt u de resizeTimeout eigenschap van de pool, afhankelijk van de poolgrootte. Voor elke 1000 VM's is de aanbevolen time-out voor het wijzigen van de grootte ten minste 15 minuten. De aanbevolen time-out voor het wijzigen van de grootte van een pool met 2000 VM's is bijvoorbeeld ten minste 30 minuten.

Volgende stappen