пятница, 14 мая 2010 г.

vSphere PowerCLI: урок 1

Уважаемые читатели, рад сообщить, что я открываю в блоге новую серию: учебник по PowerCLI, который на 50% будет учебником по PowerShell. Т.е. вам не потребуются глубокие знания PowerShell для его изучения, все будет объяснено в процессе.

Основой учебника послужит серия уроков по PowerCLI от Ricky El-Qasem (Veeam Software), но я постараюсь делать не только перевод, а также и дополнять материал.

Итак, приступим.


1. Установка PowerShell

Необходимо скачать и установить PowerShell, если она еще не установлена на вашем компьютере.

2. Установка vSphere PowerCLI.

Необходимо скачать свежую версию PowerCLI отсюда: http://downloads.vmware.com/downloads/download.do?downloadGroup=SDKWIN40U1, и соотв. установить.

Теперь у вас должна появиться на десктопе иконка:



Это конcоль PowerCLI. Точнее сказать, это консоль PowerShell с добавленным в нее VMware snap-in.

Можно запустить консоль PowerCLI так же и непосредственно из PowerShell:
Add-PSSnapin VMware.VimAutomation.Core
В системах с повышенными требованиями по безопасности, таких как Windows 7, для работы PowerCLI придется снизить уровень параноидальности PowerShell. Для этого необходимо запустить консоль PowerShell с правами администратора и выполнить команду:
Set-ExecutionPolicy RemoteSigned

3. Подключение к vSphere

Теперь мы готовы подключаться к vCenter или ESX.
Connect-VIServer -Server vcenter.local.domain
Если у вас не развернута инфраструктура ключей и сертификатов, то вы скорее всего увидите такое сообщение:



Если пользователь, от имени которого запущена консоль PowerCLI имеет соответствующие права доступа к vSphere / ESX, то пройдет прозрачная авторизация. В противном случае вас попросят ввести логин и пароль:



Как вариант, вы можете указать логин и пароль в командной строке, в качестве параметров команды Connect-VIServer, но об этом поговорим позже.

4. Как работает PowerCLI

Выполним первую команду в PowerCLI:
Get-VM
Get-VM выдаст нам список всех доступных ВМ в инфраструктуре (точнее доступных пользователю, от имени которого работает PowerCLI) и немного дополнительной информации о них:



Попробую объяснить, что здесь происходит на самом деле. Командлеты PowerCLI (именно так называются команды PowerShell) основаны на библиотеках .Net, используемых для взаимодействия с VMware vSphere SDK (API). VMware разработала серьезный, мощный и богатый функциями API для своей платформы vSphere. К этому API в свою очередь можно обращаться как к веб-сервису, что позволяет разрабатывать приложения для vSphere практически на любом языке.

API представляет виртуальную инфраструктуру как дерево объектов:



Эти объекты включают в себя ESX серверы, виртуальные машины, датацентры и т.д. Объекты имеют свойства (properties) и действия (методы), которые могут быть совершены над ними. Например, у ВМ есть свойство, показывающее сколько CPU было сконфигурировано для данной ВМ, или метод, при помощи которого можно включить и выключить ВМ.

SDK существует как на ESX, так и на vCenter, причем практически идентичен на обеих платформах. За исключением того, что vCenter предлагает больше объектов для управления функциональностью, которую невозможно увидеть на standalone ESX, как например DRS:



Красота PowerCLI в том, что вам совешенно не требуется быть разработчиком и не требуется проходить весь путь для взаимодейтсвия с SDK. Вы просто дадите несколько команд и они прозрачно выполнятся.

Мы успели выполнить 2 строки кода, чтобы подключиться к vSphere и вывести список всех ВМ. В случае же скажем C# и SDK пришлось бы написать 40-50 строк кода.

На этом урок 1 заканчивается и мы переходим к уроку 2.

Следующий урок >>

3 комментария:

  1. Анонимный14 мая 2010 г., 16:26

    Спасибо, буду ждать следующего.

    (:

    ОтветитьУдалить
  2. Анонимный17 мая 2010 г., 11:12

    Set-ExecutionPolicy Unrestricted
    лучше заменить на RemoteSigned

    ОтветитьУдалить
  3. Анонимный19 мая 2010 г., 17:23

    Спасибо за урок! Буду ждать следующих!

    ОтветитьУдалить