Документация Ansible
О Ansible
Ansible — инструмент автоматизации задач ИТ. Он может настраивать системы, развертывать программное обеспечение и организовывать более сложные задачи ИТ, такие как непрерывные развертывания или плавные обновления без простоев.
Основные цели Ansible — простота и удобство использования. Он также уделяет большое внимание безопасности и надёжности, используя минимальное количество компонентов, OpenSSH для транспортировки (с другими способами транспортировки и режимами выгрузки как альтернативами), и язык, разработанный с учётом возможности аудита человеком — даже тем, кто не знаком с программой.
Мы считаем, что простота важна для всех типов сред, поэтому мы разрабатываем Ansible для занятых пользователей всех типов: разработчиков, системных администраторов, инженеров по выпуску, ИТ-менеджеров и всех, кто находится между ними. Ansible подходит для управления всеми средами, от небольших установок с несколькими экземплярами до корпоративных сред с тысячами экземпляров.
Ansible управляет машинами без агентов. Вопрос о том, как обновить удалённые демоны или проблема невозможности управления системами из-за удаления демонов, никогда не возникает. Поскольку OpenSSH является одним из наиболее проверенных компонентов с открытым исходным кодом, воздействие уязвимостей существенно снижается. Ansible децентрализован — он использует ваши существующие учётные данные ОС для контроля доступа к удалённым машинам. При необходимости Ansible может легко подключаться к Kerberos, LDAP и другим централизованным системам управления аутентификацией.
Эта документация охватывает текущую релизную версию Ansible (2.5) и некоторые функции версий разработки. Для новых функций в каждом разделе указывается версия Ansible, в которой функция была добавлена.
Ansible выпускает новую основную версию примерно каждые два месяца. Ядро приложения развивается относительно консервативно, уделяя большое внимание простоте языка и настройке. Однако сообщество, связанное с разработкой и внесением вклада новых модулей и плагинов, развивается очень быстро, добавляя множество новых модулей в каждом выпуске.
Установка, обновление и настройка
Использование Ansible
-
Руководство пользователя
- Быстрый старт Ansible
- Начало работы
- Работа с инструментами командной строки
- Введение в ад-хок команды
- Работа со списком хостов
- Работа с динамическим списком хостов
- Работа с плейбуками
- Понимание повышения привилегий
- Ansible Vault
- Работа с шаблонами
- Работа с модулями
- Работа с плагинами
- Поддержка BSD
- Руководства по Windows
Вклад в Ansible
Расширение Ansible
-
Руководство разработчика
- Архитектура Ansible
- Разработка модулей
- Архитектура модулей Ansible
- Приложение: Модульные утилиты
- Разработка плагинов
- Разработка динамических источников списка хостов
- Разработка ядра Ansible
- Ansible и Python 3
- Python API
- Перебазирование запроса на включение
- Тестирование Ansible
- Объединение репозиториев
- Выпуск и поддержка
- Руководство для коммитеров (для людей с правами коммита на Ansible на GitHub)
- Руководство по стилю Ansible
Сценарии
- Руководство по Cisco ACI
- Руководство по Amazon Web Services
- Руководство по Microsoft Azure
- Руководство по CloudStack
- Начало работы с Docker
- Руководство по Google Cloud Platform
- Использование Ansible с хостом Packet
- Руководство по Rackspace Cloud
- Непрерывная доставка и постепенные обновления
- Использование Vagrant и Ansible
Ansible для VMWare
-
Ansible для VMware
- Введение в Ansible для VMware
- Концепции Ansible для VMware
- Предварительные условия для VMware
- Начало работы с Ansible для VMware
- Сценарии использования Ansible для VMware
- Руководство по модулям Ansible VMware
- Устранение неполадок Ansible для VMware
- Список полезных ссылок на VMware
- Вопросы и ответы по Ansible VMware
Ansible для автоматизации сетей
Справочник и приложения
-
Индекс модулей
- Все модули
- Модули облачных сервисов
- Модули кластеризации
- Модули команд
- Модули шифрования
- Базовые модули
- Модули файлов
- Модули идентификации
- Инвентаризационные модули
- Модули обмена сообщениями
- Модули мониторинга
- Модули сетевых инструментов
- Сетевые модули
- Модули уведомлений
- Модули упаковки
- Модули удалённого управления
- Модули управления исходным кодом
- Модули хранения
- Системные модули
- Модули утилит
- Модули веб-инфраструктуры
- Модули Windows
- Ключевые слова Playbook
- Ansible Galaxy
- Значения возврата
- Настройки конфигурации Ansible
- Синтаксис YAML
- Поддержка Python 3
- Выпуск и техническое обслуживание
- Стратегии тестирования
-
Тесты работоспособности
- ansible-doc
- azure-requirements
- шаблон
- журнал изменений
- компиляция
- настройка удаленного доступа (ps1)
- пустой init
- импорт
- псевдонимы интеграции
- конечные символы строк
- без assert
- без basestring
- без dict-iteritems
- без dict-iterkeys
- без dict-itervalues
- без get-exception
- без недопустимых имён файлов
- без умных кавычек
- без тестов как фильтров
- без переменных с нижним подчёркиванием
- без unicode_literals
- PEP 8
- pslint
- pylint
- замена urlopen
- обязательные и значения по умолчанию атрибутов
- rstcheck
- sanity-docs
- shebang
- shellcheck
- символические ссылки
- ограничения тестов
- использование argspec-type-path
- использование compat-six
- валидация модулей
- yamllint
-
Часто задаваемые вопросы
- Как задать переменную среды PATH или любую другую переменную среды для задачи или всего плейбука?
- Как обрабатывать разные машины, которым требуются разные учетные записи пользователей или порты для входа?
- Как настроить Ansible для повторного использования подключений, включения Kerberized SSH или учета файла конфигурации SSH моего локального компьютера?
- Как настроить хост-прокси для доступа к серверам, к которым у меня нет прямого доступа?
- Как ускорить управление внутри EC2?
- Как обработать ситуацию, когда на удаленной машине отсутствует интерпретатор Python по адресу /usr/bin/python?
- Общие проблемы с платформами
- Какой лучший способ сделать контент повторно используемым и перераспределяемым?
- Где находится файл конфигурации и что в нём можно настроить?
- Как отключить cowsay?
- Как посмотреть список всех переменных ansible_?
- Как увидеть все переменные инвентаризации, определённые для моего хоста?
- Как перебрать список хостов в группе внутри шаблона?
- Как получить доступ к имени переменной программно?
- Как получить доступ к переменной первого хоста в группе?
- Как скопировать файлы рекурсивно на целевой хост?
- Как получить доступ к переменным среды оболочки?
- Как сгенерировать зашифрованные пароли для модуля пользователя?
- Ansible поддерживает нотацию точек и нотацию массивов для переменных. Какую нотацию использовать?
- Можно ли получить обучение по Ansible?
- Есть ли веб-интерфейс/API REST и т.д.?
- Как отправить изменение в документацию?
- Как хранить конфиденциальные данные в плейбуке?
- Когда использовать {{ }}? Также, как интерполировать переменные или динамические имена переменных?
- Почему вы не поставляете в формате X?
- Я не вижу своего вопроса здесь
- Глоссарий
- Ansible Tower
Дорожные карты
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/index.html