Вы уже слышали про Cisco UCS Director?
Готовы начать знакомство с этим продуктом?
Тогда я покажу, как сделать, чтобы конечные пользователи могли самостоятельно сформировать запрос на портале самообслуживания Cisco UCS Director и автоматически получить готовую виртуальную машину.
Для этого мы с вами научимся создавать наборы политик и объединять несколько политик в группу в рамках vDC, а также создадим каталог (шаблон) на базе этих политик, чтобы предоставить пользователям доступ к этому каталогу через портал самообслуживания.
Начнем с инфраструктуры. Инфраструктура, на базе которой мы будем выполнять все настройки, состоит из:
- NetApp Clustered DataONTAP 8.2 Simulator в качестве дискового массива;
- виртуальной инфраструктуры развернутой на базе:
- ESXi appliance 5.5.0;
- vCenter appliance 5.5.0a.
Сразу отмечу, что все настройки политик и параметров для шаблона(ов) виртуальных машин в нашем посте будут относиться к VMWare vSphere инфраструктуре.
Создание шаблона (каталога) на базе политик
В этом разделе я опишу процесс подготовки шаблона для виртуальной машины на базе дистрибутива CentOS 6.4, публикацию данного шаблона на Self-service портале и организацию доступа для конечного пользователя к данному шаблону (каталогу).
Политики (Policies)
В первую очередь мы создадим набор политик, которые позволят нам управлять шаблоном виртуальной машины, ограничивать набор ресурсов (CPU, Memory, Disk usage) и предоставлять пользователю возможность выбора определенного количества ресурсов при создании машины (в рамках разрешенных, разумеется).
Для начала давайте поймем что такое «Policy» в терминологии UCSD. Почти дословный перевод документации звучит так:
Политики – это набор правил, определяющих, где и как будет развернута виртуальная машина, с учетом имеющейся инфраструктуры и наличия системных ресурсов.
В целом это исчерпывающее объяснение. Остается добавить, что политики можно (и нужно) определять не только для виртуальных машин, но и для hardware серверов, дисковых массивов и даже сетевых устройств. Описание таких политик выходит за рамки моего поста.
Политики для виртуальных машин в UCSD делятся на четыре группы:
- Computing;
- Storage;
- Network;
- System.
Computing policy
Данный вид политик:
- Позволяет явно выбрать нужный ESX сервер(а), кластер и пул ресурсов для размещения виртуальной машины;
- Автоматизировать выбор ESX сервера с помощью заданий условий (Minimum conditions) размещения виртуальной машины (иными словами позволяет задать критерии выбора ESX сервера);
- Изменить опции деплоймента машины;
- Предоставить пользователю возможность самостоятельно выбрать нужное количество ресурсов (количество vCPU и памяти) из заданного администратором диапазона.
Для создания политики в интерфейсе UCSD переходим на закладку Policies -> Computing -> VMWare Computing Policy
И добавляем новую политику, нажав на Add button:
В нашем случае мы зададим следующие параметры:
Policy name | CentOS_vm_computing |
---|---|
Cloud name | IT-GRAD-TEST |
Resizing options | Allow resizing of VM (checkbox enable) |
Permitting value for vCPUs | 1,2,4 |
Permitting value for Memory in Mb | 1024,2048,4192 |
Сохраняем политику в каталоге.
Storage policy
Данный вид политик:
- Определяет набор датасторов на которых можно разместить виртуальную машину, а также предоставляет выбор требуемого датастора для пользователя;
- Позволяет задать тип датастора, разрешенного для использования;
- Позволяет указать набор условий (Minimum condition) для выбора датастора (Capacity, latency, e.t.c);
- Позволяет задавать дополнительные политики для дисков – выбор типа диска: data, database, log, swap (не спрашивайте меня как эти политики влияют на распределение дискового пространства и производительность, ответа на этот вопрос у меня пока нет-;)).
Для создания политики в интерфейсе UCSD переходим на закладку Policies -> Storage -> VMWare Storage Policy.
Задаем параметры:
Жмем Next, переходим на ту самую загадочную страницу с настройками Additional Disk Policy, оставляем на ней все без изменения.
Итого мы получили новую сущность – VMWare Storage Policy со следующими настройками:
Policy name | CentOS_vm_computing |
---|---|
Cloud name | IT-GRAD-TEST |
Datastore scope | Include selected |
Selected datastore | vs1_nfs1 (в нашем случае) |
Use shared datastore | checkbox uncheck |
Use local storage | checkbox uncheck |
Use NFS | checkbox enable |
Use SAN | checkbox enable |
Allow resizing of disk | checkbox enable |
Permitted values of disk in Gb | 16,40 |
Network policy
Сразу уточню, что описываемая политика не имеет никакого отношения к сетевому оборудованию и отвечает только за конфигурацию сетевой подсистемы у создаваемой виртуальной машины.
Данный вид политик:
- Позволяет конфигурировать параметры выбора ip адреса (DHCP, IP Pool or Static IP);
- Разрешить добавление дополнительных сетевых адаптеров при создании виртуальной машины;
- Позволяет задавать требуемую PortGroup для размещения виртуальной машины;
- Позволяет определять тип сетевого адаптера.
Для создания политики в интерфейсе UCSD переходим на закладку Policies -> Network -> VMWare Network Policy
Задаем параметры:
Далее жмем Submit до победного. В итоге получили политику, в которой определено количество адаптеров, тип адаптера, PortGroup на виртуальном свиче, пул статических адресов из которого можно будет взять адрес для виртуальной машины.
Policy name | CentOS_vm_computing |
---|---|
Cloud name | IT-GRAD-TEST |
VM Network | |
NIC alias | vNIC1 |
Adapter type | VMXNET3 |
Port group | VM Network |
IPv4 configuration | |
Select IP address type | Static |
Select IP address source | Inline IP Pool |
Static IP Pool | 192.168.1.2-192.168.1.10 |
Netmask | 255.255.255.0 |
Gateway IP address | 192.168.1.1 |
System policy
Заключительный тип политик, который мы рассмотрим в данном посте – это system policy.
Данный вид политик:
- Определяет системные параметры виртуальной машины, такие как шаблон имени VM и шаблон имени хоста (hostname на уровне OS);
- Настройки DNS, такие как name servers и доменный суффикс;
- Настройки timezone для Linux OS;
- Выбор устанавливаемой операционной системы и многие другие (см. документ Cisco UCS Director Administration Guide, Release 4.1).
Для создания политики в интерфейсе UCSD переходим на закладку Policies -> Service Delivery -> VMWare System Policy
Настроек в этом разделе немного:
Policy name | CentOS_vm_computing |
---|---|
VM name template | vm-${USER_NAME} |
Power on after deploy | Checkbox enable |
Host name template | testvm1 |
DNS domain | Test.local |
Linux time zone | Europe/Moscow |
VM Image Type | Linux only |
На этом настройки политик закончены, все необходимые политики созданы. Далее мы должны объединить все наши политики в группу и опубликовать наш шаблон (приложение) на портале самообслуживания.
Создание vDC
В терминологии UCSD vDC – это объект в рамках которого сгруппирован некий набор виртуальных ресурсов, образов виртуальных машин (templates) и политик. vDC дает возможность предоставлять управление строго определенным набором ресурсов на уровне групп пользователей или организаций, созданных в UCSD.
Используя vDC, мы можем:
- Предоставлять возможность управления наборами ресурсов организациям или группам;
- Задавать квоты на ресурсы для организаций или групп;
- Определять набор действий, разрешенных конечному пользователю в отношении виртуальных машин, ассоциированных с vDC;
- Определять политику, которая будет выполнять набор действий описанных с помощью WorkFlow, после создания конечным пользователем виртуальной машин;
- Определять набор предопределенных действий (на базе штатных workflow), которые пользователь может производить с виртуальной машиной в заданном vDC;
- Задавать требования для апрува запросов на выделение ресурсов и определять пользователей, ответственных за апрув запросов на уровне vDC.
Для создания политики в интерфейсе UCSD переходим на закладку Policies -> Virtual Data Centers -> vDC:
В нашем случае мы определили следующие настройки:
vDC Name | vDC_cust1 |
---|---|
Group | Cust1 |
Cloud name | IT-GRAD-TEST |
Policies | |
System policy | CentOS_vm_system |
Computing policy | CentOS_vm_computing |
Network policy | CentOS_vm_network |
Storage policy | CentOS_vm_storage |
End User self-service options | |
Vm power management | checkbox enable |
VM snapshot management | checkbox enable |
VM Network management | checkbox enable |
Итак, мы выполнили настройки vDC. Задание группы в настройках нашего vDC означает, что пользователи указанной группы получают доступ к ресурсам, сгруппированным для нашего vDC.
Также мы дали возможность нашим пользователям управлять состоянием (вкл/выкл), управлять снапшотами и сетевыми настройками для виртуальных машин, ассоциированных с vDC.
Создание каталога (Catalog)
Мы постепенно приближаемся к финалу наших работ и на заключительном этапе нам необходимо создать каталог. Что же это такое?
Catalog – это объект, на базе которого пользователь на портале самообслуживания сможет сформировать запрос на создание виртуальной машины (и не только это конечно же, но мы разбираем частный случай). Другими словами – это интерфейс предоставления определенной услуги или набора услуг для конечного потребителя.
Каталоги в UCSD могут быть четырех типов (детали вы можете узнать в документе Cisco UCS Director Administration Guide, Release 4.1). В нашем случае мы будем использовать каталог типа Standard, который предназначен как раз для хранения шаблонов виртуальных машин, предназначенных для создания готовых VM по запросу пользователя.
Для создания политики в интерфейсе UCSD переходим на закладку Policies -> Catalog:
Catalog name | CentOS_vm_Cust1 |
---|---|
Catalog type | Standard |
Catalog Icon | VM: CentOS Linux |
Selected groups | Cust1 |
Cloud Name | IT-GRAD-TEST |
VM Images | CentOS |
Category | Generic VM |
Specify OS | Linux – CentOS |
Собственно все необходимые нам настройки мы задаем на первых двух страницах формы создания каталога: Basic Information и Application Details. Остальные настройки я оставлю без изменения, если кто-то хочет узнать об этих настройках больше – велкам в неоднократно указанное мной руководство администратора UCSD.
После создания каталога он автоматически публикуется на портале самообслуживания и доступен членам той группы, которую мы выбрали.
Итак, мы закончили базовую часть наших настроек, получив в итоге vDC с набором политик и каталог с заданным шаблоном операционной системы. Что дальше?
Работа с Self-Service Portal
Пользователи и группы в UCSD
В первую очередь я опишу процедуру создания группы (надеюсь, всем понятно, что наша группа Cust1 была создана до момента создания vDC и каталога). Для этого переходим на вкладку Administration -> Users and Groups -> User Groups:
И запускаем форму создания новой группы:
Собственно создание группы не должно вызывать никаких сложностей. Самое интересное мы выполним после создания группы — мы зададим набор ограничений на ресурсы, которые могут быть использованы пользователями, входящими в нашу группу. Мы можем задать ограничения для:
- Virtual resources;
- Operating system resources;
- Physical resources.
Для того, чтобы задать лимиты необходимо выбрать нужную нам группу из списка уже созданных и запустить форму «Edit resource limits»
Не забываем включить чекбокс «Enable resource limits». Подробное описание всех настроек формы есть в документе «Cisco UCS Director Administration Guide, Release 4.1».
Теперь давайте создадим нашего пользователя, которому дадим доступ на портал самообслуживания. Для этого переходим на вкладку Administration -> Users and Groups -> Login Users
И добавим нового пользователя
Несколько комментариев:
- Тип пользователя Service End-User определяет для пользователя возможность заходить и использовать портал самообслуживания. Другими словами это встроенная роль, определяющая права доступа пользователя к набору ресурсов сервис-портала.
- Обратите внимание на группу, которую мы задаем для пользователя. Это та самая группа, которую мы указывали при создании vDC и каталога. Собственно за счет привязки нашего пользователя к нужной группе мы даем ему возможность пользоваться созданным нами каталогом (другими словами получать услугу).
Self-Service portal
И наконец то, ради чего мы делали все предыдущие настройки – портал самообслуживания. Доступ к порталу получить очень просто, для этого нужно всего лишь зайти по стандартной ссылке под пользователем enduser, которого мы создали.
На интерфейсе портала нам автоматически будет доступен созданный ранее каталог CentOS-vm_Cust1. Попробуем создать запрос на развертывание виртуальной машины. Для этого можно либо выбрать доступный каталог и нажать на «Create Request»
Либо просто щелкнуть дважды мышкой на нужном каталоге. В обоих случаях появится форма создания запроса:
Жмем Next
Здесь мы можем выбрать доступный нам vDC и время развертывания виртуальной машины (можно запланировать нужное нам время). Говорим, что хотим развернуть машину right now и жмем Next.
Я хочу получить виртуалку с 2-мя vCPU, 4-мя гигами оперативки и 16 Гб vHDD. Задаю нужные параметры, как показано на рисунке выше. И жму Next.
Кастомных workflow мы к нашему шаблону пока не привязали, поэтому просто жмем Next.
На этом создание запроса завершено, можно просмотреть сводку и нажать Submit
Статус Service Request’а
Безусловно нам будет интересно следить за ходом выполнения нашей заявки. На портале самообслуживания UCSD есть удобный интерфейс для просмотра статуса и логов выполнения запроса.
Нам нужно перейти на страницу портала, которая называется «Services» и выбрать нужный нам запрос из списка:
Для просмотра деталей либо кликаем два раза мышкой на нужный запрос, либо жмем «View Details»
Мы видим этапы выполнения запроса и их текущий статус. Что выполнено, что выполняется, какие результаты.
Все этапы нашего запроса выполнились успешно. Итог – новая виртуальная машина.
На этом я закончу рассказ о функционале UCSD в области «провижининга» виртуальных машин и портале самообслуживания. Спасибо тем, кто дочитал до конца, надеюсь, пост будет полезен для тех, кто начинает знакомиться с продуктом.
Автор: it_man