2015-04-08 3 views
0

Я создаю облачную службу на лазури с двумя виртуальными машинами, используя java sdk. Служба создана успешно и ее запуск также, но когда я проверяю входные конечные точки недавно созданного облачного сервиса, он говорит «Без конечных точек найдено». Но я устанавливаю детали конечных точек при создании виртуальной машины. Вот фрагмент кода.Как установить конечные точки ввода в облачном сервисе azure программно?

ArrayList<InputEndpoint> endPointList = new ArrayList<InputEndpoint>(); 

InputEndpoint endPoint = new InputEndpoint(); 

endPoint.setName("ssh"); 

endPoint.setPort(22); 

endPoint.setLocalPort(22); 

endPoint.setProtocol("tcp"); 

endPointList.add(endPoint); 


configurationSetList = new ArrayList<ConfigurationSet>(); 

configurationSet = new ConfigurationSet(); 


configurationSet.setConfigurationSetType(ConfigurationSetTypes.LINUXPROVISIONINGCONFIGURATION); 

configurationSet.setComputerName(roleName); 

configurationSet.setUserName(userName); 

configurationSet.setUserPassword(pswd); 
         configurationSet.setAdminPassword(adminUserPassword); 

configurationSet.setAdminUserName(adminUserName); 

configurationSet.setEnableAutomaticUpdates(false); 

configurationSet.setHostName(clusterName + ".cloudapp.net"); 

configurationSet.setInputEndpoints(endPointList); 

configurationSetList.add(configurationSet); 


ArrayList<Role> roleList = new ArrayList<Role>(); 

Role role = new Role(); 

role.setRoleName(roleName); 

role.setRoleType(VirtualMachineRoleType.PersistentVMRole.toString()); 

role.setRoleSize(VirtualMachineRoleSize.SMALL); 

role.setProvisionGuestAgent(true); 

role.setConfigurationSets(configurationSetList); 

role.setOSVirtualHardDisk(oSVirtualHardDisk); 

roleList.add(role); 

Скажите, пожалуйста, если я что-то делаю неправильно.

+0

Я могу установить тип входного конечных точек с помощью вызова обновления. Как только я создаю vms, я вызываю метод update для настройки входных конечных точек. –

+0

Но теперь есть еще одна проблема. Несмотря на то, что конечные точки ввода установлены правильно, я не могу выполнить ssh на некоторых виртуальных машинах. На самом деле это происходит. Некоторое время работает некоторое время. Я могу видеть подробности о конечных точках на лазурном портале, и как только я перезапущу эту виртуальную машину, используя лазурный портал, все работает нормально. Я создаю облачные службы и виртуальные машины, используя java sdk и настраивая конечные точки ввода. Я устанавливаю конечную точку после проверки состояния виртуальной машины. Как только он станет «ReadyRole», я установил конечную точку, а затем перезапустил виртуальную машину. Хотя, я не уверен, что перезагрузка нужна или нет. –

ответ

0

Вам нужно создать другие ConfigurationSet,

ConfigurationSet configurationSetForNetwork = new ConfigurationSet(); 

configurationSetForNetwork.setConfigurationSetType(ConfigurationSetTypes.NETWORKCONFIGURATION); 
configurationSetList.add(configurationSetForNetwork); 
configurationSetList.add(otherConfigurationSet...); 
... 
configurationSetForNetwork.setInputEndpoints(endPointList); 
//If you need the one public ip 
PublicIP publicIP = new PublicIP(); 
publicIP.setName(vitualNetworkName);//VNET Name 
ArrayList publicIPS = new ArrayList(); 
publicIPS.add(publicIP); 
configurationSetForNetwork.setPublicIPs(publicIPS); 
Смежные вопросы