Добавляем новые роли виртуальных машин в галерею Windows Azure Pack и VM Authoring Tool

После того как мы закончили основную конфигурацию Tenant портала WAP наступает время добавить роли виртуальных машин в галерею Портала.

Роли виртуальных машин галереи портала представляют из себя аналог Service Templates в VMM. Вкратце, это шаблон сервиса или группы или одиночной виртуальной машины. С их помощью можно предоставить пользователю возможность разворачивать преднастроенную виртуальную машину или группу машин.

GalleryItemArchitecture

Как Вы видите роль виртуальной машины для галереи состоит из двух компонентов. Жизненный цикл роли виртуальных машин выглядит примерно так:

1-2. Создание Resource Definition и Extension пакетов;

  1. Создание дисков VHD(x) для операционной системы и для данных;

  2. Установка Resource Extension в VMM;

  3. Установка Resource Definition в WAP;

  4. Публикация и связывание с планом роли виртуальных машин галереи;

  5. Пользователь проходит визард создания роли виртуальной машины и SPF отправляет в VMM запрос;

  6. VMM создает и настраивает виртуальные машины.

Resource Definition

Шаблон роли виртуальной машины, аналог VM Template в VMM. Кроме того, он содержит настройки для пользовательского портала, для обеспечения кастомизации разворачивания.

Resource Extension

Содержит в себе описание разворачивания для VMM. Может содержать в себе зависимости (если они есть), должен быть импортирован в библиотеку VMM.

Существует несколько способок добавить новые роли виртуальных машин в галерею

  1. Скачать использую Web Platform Installer

  2. Создать используя VM Authoring Tool

Оба способа имеют как плюсы так и минусы.

Web Platform Installer

Запустите WPI и нажмите на кнопку “Options” расположенную внизу справа и в поле “Custom Feed” введите http://www.microsoft.com/web/webpi/partners/servicemodels.xml и нажмите “Add Feed”. Готовые роли виртуальных машин можно скачать в закладке Service Models.

После скачивания Вам необходимо ознакомиться с файлом “Readme” для того чтобы убедиться что для данной роли виртуальных машин не нужно дополнительного программного обеспечения или каких-либо других зависимостей.

Фактически WPI заменяет шаги 1 и 2 из жизненного цикла ролей виртуальных машин галереи.

При создании VHD(x) для пункта 3, Вам необходимо помнить, что роли виртуальных машин - аналог Service Templates в VMM, потому используют вирутальные машины первого поколения, соответственно вы не можете использовать VHD(x) от машины второго поколения.

Для использования скачанных файлов необходимо Выполнить шаги 4-6.

Импортируем пакет Resource Extension в VMM.

$Share = Get-SCLibraryShare | Where-Object {$_.Name -eq 'MSSCVMMLibrary'}
$Pkg = "путьфайл.resextpkg"
Import-CloudResourceExtension –ResourceExtensionPath $Pkg -SharePath $Share -AllowUnencryptedTransfer

Импортируем пакет Resource Definition в WAP портал

Заходим на портал администратора в раздел VM Clouds. Далее в Gallery и нажимаем импорт. Указываем на файл с расширением resdefpkg. После чего Вам необходимо сделать роль виртуальной машины публичной (Make Public). После этого необходимо пройти в раздел Plans и добавить данную роль виртуальной машины галереи в план.

Далее Вам необходимо посмотреть в Readme файле какие теги, ос, семейство и релиз необходимо разначить диску с ОС и назначить их

(В любом случае Вам необходим и OS и Data диск со всеми заполнеными полями, единственное исключение, поле “операционная система” для дата диска должно быть пустым)

$VHD = Get-SCVirtualHardDisk | where {$_.Name –eq 'имя_диска.vhd'}
$OS = Get-SCOperatingSystem | where { $_.name –eq 'Windows Server 2012 R2 Standard' }
$FamilyName = "Windows Server 2012 R2 Standard"
$Release = "1.0.0.0"
$Tag = 'Тэг'
Set-SCVirtualHardDisk –VirtualHardDisk $VHD –OperatingSystem $OS –FamilyName $FamilyName –Release $Release -Tag $Tag

С дисками в VMM связанна одна очень интересная особенность. Если Вы назначите двум или более дискам одинаковый “Family Name”, ”Release” и “Tag” при создании виртуальных машин из шаблона, сервисов или Bare Metal разворачиваний VMM будет выбирать случайный диск из всех у которых совпадают ”Family Name”, ”Release” и “Tag” с диском выбранным для разворачивания. Лечиться очень просто, следите чтобы у каждого диска комбинация ”Family Name”, ”Release” и “Tag” была уникальной.

VM Authoring Tool

Представляет из себя утилиту для создания Resource Definition и Extension файлов с нуля. Подробнее о ней в следующем посте.

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

Written on June 25, 2014