Ansible Dynamic Inventory
In this article:
Ansible Dynamic Inventory#
Для управления созданной в К2 Облаке инфраструктурой можно использовать динамический Ansible Inventory, агрегирующий доступные виртуальные машины по различным параметрам.
Установка и настройка#
Клонируйте репозиторий и установите зависимости:
git clone https://github.com/C2Devel/ansible
cd ansible
python3.6 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Для работы с Ansible Dynamic Inventory необходимо получить настройки для доступа по API. Сделать это можно в консоли управления облаком. Зайдите в настройки профиля и нажмите Получить настройки доступа к API.
Так как Ansible Dynamic Inventory использует конфигурацию AWS, то следует настроить AWS CLI по следующей инструкции.
Сконфигурировать файл contrib/inventory/ec2.ini
, указав информацию из настроек API:
aws_access_key_id = <YOUR_ACCESS_KEY>
aws_secret_access_key = <YOUR_SECRET_KEY>
Пример использования#
Для списка всех возможных агрегаций хостов следует использовать:
ansible-inventory --list -i contrib/inventory/ec2.py
При помощи полученной информации необходимо дополнить свои плейбуки, указав в hosts
нужное описание группы хостов:
Хосты в конкретной зоне доступности:
- hosts: ru-msk-comp1p
connection: local
gather_facts: false
tasks:
- name: Example
command: date
Хосты с определённым именем:
- hosts: tag_Name_web_server # Где имя — web_server
connection: local
gather_facts: false
tasks:
- name: Example
command: date