Какие утилиты Ansible ты знаешь?

«Какие утилиты Ansible ты знаешь?» — вопрос из категории Ansible, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Ansible есть несколько ключевых CLI-утилит, которые я регулярно использую в своей работе:

  • ansible — для выполнения ad-hoc команд на группах хостов из инвентаря. Например, чтобы проверить доступность всех серверов: ansible all -m ping.
  • ansible-playbook — основная утилита для запуска плейбуков (YAML-файлов с последовательностью задач).
  • ansible-vault — критически важна для безопасной работы. Шифрует конфиденциальные данные (пароли, ключи API) прямо в Git. Я использую её так:
    # Зашифровать файл
    ansible-vault encrypt group_vars/prod/secrets.yml
    # Запустить плейбук с запросом пароля
    ansible-playbook site.yml --ask-vault-pass
    # Или использовать файл с паролем
    ansible-playbook site.yml --vault-password-file ~/.vault_pass.txt
  • ansible-galaxy — для управления зависимостями. Устанавливает сторонние роли из Ansible Galaxy или из private Git-репозиториев: ansible-galaxy install geerlingguy.nginx.
  • ansible-pull — реже используемый pull-режим, когда серверы сами "вытягивают" конфигурацию из репозитория. Полезен для больших, динамичных инфраструктур.
  • ansible-console — интерактивная оболочка для быстрого тестирования задач и модулей.
  • ansible-doc — первое, к чему я обращаюсь, чтобы посмотреть документацию по модулю: ansible-doc copy.