Управління віртуальними машинами за допомогою засобів API, Блог NetPoint
Новини, статті та посібники з адміністрування
Керування віртуальними машинами за допомогою засобів API

- Програмне керування виділенням та видаленням віртуальних машин (cloudmonkey);
- Автоматизоване керування конфігураціями віртуальних машин (ansible, vagrant).
У цій статті ми розглянемо як за допомогою системи віртуалізації Cloudstack можна створювати та видаляти віртуальні машини в автоматичному режимі за допомогою API.
Традиційно, хостинг-провайдери пропонують віртуальні машини на терміни від місяця, що узгоджується з традиційними телематичними послугами, проте суть хмарних послуг «доступність ресурсу тоді, коли він потрібен і звільнення відразу, як він більше не потрібний» у цій моделі не реалізується. Цей «хмарний» підхід принципово змінює модель обслуговування клієнтів, провокуючи використовувати засоби для горизонтального масштабування та знижувати рівень «жорсткої» зв'язності систем.
Мета
Представлені вище кроки 1-6 дозволяють реалізувати масштабовану обробку в різних областях, починаючи від розробки та складання ПЗ, закінчуючи високодоступними сервісами.Отже, почнемо з того, що розберемося як здійснювати виділення та видалення віртуальних машин за допомогою API Cloudstack. Cloudstack надає RESTful API, яке обробляє запити як у форматі AWS, так і у форматі вбудованого API. Ми використовуватимемо спеціальну утиліту Cloudmonkey, яка дозволяє взаємодіяти з API спрощено за допомогою інтерфейсу командного рядка. Для початку нам потрібно встановити Cloudmonkey. Ми будемо розглядати інсталяцію для OS Debian Linux.
Більше нам права суперкористувача не потрібні. Перше, що потрібно зробити, - налаштувати Cloudmonkey для взаємодії з сервером Cloudstack. Для цього необхідно скласти конфігураційний файл такого вигляду:
і зберегти його як
Команда sync визначає доступні дзвінки API Cloudstack. Власне, її висновок показує, що з'єднання з Cloudstack пройшло успішно. Тепер розберемося як створити віртуальну машину із шаблону. У цьому прикладі буде використаний представлений шаблонdebian7-x64-10GB-lvm-passwd-UA. Для створення віртуальної машини нам знадобиться наступні дані:
- GUID шаблон;
- GUID пропозиції;
- GUID зони.
Дізнаємося GUID шаблону:
Дізнаємось GUID зони, в якій буде розміщуватися VM (у нас в даний час одна зона):
Тепер дізнаємося GUID обчислювальної пропозиції, наприклад,vm.large.sh :
Тепер у нас є всі необхідні дані для створення VM:
Все, створена віртуальна машина, тепер для створення VM типу (Debian7 x64/4C/4GB/10GB) ви можете просто використовувати команду deploy:
Все, створена віртуальна машина, тепер для створення VM типу (Debian7 x64/4C/4GB/10GB) ви можете просто використовувати команду deploy і створити стільки VM, скільки Вамнеобхідно. До речі, у команді deploy можна вказати ще параметр name. Зверніть увагу, що у відповіді системи є такі дані якipaddress,password, які містять IP та пароль для root до VM (у даному випадку наш шаблон включає засоби інтеграції та пароль встановлюється у віртуальну машину панеллю Cloudstack). Друга частина процесу (крок 6) – видалення VM. Виконується воно досить просто:
Отримали ідентифікатори VM, можна видаляти:
Все, на цьому віртуальну машину видалено. У наступній частині ми розберемося з тим, як взаємодіяти з новоствореною VM за допомогою SSH та ключів PKI.