Windows Azure PowerShell для работы с IaaS

Еще в июне 2012 был обновлен Windows Azure PowerShell командлеты и к нему добавились некие достойные внимания многофункциональные способности для управления виртуальными машинами Windows Azure. В этой статье я расскажу о неких из новых функций по автоматизации Windows Azure IaaS.

Конфигурирование Windows Azure PowerShell

1-ое, что нужно сделать – установить Windows Azure PowerShell. Самый обычный метод для того чтоб загрузить и импортировать файл-настроек – скачать шаблон с официального веб-сайта. После того как файл-настроек публикации загружен, его нужно импортировать:

Import-AzurePublishSettingsFile ‘c:tempmysub.publishsettings’

Также имеется возможность опции профиля публикации в ручную, без скачки файла-настроек:

$subid = ‘[YOUR-SUBSCRIPTION-ID]‘
$cert = Get-Item Cert:CurrentUserMyYOURCERTTHUMBPRINT
Set-AzureSubscription -SubscriptionName ‘testsub1′
-SubscriptionId $subid -Certificate $cert

Направьте внимание, что после того, как с опциями подписки закончено – профиль публикации сохраняется по дефлоту в последующем месте: C:UsersuserAppDataRoamingWindows Azure Powershell
Это значит, что не надо запускать Set-AzureSubscription для каждого из сценариев, потому что он уже есть. Windows Azure PowerShell поддерживают несколько подписок, потому тут можно избрать с какой подпиской работать, командой — Select-AzureSubscription.

Настройка хранилища

Windows Azure PowerShell для работы с IaaS
Прирастить

Также, новым дополнением является –CurrentStorageAccount. Этот параметр позволяет указать какое хранилище использовать для ваших VM’s в работе из PowerShell. Чтоб установить хранилище нужно выполнить последующую команду:

Get-AzureStorageAccount

Если нужно сделать StorageAccount, воспользуйтесь последующей командой:

New-AzureStorageAccount -StorageAccountName
‘myuniquelynamedstorage’ -Location ‘East US’

Подготовка к созданию виртуальной машины из PowerShell

Windows Azure PowerShell для работы с IaaS
Прирастить

Перед тем как приступить к созданию VM’s в Windows Azure нужно задать некие опции, которые потребуются для работы из PowerShell, а конкретно, локация:

$dclocation = ‘[YOUR-LOCATION]‘

Задать имя пасмурного сервиса, который будет выступать в качестве контейнера для VM’S:

Test-AzureName -Service ‘[YOUR-CLOUD-SERVICE-NAME]‘
$cloudSvcName = ‘[YOUR-CLOUD-SERVICE-NAME]‘

Найти какая платформа будет употребляться в качестве базы для VM’s:

Get-AzureVMImage | select ImageName
$image = ‘[YOUR-SELECTED-IMAGE-NAME]‘

Сейчас же можно приступать к созданию VM’s из PowerShell.

Резвое создание Windows VM’s из PowerShell

После того, как все начальные опции окончены, для резвого сотворения виртуальной машины нужно использовать последующие команды:

$adminPassword = ‘[PASSWORD]‘
$vmname = ‘mytestvm’
New-AzureQuickVM -Windows -ServiceName
$cloudSvcName -Name $vmname -ImageName
$image -Password $adminPassword

Резвое создание Linux VM’s из PowerShell

$linuxuser = ‘[CHOOSE-USERNAME]‘
$adminPassword = ‘[YOUR-PASSWORD]‘
$vmname = ‘mytestvm1′
New-AzureQuickVM -Linux -ServiceName
$cloudSvcName -Name $vmname -ImageName
$image -LinuxUser $linuxuser

Перезагрузка, пуск и остановка Windows Azure виртуальной машины

# Перезагрузка
Restart-AzureVM -ServiceName $cloudSvcName -Name $vmname
# Остановка
Stop-AzureVM -ServiceName $cloudSvcName -Name $vmname
# Старт
Start-AzureVM -ServiceName $cloudSvcName -Name $vmname

Расширенные команды для сотворения виртуальных машин

New-AzureVMConfig позволяет сделать виртуальную машину, сконфигурировав под себя. Если вас не устраивает резвое создание VM’s либо же не нравится то кол-во опций которое эта команда предоставляет, то этот раздел конкретно вам. Вы сможете добавлять диск с данными, настраивать конечные точки (автоматом добавляются для SSH и RDP) и даже изменять поведение дискового кэша ОС либо же диска с данными. Все что для этого будет нужно – это вызвать команду New-AzureVMConfig, а потом передать их VM’s.

Создание Windows виртуальных машин из PowerShell

$vmname2 = ‘mytestvm2′
$vmname3 = ‘mytestvm3′
$vm2 = New-AzureVMConfig -Name $vmname2
-InstanceSize ExtraSmall -ImageName $image |
Add-AzureProvisioningConfig -Windows
-Password $adminPassword |
Add-AzureDataDisk -CreateNew
-DiskSizeInGB 50 -DiskLabel ‘datadisk1′ -LUN 0 |
Add-AzureEndpoint -Protocol tcp -LocalPort 80
-PublicPort 80 -Name ‘web’ `
-LBSetName ‘lbweb’ -ProbePort 80
-ProbeProtocol http -ProbePath ‘/’
$vm3 = New-AzureVMConfig -Name $vmname3
-InstanceSize ExtraSmall -ImageName $image |
Add-AzureProvisioningConfig -Windows
-Password $adminPassword |
Add-AzureDataDisk -CreateNew
-DiskSizeInGB 50 -DiskLabel ‘datadisk2′ -LUN 0 |
Add-AzureEndpoint -Protocol tcp
-LocalPort 80 -PublicPort 80 -Name ‘web’ `
-LBSetName ‘lbweb’ -ProbePort 80
-ProbeProtocol http -ProbePath ‘/’
New-AzureVM -ServiceName $cloudSvcName
-VMs $vm2,$vm3

Создание Linux виртуальной машины из PowerShell

$vmname2 = ‘mytestvm2′
$vmname3 = ‘mytestvm3′
$vm2 = New-AzureVMConfig -Name $vmname2
-InstanceSize ExtraSmall -ImageName $image |
Add-AzureProvisioningConfig -Linux
-LinuxUser $linuxUser -Password $adminPassword |
Add-AzureDataDisk -CreateNew -DiskSizeInGB 50
-DiskLabel ‘datadisk1′ -LUN 0 |
Add-AzureEndpoint -Protocol tcp -LocalPort 80 -PublicPort 80 -Name ‘web’ `
-LBSetName ‘lbweb’ -ProbePort 80 -ProbeProtocol http -ProbePath ‘/’
$vm3 = New-AzureVMConfig -Name $vmname3 -InstanceSize ExtraSmall -ImageName $image |
Add-AzureProvisioningConfig -Linux -LinuxUser $linuxUser -Password $adminPassword |
Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel ‘datadisk2′ -LUN 0 |
Add-AzureEndpoint -Protocol tcp -LocalPort 80 -PublicPort 80 -Name ‘web’ `
-LBSetName ‘lbweb’ -ProbePort 80 -ProbeProtocol http -ProbePath ‘/’
New-AzureVM -ServiceName $cloudSvcName -VMs $vm2,$vm3

Обновление имеющихся виртуальных машин

Изменение имеющихся виртуальных машин просит получения текущих опций используя команду Get-AzureVM, после редактирования для сохранения опций употребляется команда Update-AzureVM. Некие из конфигураций потребуют перезагрузки виртуальной машины, например характеристики дискового кэша.

$vmname = ‘mytestvm1′
Get-AzureVM -Name $vmname -ServiceName $cloudSvcName |
Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel ‘datadisk1′ -LUN 0 |
Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel ‘translogs1′ -LUN 1 |
Add-AzureEndpoint -Protocol tcp -LocalPort 1433 -PublicPort 2000 -Name ‘sql’ |
Update-AzureVM

Заключение

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

Аналогичный товар: Комментирование на данный момент запрещено, но Вы можете оставить ссылку на Ваш сайт.

Комментарии закрыты.