Рецепти від CHEFa: автоматизоване розгортання середовищ бізнес-додатків з використанням HPE OneView

Інформаційні технології стають невід'ємною частиною продуктів і послуг нового стилю IT, в якому бізнес очікує отримати потрібні ресурси під нові додатки майже миттєво. IT ресурси, в парадигмі нових вимог з боку сучасних додатків, повинні автоматично виділятися, використовуватися, повертатися і повторно використовуватися із загального пулу вузлів обчислень, зберігання, і мережі.


Така інфраструктура може мати різні типи апаратних платформ, абстраговані під єдиною системою управління. Цей підхід називається «інфраструктура як код» (infrastructure-as-code). Бачення компанії Hewlett Packard Enterprise це рух до Composable (Компонент) Інфраструктурі — гнучкого пулу ресурсів, з якого, під управлінням менеджера HPE OneView з допомогою шаблонів і API, відбувається розгортання, обслуговування і контроль додатків.

Щоб реалізувати концепцію Composable Інфраструктури та автоматизувати розгортання середовищ для бізнес-додатків, HPE об'єднав свої напрацювання з відомим розробником ПЗ для управління конфігураціями програм CHEF Software.

CHEF (Шеф) — система управління конфігураціями, написана на Ruby і Erlang, з використанням предметно-орієнтованої мови для описи конфігурацій. Використовується для спрощення завдань настройки і підтримки безлічі серверів і може інтегруватися в хмарні платформи для автоматизації управління поточними і автоматизації процесу налаштування нових серверів.

Користувач CHEF створює певні «рецепти» з описом того, як керувати серверними додатками (наприклад, Apache, MySQL або Hadoop) та їх налаштувань.

«Рецепт» — це опис стану ресурсів системи, в якому вона повинна знаходитися в конкретний момент часу, включаючи встановлені пакети, запущені служби, створені файли. CHEF перевіряє, що кожен з ресурсів системи налаштований правильно і намагається виправити стан ресурсу, якщо воно не відповідає очікуваному.

«Рецепти» використовуються як для керування Linux-вузлами, так і Windows (в останніх релізах)

Драйвер розгортання CHEF для HPE OneView, дозволяє IT адміністраторам використовувати «рецепти» CHEF, щоб автоматизувати процес фізичного розгортання як фізичного середовища, включаючи сервери, мережеві з'єднання, зберігання, так і розгортання операційних систем і додатків. Така інтеграція збільшує швидкість віддачі для бізнесу і підвищує надійність розгортання, завдяки автоматизації всіх кроків.


Рис.1 — Схема взаємодії драйвера CHEF з HPE OneView
Щоб створити швидку і ефективну IT інфраструктуру організація повинна трансформувати традиційні фізичні системи в гнучкі пули фізичних і віртуальних ресурсів.

Принаймні такої трансформації організація часто стикається зі складнощами в автоматизації розгортання «bare metal» фізичного обладнання. Розгортання завжди складний процес. Він вимагає установки і підготовки апаратного забезпечення, зв'язків, ОС і стека додатків на підходящому для цього завдання обладнанні. Ці процеси часто потребують ручного управління і моніторингу, що займає багато часу і може призводити до появи помилок.

Ось тут і з'являється ідея Composable інфраструктури. У такій інфраструктурі є гнучкий пул обчислювачів, зберігання та мережі, ресурси в ньому виділяються, збільшуються, зменшуються, повторно використовуються динамічно, використовуючи програмно-визначений підхід. У портфелі рішень Hewlett Packard Enterprise всі продукти серверів, систем зберігання і мереж передачі даних спеціально розроблялися для вбудовування в таку програмно-визначається інфраструктуру.

Наприклад, кожен сервер оснащений чіпом iLO, що дозволяє без установки агентів в ОС збирати стан всіх апаратних компонент і налаштувати взаємодія з сервером. Системи зберігання і мережеві пристрої в портфелі рішень Hewlett Packard Enterprise розуміють відкритий стандарт API RESTful. Залишалося створити продукт, який був би здатний об'єднати всі напрацювання в апаратній частині портфеля і створити повноцінний оркестратор, який зможе керувати всією інфраструктурою Цод. Таким продуктів став OneView, випущений в жовтні 2013 року.

HPE OneView

Рис.2 — Навколишнє середовище HPE OneView
HPE OneView — програмний продукт повного циклу управління сучасного ЦОД: використовує коннектори для управління мережею, серверами і системами зберігання, побудованих на продукти Hewlett Packard Enterprise, Brocade, деякими комутаторами Cisco, інтегрується в усі відомі гипервизоры і може звертатися до них для розгортання віртуальних середовищ.

Поставляється у вигляді образу віртуальної машини Vmware або Hyper-v і може бути встановлений на будь-якому обладнанні з підтримкою цих гіпервізора. HPE OneView має зрозумілий і простий в освоєнні інтерфейс, який можна адаптувати під певні групи адміністраторів, додаючи або прибираючи компоненти графічної консолі. Крім цього, HPE OneView може інтегруватися з інфраструктурою Цод — UPS, PDU (Schneider Electric, Moeller та ін), стійками, дозволяючи отримати тривимірну картину того, що відбувається в серверних залах і управляти переміщенням додатків або віртуальних машин, грунтуючись на отриманих даних.


Рис.3 — Температурна карта ЦОД в OneView
Адміністратор може побудувати карту взаємодії пристроїв в інтерфейсі OneView:


Рис.4 — Зв'язки елементів серверної архітектури
HPE OneView цілком замінює 5 попередніх продуктів серверної управління інфраструктурою: HP SIM, Insight Control, Onboard Administrator, VCM, HPSUM.

У версії 2.0 HPE OneView розширив свої можливості — з'явився функціонал міграції профілів (налаштувань IP, WWN, MAC адреси та інших параметрів сервера з одного блейд-відсіку на інший, як між відсіками з однаковими блейд-серверів (ті ж типи процесорів, пам'яті, мережевих адаптерів), так і між відсіками з різними поколіннями блейд-серверів з різними поколіннями CPU, типом LAN і FC адаптерів. Причому, така міграція можлива тепер не тільки в рамках однієї блейд-кошика, але і між декількома.


Рис.5 — Нові можливості по міграції профілів в OneView 2.0
HPE OneView дозволяє адміністраторам використовувати шаблони і профілі для реалізації на своєму підприємстві ідеї програмно-визначається архітектури або інфраструктури-як-код (infrastructure-as-code).

Шаблони, що поставляються разом з OneView, можуть легко адаптовані і змінені під різні програми та виходячи із специфіки обладнання в кожному конкретному випадку.

Ці шаблони рекомендується використовувати в підході DevOps тому, що вони зменшують час розгортання інфраструктури для розробників і усувають неузгодженість між представниками департаменту IT, дозволяючи за лічені хвилини почати тестувати програми.

Кроки розгортання
Для того, щоб показати можливість автоматизованого розгортання додатків «з нуля», використовуючи можливості OneView і CHEF необхідно виконати кілька кроків.

Розгортання фізичного сервера, використовуючи HPE OneView

Для цього заходимо в консоль HPE OneView — Server Profiles — Create Profile. І отримуємо приблизно таке вікно:


Рис.6 — Створення профілю в OneView
У цьому сценарії ім'я профілю задається «Web Server Template», заповнюються параметри блейд-кошики, блейд-сервера, мережевих підключень, ґрунтуючись на конкретних моделях устаткування у вашому Цоді.

Натискаємо «Create» і зберігаємо профіль. Далі потрібно встановити драйвер інтеграції CHEF і OneView.

Розгортання ОС, використовуючи шаблон в OneView
Завантажуємо скрипт «chef-settings-Linux» з сайту GitHub. Міняємо в скрипті наступні значення:

CHEF_PROXYSERVER: the proxy server address 
YUM_REPOSITORY_INFO: the yum repository information 
CHEF_CERT: the SSH certificate information to be copied into the authorization files 
LOGIN_DISABLED: should be set to YES/yes to disable user login and NO/no if LOGIN using username/password should not be disabled
Цей скрипт необхідно вбудувати в пакет розгортання ОС — OS Build Plan. Докладніше про створення OS Build Plan тут і тут.

Конфігурація стека додатки, використовуючи Cookbook (куховарська книга) CHEF
Далі створюємо куховарську книгу і рецепт в CHEF. Який головний інструмент шеф-кухаря? Ніж!
Перший файл рецепта матиме таку ж назву, знаходимо його https://github.com/HewlettPackard/chef-provisioning-oneview#prerequisites і заповнюємо всі параметри вашого оточення.

Наступним кроком ми створюємо сам рецепт, замінюючи параметри наведеного нижче коду на актуальні для вашого оточення:

require 'chef/provisioning'
with_driver 'oneview'
with_chef_server "<a href="https://my-chef.my-domain.com/organizations/my-org">https://my-chef.my-domain.com/organizations/my-org</a>",
:create_webdir_failed => Chef::Config[:node_name],
:signing_key_filename => Chef::Config[:client_key]
machine 'web01' do
recipe 'my_server_cookbook::default'
machine_options :driver_options => {
:server_template => 'Web Server Template',
:os_build => 'CHEF-RHEL-6.5-x64',
:host_name => 'chef-web01',
:ip_address => 'xx.xx.xx.xx',
:domainType => 'workgroup',
:domainName => 'sub.domain.com',
:mask => '255.255.255.0',
:dhcp => false,
:gateway => 'xx.xx.xx.1',
:dns => 'xx.xx.xx.xx xx.xx.xx.xx xx.xx.xx.xx',
:connections => {
#1 => { ... } (Reserved for PXE on our setup)
2 => {
:ip4Address => 'xx.xx.xx.xx',
:mask => '255.255.254.0', # Optional
:dhcp => false
:gateway => 'xx.xx.xx.1' # Optional
:dns => 'xx.xx.xx.xx' # Optional
}
},
:custom_attributes => {
:chefCert => 'ssh-rsa AA...' # Optional
}
},
:transport_options => {
:user => 'root', # Optional. Defaults to 'root'
:ssh_options => {
:password => Chef::Config.knife[:node_root_password]
}
},
:convergence_options => {
:ssl_verify_mode => :verify_none, # Optional
:bootstrap_proxy => '<a href="http://proxy.domain.com:8080/">http://proxy.domain.com:8080</a>' # Optional
}
chef_environment '_default'
converge true
end
Развертываем! Тепер, коли все готово, приступаємо до фінальної частини. CHEF буде використовувати створений рецепт і разом з драйвером OneView буде проведено повне розгортання web-сервера «з нуля».

В консолі CHEF потрібно встати на директорію, що містить рецепт і виконати команду:

$ bundle exec chef-client -z путь_к_рецепту.rb

Заглянемо в консоль OneView і подивимося, як відбувається розгортання нашого додатка:


Рис.7 — Тихо, йде розгортання!
Коли розгортання завершено — перевіримо, що всі компоненти встановлені і налаштовані правильно:


Рис.8 — Перевіряємо параметри
Тепер перемикаємося в консоль CHEF і перевіряємо, що сайт дійсно створений з використанням рецепта CHEF:


Рис.9 — CHEF теж знає про сайт
Також перевіряємо, що сервера присвоєно серійний номер, на ньому налаштований Apache і піднято Apache Webserver, скільки потрібно часу і які були зроблені кроки:


Рис.10 — Більшість компонент проинициализированы за секунди!
Те, що цей сервер зараз видно в консолі означає, що він правильно налаштований і посилає інформацію про себе. Настав час переконатися, що програма дійсно працює, для цього звертаємося до Webserver в браузері:


Рис.11 — Webserver живий і готовий працювати!
Механіка розгортання в HPE OneView складається з 5 кроків:

1. Ми вибираємо сумісний серверне обладнання з пулу доступних серверів, керованих HPE OneView, використовуючи пошук HPE OneView REST API.

2. Створюємо новий шаблон профілю сервера, використовуючи HPE OneView REST API і призначаємо:

      A. Версію прошивки BIOS, конфігурацію локального сховища: HPE OneView використовує вбудований HP Intelligent Provisioning (IP), оточення Linux для PXE boot, яке вже вбудовано в iLO baseboard management card (BMC) процесор, SmartStart.

      B. Мережеві підключення: HPE OneView використовує мережеву платформу virtual connect для динамічного подання мережних підключень для серверів з пулу мережевих підключень.

      C. Мережа SAN: HPE OneView автоматизує подання мережі SAN для сховища HPE 3PAR і для комутаторів Fibre Channel, включаючи Brocade, Cisco і HPE Networking.

3. Розгортається обрана ОС як тільки надання фізичних ресурсів закінчено:

      A. Серверний профіль налаштований на завантаження інсталяційного образу по мережі.

      B. Сервер включається і починається завантаження PXE boot.

      C. Драйвер OneView запускає установку ОС, використовуючи HPE OneView REST API (Insight Control server provisioning).

4. Задаються параметри мережі

      A. IP адреси підмережі, ім'я хостів, і т. д. для різних мережевих адаптерів і віртуальних мережевих адаптерів, дозволяючи створювати складні мережеві конфігурації.

5. CHEF розгортає стек додатків поверх розгорнутої ОС

      A. Завантаження клієнта CHEF на сервер, після цього клієнт CHEF реєструється на сервері CHEF.

      B. Запуск клієнта CHEF на новому сервері, який підтягує необхідну «кулінарну книгу» з сервера CHEF і застосовує рецепт для конфігурації Web-сервера.

Відео процесу розгортання:



Як бачимо — використовуючи рецепти CHEF, спільно з апаратними та програмними продуктами Hewlett Packard Enterprise, можна отримати просту, відкриту і повністю автоматизовану інфраструктуру-як-код для розгортання додатків. Не бійтеся експериментувати, тільки так можна стати справжнім шефом IT кухні!

Для самостійного вивчення: ВанТуФріФо

Спасибі за увагу!

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.