2013-07-29 4 views
3

Я пытаюсь программно развернуть Azure VM, используя оболочку Python REST API. Все, что я хочу, это простая виртуальная машина, а не часть развертывания или что-то в этом роде. Я следовал примеру здесь: http://www.windowsazure.com/en-us/develop/python/how-to-guides/service-management/#CreateVMAPI Windows Azure: программно создавать VM

У меня есть код для запуска, но я не вижу никакой новой виртуальной машины на портале; все, что он делает, это создать новый облачный сервис, в котором говорится: «У вас ничего не установлено в производственной среде». Что я делаю не так?

ответ

0

Возможно, я не понимаю вашу проблему, но виртуальная машина по существу является развертыванием в облачном сервисе (подумайте об этом как о логическом контейнере для машин).

+0

Я пытаюсь получить развертывание настроить с одной виртуальной машины под управлением он (с использованием обертки API Python). –

3

Вы создали host_service (облачный сервис), но не поместили в него что-либо. Вам нужно сделать несколько вещей, так что я буду Продолжаем, где вы остановились, где name это имя виртуальной машины:

# Where should the OS VHD be created: 
media_link = 'http://portalvhdsexample.blob.core.windows.net/vhds/%s.vhd' % name 

# Linux username/password details: 
linux_config = azure.servicemanagement.LinuxConfigurationSet(name, 'username', 'password', True) 

# Endpoint (port) configuration example, since documentation on this is lacking: 
endpoint_config = azure.servicemanagement.ConfigurationSet() 
endpoint_config.configuration_set_type = 'NetworkConfiguration' 
endpoint1 = azure.servicemanagement.ConfigurationSetInputEndpoint(name='HTTP', protocol='tcp', port='80', local_port='80', load_balanced_endpoint_set_name=None, enable_direct_server_return=False) 
endpoint2 = azure.servicemanagement.ConfigurationSetInputEndpoint(name='SSH', protocol='tcp', port='22', local_port='22', load_balanced_endpoint_set_name=None, enable_direct_server_return=False) 

endpoint_config.input_endpoints.input_endpoints.append(endpoint1) 
endpoint_config.input_endpoints.input_endpoints.append(endpoint2) 

# Set the OS HD up for the API: 
os_hd = azure.servicemanagement.OSVirtualHardDisk(image_name, media_link) 

# Actually create the machine and start it up: 
try: 
    sms.create_virtual_machine_deployment(service_name=name, deployment_name=name, 
              deployment_slot='production', label=name, role_name=name, 
              system_config=linux_config, network_config=endpoint_config, 
              os_virtual_hard_disk=os_hd, role_size='Small') 

except Exception as e: 
    logging.error('AZURE ERROR: %s' % str(e)) 
    return False 

return True 
Смежные вопросы