Azure python sdk, how to deploy a vm and it's a Azure Spot instance

做~自己de王妃 提交于 2021-02-08 10:37:25

问题


Azure python sdk, how to deploy a vm and it's a Azure Spot instance


回答1:


If you want to create Azure Spot VM, please refer to the following code. For more deatils, please refer to the doucment and the docuemnt

from azure.common.credentials import ServicePrincipalCredentials
from azure.mgmt.compute.v2019_07_01 import ComputeManagementClient
from azure.mgmt.compute.v2019_07_01.models import VirtualMachinePriorityTypes, VirtualMachineEvictionPolicyTypes, BillingProfile
SUBSCRIPTION_ID = 'subscription-id'
GROUP_NAME = 'myResourceGroup'
LOCATION = 'westus'
VM_NAME = 'myVM'
credentials = ServicePrincipalCredentials(
        client_id = 'application-id',
        secret = 'authentication-key',
        tenant = 'tenant-id'
    )
compute_client = ComputeManagementClient(
    credentials,
    SUBSCRIPTION_ID
)
vm_parameters = {
        'location': LOCATION,
        'os_profile': {
            'computer_name': VM_NAME,
            'admin_username': 'azureuser',
            'admin_password': 'Azure12345678'
        },
        'hardware_profile': {
            'vm_size': 'Standard_DS1'
        },
        'storage_profile': {
            'image_reference': {
                'publisher': 'MicrosoftWindowsServer',
                'offer': 'WindowsServer',
                'sku': '2012-R2-Datacenter',
                'version': 'latest'
            }
        },
        'network_profile': {
            'network_interfaces': [{
                'id': nic.id
            }]
        },
        'priority':VirtualMachinePriorityTypes.spot, # use Azure spot intance
        'eviction_policy':VirtualMachineEvictionPolicyTypes.deallocate , #For Azure Spot virtual machines, the only supported value is 'Deallocate'
        'billing_profile': BillingProfile(max_price=float(2)) 
creation_result = compute_client.virtual_machines.create_or_update(
        GROUP_NAME, 
        VM_NAME, 
        vm_parameters
    )
print(creation_result.result())
    }



来源:https://stackoverflow.com/questions/60275717/azure-python-sdk-how-to-deploy-a-vm-and-its-a-azure-spot-instance

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!