Cet article explique comment créer un groupe d'échelles de machines virtuelles (VMSS) avec une combinaison d’instances. Le mix d’instances vous permet de spécifier plusieurs tailles de machines virtuelles (VM) pour un seul groupe de mise à l’échelle et de contrôler la manière dont Azure choisit les tailles au moment du provisionnement à l’aide d’une stratégie d’allocation.
Vérifiez ces conditions préalables avant de créer un ensemble de mise à l'échelle compatible avec le mélange d'instances :
- Accédez à Groupes identiques de machines virtuelles.
- Sélectionnez le bouton Créer pour accéder à la vue Créer un groupe de machines virtuelles identiques.
- Sous l’onglet De base, renseignez tous les champs requis. Si le champ n’est pas affiché dans les sections suivantes, vous pouvez définir les champs sur ce qui fonctionne le mieux pour votre groupe identique.
- Veillez à sélectionner une région dans laquelle Instance Mix est prise en charge.
- Assurez-vous que le Mode Orchestration est défini sur Flexible.
- Dans la section Taille , cliquez sur Sélectionner jusqu’à 5 tailles et la page Sélectionner une taille de machine virtuelle s’affiche.
- Utilisez le sélecteur de taille pour sélectionner jusqu’à cinq tailles de machine virtuelle. Une fois que vous avez sélectionné vos tailles de machine virtuelle, cliquez sur le bouton Sélectionner en bas de la page pour revenir à l'onglet de base de l'ensemble d'échelons.
- Dans le champ Stratégie d’allocation , sélectionnez votre stratégie d’allocation.
- Si vous utilisez la
Prioritized (preview) stratégie d’allocation, la section Taille du classement apparaît sous la section Stratégie d’allocation. Sélectionnez Priorité de classement pour ouvrir le panneau de hiérarchisation, où vous pouvez ajuster la priorité de vos tailles de machine virtuelle.
- Vous pouvez spécifier d’autres propriétés dans les onglets suivants, ou vous pouvez accéder à Vérifier + créer et sélectionner le bouton Créer en bas de la page pour commencer le déploiement de votre ensemble de configurations d'échelle de mixage d'instances.
Avant d’utiliser des commandes CLI avec Instance Mix, veillez à utiliser la version appropriée de l’interface CLI. Vérifiez que vous utilisez la version 2.66.0 ou une version supérieure.
Vous pouvez utiliser la commande de base suivante pour créer un groupe identique à l’aide d’une combinaison d’instances, qui utilise par défaut la stratégie d’allocation lowestPrice :
az vmss create \
--name {myVMSS} \
--resource-group {myResourceGroup} \
--image ubuntu2204 \
--vm-sku Mix \
--skuprofile-vmsizes Standard_D2s_v5 Standard_D2as_v5 \
--authentication-type ssh \
--generate-ssh-keys
Pour spécifier la stratégie d’allocation, utilisez le paramètre --skuprofile-allocation-strategy, comme la commande suivante :
az vmss create \
--name {myVMSS} \
--resource-group {myResourceGroup} \
--image ubuntu2204 \
--vm-sku Mix \
--skuprofile-vmsizes Standard_D2s_v5 Standard_D2as_v5 \
--skuprofile-allocation-strategy CapacityOptimized \
--authentication-type ssh \
--generate-ssh-keys
Vous pouvez utiliser la commande de base suivante pour créer un groupe identique avec Instance Mix à l’aide de la commande suivante, qui utilise par défaut la stratégie d’allocation lowestPrice :
New-AzVmss `
-ResourceGroupName $resourceGroupName `
-Credential $credentials `
-VMScaleSetName $vmssName `
-DomainNameLabel $domainNameLabel1 `
-VMSize "Mix" `
-SkuProfileVmSize @("Standard_D4s_v3", "Standard_D4s_v4");
Pour spécifier la stratégie d’allocation, utilisez le paramètre SkuProfileAllocationStrategy, comme la commande suivante :
New-AzVmss `
-ResourceGroupName $resourceGroupName `
-Credential $credentials `
-VMScaleSetName $vmssName `
-DomainNameLabel $domainNameLabel1 `
-SkuProfileVmSize @("Standard_D4s_v3", "Standard_D4s_v4") `
-SkuProfileAllocationStrategy "CapacityOptimized";
Pour créer un ensemble de mise à l'échelle à l'aide d'un objet de configuration utilisant Instance Mix, utilisez la commande suivante :
$vmss = New-AzVmssConfig -Location $loc -SkuCapacity 2 -UpgradePolicyMode 'Manual' -EncryptionAtHost -SecurityType $stnd -SkuProfileVmSize @("Standard_D4s_v3", "Standard_D4s_v4") -SkuProfileAllocationStrategy "CapacityOptimized"`
| Add-AzVmssNetworkInterfaceConfiguration -Name 'test' -Primary $true -IPConfiguration $ipCfg `
| Set-AzVmssOSProfile -ComputerNamePrefix 'test' -AdminUsername $adminUsername -AdminPassword $adminPassword `
| Set-AzVmssStorageProfile -OsDiskCreateOption 'FromImage' -OsDiskCaching 'None' `
-ImageReferenceOffer $imgRef.Offer -ImageReferenceSku $imgRef.Skus -ImageReferenceVersion 'latest' `
-ImageReferencePublisher $imgRef.PublisherName;
$vmssResult = New-AzVmss -ResourceGroupName $resourceGroupName -Name $vmssName -VirtualMachineScaleSet $vmss
Pour déployer un groupe identique avec Instance Mix à l’aide de l’API REST, effectuez une demande PUT au point de terminaison suivant :
PUT https://management.azure.com/subscriptions/{YourSubscriptionId}/resourceGroups/{YourResourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{yourScaleSetName}?api-version=2023-09-01
Dans le corps de la demande, définissez sku.nameMix et spécifiez le nombre total de machines virtuelles :
"sku": {
"name": "Mix",
"capacity": {TotalNumberVMs}
},
Référencez votre sous-réseau existant, comme suit :
"subnet": {
"id": "/subscriptions/{YourSubscriptionId}/resourceGroups/{YourResourceGroupName}/providers/Microsoft.Network/virtualNetworks/{YourVnetName}/subnets/default"
},
Spécifiez le skuProfile avec jusqu’à cinq tailles de machine virtuelle. L’exemple suivant utilise trois tailles et la stratégie d’allocation lowestPrice :
"skuProfile": {
"vmSizes": [
{ "name": "Standard_D8s_v5"},
{ "name": "Standard_D8as_v5"},
{ "name": "Standard_D8s_v4"}
],
"allocationStrategy": "lowestPrice"
},
Si vous utilisez la stratégie d’allocation Prioritized (preview) , vous pouvez attribuer un classement de priorité à chaque taille de machine virtuelle. Par exemple:
"skuProfile": {
"vmSizes": [
{ "name": "Standard_D8s_v5", "rank": 1 },
{ "name": "Standard_D8as_v5", "rank": 2 },
{ "name": "Standard_D8s_v4", "rank": 3 }
],
"allocationStrategy": "Prioritized"
},
- Remplacez les espaces réservés, tels que
{YourSubscriptionId}, par vos valeurs réelles.
- Vous pouvez spécifier jusqu’à cinq tailles de machine virtuelle dans le
vmSizes tableau.
- La
rank propriété est requise uniquement lors de l’utilisation de la stratégie d’allocation Prioritized (preview) .
Conseils pour les déploiements REST :
- Assurez-vous que
sku.name est défini sur "Mix" et que sku.tier n'est pas défini (ou est null).
- La
rank propriété n’est requise que pour la Prioritized stratégie. Les rangs avec des nombres inférieurs sont prioritaires.
- Pour confirmer la disponibilité et le quota de taille de machine virtuelle avant le déploiement, validez le modèle par rapport à l’abonnement et à la région cibles.