Руководство по Vultr
Ansible предоставляет набор модулей для взаимодействия с облачной платформой Vultr.
Этот набор модулей образует фреймворк, который позволяет легко управлять и оркестрировать свою инфраструктуру на платформе Vultr.
Требования
На самом деле никаких технических требований нет; просто уже созданный аккаунт Vultr.
Настройка
Модули Vultr предлагают довольно гибкий способ настройки.
Настройка считывается в таком порядке:
- Переменные окружения (например,
VULTR_API_KEY,VULTR_API_TIMEOUT) - Файл, указанный переменной окружения
VULTR_API_CONFIG -
Файл
vultr.ini, расположенный в текущем рабочем каталоге $HOME/.vultr.ini
Файлы INI структурированы таким образом:
[default] key = MY_API_KEY timeout = 60 [personal_account] key = MY_PERSONAL_ACCOUNT_API_KEY timeout = 30
Если переменная окружения VULTR_API_ACCOUNT или параметр модуля api_account не указаны, модули будут искать секцию с именем “default”.
Авторизация
Перед использованием модулей Ansible для взаимодействия с Vultr вам потребуется API-ключ. Если у вас его ещё нет, войдите в Vultr, перейдите в «Аккаунт», затем в «API», включите API, и API-ключ должен отобразиться.
Убедитесь, что вы разрешили использование API-ключа с правильных IP-адресов.
Обратитесь к разделу «Настройка», чтобы узнать, где разместить эту информацию.
Для проверки правильности работы выполните следующую команду:
#> VULTR_API_KEY=XXX ansible -m vultr_account_facts localhost
localhost | SUCCESS => {
"ansible_facts": {
"vultr_account_facts": {
"balance": -8.9,
"last_payment_amount": -10.0,
"last_payment_date": "2018-07-21 11:34:46",
"pending_charges": 6.0
}
},
"changed": false,
"vultr_account_facts": {
"balance": -8.9,
"last_payment_amount": -10.0,
"last_payment_date": "2018-07-21 11:34:46",
"pending_charges": 6.0
},
"vultr_api": {
"api_account": "default",
"api_endpoint": "https://api.vultr.com",
"api_retries": 5,
"api_timeout": 60
}
}
Если отобразится аналогичный вывод, значит всё настроено правильно; в противном случае, пожалуйста, убедитесь, что правильно указан VULTR_API_KEY и что настройки доступа в Vultr > Аккаунт > API страницы корректны.
Использование
Поскольку Vultr предлагает публичный API, выполнение модуля для управления инфраструктурой на их платформе будет происходить на localhost. Это переводится как:
---
- hosts: localhost
tasks:
- name: Create a 10G volume
vultr_block_storage:
name: my_disk
size: 10
region: New Jersey
От этого момента пределы определяются только вашей креативностью. Убедитесь, что вы прочитали документацию по доступным модулям.
Динамический инвентарь
Ansible предоставляет плагин динамического инвентаря для Vultr. Процесс настройки точно такой же, как и для модулей.
Для его использования необходимо сначала включить его, указав следующее в файле ansible.cfg:
[inventory] enable_plugins=vultr
И предоставьте конфигурационный файл для использования с плагином, минимальный конфигурационный файл выглядит так:
--- plugin: vultr
Чтобы вывести список доступных хостов, можно просто выполнить:
#> ansible-inventory - i vultr.yml
Это позволяет, например, принять меры в отношении узлов, сгруппированных по расположению или имени ОС:
---
- hosts: Amsterdam
tasks:
- name: Rebooting the machine
shell: reboot
become: True
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/scenario_guides/guide_vultr.html