Spec-Zone.ru › Ansible 2.7

Руководство по 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API