Použití Azure Compute Gallery k vytvoření vlastního fondu i image
Při vytváření fondu Azure Batch pomocí konfigurace virtuálního počítače zadáte image virtuálního počítače, která poskytuje operační systém pro každý výpočetní uzel ve fondu. Fond virtuálních počítačů můžete vytvořit buď s podporovanou image Azure Marketplace, nebo vytvořit vlastní image pomocí image Azure Compute Gallery.
Výhody Azure Compute Gallery
Když pro vlastní Azure Compute použijete galerii, máte kontrolu nad typem a konfigurací operačního systému a také typem datových disků. Sdílená image může obsahovat aplikace a referenční data, která budou k dispozici na všech uzlech fondu Batch hned po jejich zřízení.
Můžete mít také několik verzí image podle potřeby pro vaše prostředí. Pokud k vytvoření virtuálního počítače použijete verzi image, verze image se použije k vytvoření nových disků pro virtuální počítač.
Použití sdílené image šetří čas při přípravě výpočetních uzlů fondu na spouštění úloh služby Batch. Po zřízení je možné použít image Azure Marketplace a nainstalovat software na každý výpočetní uzel, ale použití sdílené image je obvykle efektivnější. Kromě toho můžete pro sdílenou image zadat více replik, takže při vytváření fondů s mnoha virtuálními počítači (více než 600 virtuálních počítače) ušetříte čas při vytváření fondu.
Použití sdílené image nakonfigurované pro váš scénář může poskytnout několik výhod:
- Používejte stejné image napříč oblastmi. Můžete vytvořit repliky sdílené image napříč různými oblastmi, takže všechny vaše fondy využívají stejnou image.
- Nakonfigurujte operační systém . Můžete přizpůsobit konfiguraci disku s operačním systémem image.
- Předinstalujte aplikace. Předinstalování aplikací na disk s operačním systémem je efektivnější a méně náchylné k chybám než instalace aplikací po zřízení výpočetních uzlů pomocí úlohy spuštění.
- Jednou zkopírujte velké objemy dat. Kopírujte statická data do spravované sdílené image tak, že je zkopírujete na datové disky spravované image. To je potřeba provést pouze jednou a z přístup k datům pro každý uzel fondu.
- Zvětšete fondy na větší velikosti. Pomocí Azure Compute Můžete vytvořit větší fondy s přizpůsobenou imagí spolu s více replikami sdílených imagí.
- Lepší výkon než použití jenom spravované image jako vlastní image U vlastního fondu i image sdílené image je doba dosažení stabilního stavu až o 25 % rychlejší a latence nečinnosti virtuálního počítače je až o 30 % kratší.
- Správa verzí a seskupování i image pro snadnější správu Definice seskupení i image obsahuje informace o tom, proč byla image vytvořena, k čemu se image používá, a informace o použití image. Seskupování imagí umožňuje snadnější správu imagí. Další informace najdete v tématu Definice obrázků.
Požadavky
Poznámka
Musíte se ověřit pomocí Azure AD. Pokud používáte ověřování pomocí sdíleného klíče, zobrazí se chyba ověřování.
Účet Azure Batch. Informace o vytvoření účtu Batch najdete v rychlých startech služby Batch Azure Portal rozhraní příkazového řádku Azure CLI.
image Azure Compute Gallery. Pokud chcete vytvořit sdílenou image, musíte mít nebo vytvořit prostředek spravované image. Image by se měla vytvořit ze snímků disku s operačním systémem virtuálního počítače a volitelně z připojených datových disků.
Poznámka
Pokud sdílená image není ve stejném předplatném jako účet Batch, musíte pro toto předplatné zaregistrovat poskytovatele prostředků Microsoft.Batch. Obě předplatná musí být ve stejném tenantovi Azure AD.
Image může být v jiné oblasti, pokud má repliky ve stejné oblasti jako váš účet Batch.
Pokud použijete aplikaci Azure AD k vytvoření vlastního fondu i image s i image Azure Compute Gallery, musí mít tato aplikace udělenou předdefinovou roli Azure, která jí udělí přístup ke sdílené ibitové kopii. Tento přístup můžete udělit v Azure Portal tak, že přejdete na sdílenou image, vyberete Řízení přístupu (IAM) a přidáte přiřazení role pro aplikaci.
Příprava sdílené image
V Azure můžete připravit sdílenou image ze spravované image, kterou je možné vytvořit z:
- Snímky disků s operačním systémem a datových disků virtuálního počítače Azure
- Generalizovaný virtuální počítač Azure se spravovanými disky
- Generalizovaný místní virtuální pevný disk nahraný do cloudu
Poznámka
Batch podporuje jenom generalizované sdílené image. Specializovanou sdílenou image nelze použít k vytvoření fondu.
Následující postup ukazuje přípravu virtuálního počítače, pořízení snímku a vytvoření image ze snímku.
Příprava virtuálního počítače
Pokud vytváříte nový virtuální počítač pro image, jako základní image pro spravovanou image Azure Marketplace image první strany podporovanou službou Batch. Jako základní image je možné použít jenom image první strany. Pokud chcete získat úplný seznam referenčních Azure Marketplace image podporovaných Azure Batch, podívejte se na operaci Zobrazení seznamu skladových položek agenta uzlu.
Poznámka
Jako základní image nemůžete použít image třetí strany, která má další licenční a nákupní podmínky. Informace o těchto imagích z Marketplace najdete v pokynech pro linuxové nebo Windowspočítače.
Při vytváření virtuálních počítače postupujte podle těchto pokynů:
- Ujistěte se, že je virtuální počítač vytvořený se spravovaným diskem. Toto je výchozí nastavení úložiště při vytváření virtuálního počítače.
- Neinstalujte na virtuální počítač rozšíření Azure, jako je rozšíření vlastních skriptů. Pokud image obsahuje předinstalační rozšíření, může Azure při nasazování fondu Batch narazit na problémy.
- Při použití připojených datových disků je potřeba připojit a naformátovat disky z virtuálního počítače, abyste je měli používat.
- Ujistěte se, že základní image operačního systému, kterou poskytnete, používá výchozí dochovou jednotku. Agent uzlu Batch v současné době očekává výchozí dochovou jednotku.
- Ujistěte se, že disk s operačním systémem není zašifrovaný.
- Po spuštění virtuálního počítače se k virtuálnímu počítači připojte přes protokol RDP (Windows) nebo SSH (pro Linux). Nainstalujte potřebný software nebo zkopírujte požadovaná data.
- Pro rychlejší zřizování fondu použijte nastavení Mezipaměti disku ReadWrite pro disk s operačním systémem virtuálního počítače.
Vytvoření snímku virtuálního počítače
Snímek je úplná kopie virtuálního pevného disku jen pro čtení. K vytvoření snímku disku s operačním systémem nebo datových disků virtuálního počítače můžete použít Azure Portal příkazového řádku nebo nástroje příkazového řádku. Postup a možnosti vytvoření snímku najdete v pokynech pro virtuální počítače.
Vytvoření image z jednoho nebo více snímků
K vytvoření spravované image ze snímku použijte nástroje příkazového řádku Azure, jako je příkaz az image create. Vytvořte image zadáním snímku disku s operačním systémem a volitelně jednoho nebo více snímků datového disku.
Vytvoření Azure Compute galerie
Po úspěšném vytvoření spravované image je potřeba vytvořit vlastní image Azure Compute, aby byla vaše vlastní image dostupná. Informace o vytvoření galerie Azure Compute pro obrázky najdete v tématu Vytvoření Azure Compute Gallery.
Vytvoření fondu ze sdílené image pomocí Azure CLI
Pokud chcete vytvořit fond ze sdílené image pomocí Azure CLI, použijte az batch pool create příkaz . Do pole zadejte ID sdílené --image image. Ujistěte se, že typ operačního systému a SKU odpovídají verzím zadaným v . --node-agent-sku-id
Poznámka
Musíte se ověřit pomocí Azure AD. Pokud používáte ověřování pomocí sdíleného klíče, zobrazí se chyba ověřování.
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 "batch.node.ubuntu 16.04"
Vytvoření fondu ze sdílené image pomocí jazyka C
Alternativně můžete vytvořit fond ze sdílené image pomocí sady SDK jazyka C#.
private static VirtualMachineConfiguration CreateVirtualMachineConfiguration(ImageReference imageReference)
{
return new VirtualMachineConfiguration(
imageReference: imageReference,
nodeAgentSkuId: "batch.node.windows amd64");
}
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();
}
...
}
Vytvoření fondu ze sdílené image pomocí Pythonu
Fond můžete vytvořit také ze sdílené image pomocí sady 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="batch.node.ubuntu 18.04"
)
# 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)
Vytvoření fondu ze sdílené image pomocí Azure Portal
Pomocí následujícího postupu vytvořte fond ze sdílené image v Azure Portal.
- Otevřete Azure Portal.
- Přejděte na Účty Batch a vyberte svůj účet.
- Vyberte Fondy a pak Přidat a vytvořte nový fond.
- V části Image Type (Typ image) vyberte Azure Compute Gallery (Galerie obrázků).
- Ve zbývajících částech vyplňte informace o spravované ibitové kopii.
- Vyberte OK.

Důležité informace pro velké fondy
Pokud plánujete vytvořit fond se stovkami nebo tisíci virtuálních počítače nebo více virtuálními počítače pomocí sdílené image, použijte následující pokyny.
Azure Compute replik galerie. Pro každý fond s až 300 instancemi doporučujeme zachovat alespoň jednu repliku. Pokud například vytváříte fond se 3 000 virtuálními počítači, měli byste uchovat alespoň 10 replik image. Pro zajištění lepšího výkonu vždy doporučujeme zachovat více replik, než je minimální požadavek.
Změna velikosti časového limitu. Pokud váš fond obsahuje pevný počet uzlů (pokud se automaticky škálovat nebude), zvětšete vlastnost fondu v závislosti
resizeTimeoutna velikosti fondu. Pro každých 1 000 virtuálních počítače je doporučený časový limit změny velikosti alespoň 15 minut. Například doporučený časový limit změny velikosti pro fond s 2 000 virtuálními počítače je alespoň 30 minut.
Další kroky
- Podrobné informace o službě Batch najdete v tématu Pracovní postup a prostředky služby Batch.
- Přečtěte si o Azure Compute Gallery.