Документация Ansible
О Ansible
Ansible — это инструмент автоматизации ИТ-задач. Он позволяет настраивать системы, развёртывать программное обеспечение и организовывать более сложные ИТ-задачи, такие как непрерывные развёртывания или плавные обновления без простоев.
Основные цели Ansible — простота и удобство использования. Также упор делается на безопасность и надёжность, с минимальным количеством движущихся частей, использованием OpenSSH для транспорта (с другими способами и режимами pull в качестве альтернатив) и языком, разработанным с учётом возможности аудита человеком — даже тем, кто не знаком с программой.
Мы считаем, что простота важна для сред любого масштаба, поэтому мы разрабатываем Ansible для активных пользователей всех типов: разработчиков, системных администраторов, инженеров по выпуску, ИТ-менеджеров и всех остальных. Ansible подходит для управления всеми средами, от небольших установок с несколькими экземплярами до корпоративных сред с тысячами экземпляров.
Ansible управляет машинами без агентов. Не возникает вопросов об обновлении удалённых демонов или проблем с управлением системами из-за удаления демонов. Поскольку OpenSSH является одним из наиболее проверенных компонентов с открытым исходным кодом, риск уязвимостей значительно снижен. Ansible децентрализован — он использует ваши существующие учётные данные ОС для контроля доступа к удалённым машинам. При необходимости Ansible может легко подключаться к Kerberos, LDAP и другим централизованным системам управления аутентификацией.
Данная документация охватывает текущую релизованную версию Ansible (2.5) и некоторые функции версий в разработке. Для новых функций в каждом разделе указана версия Ansible, в которой эта функция была добавлена.
Ansible выпускает новую основную версию примерно каждые два месяца. Основное приложение развивается достаточно консервативно, уделяя большое внимание простоте в разработке языка и настройке. Однако сообщество, работающее над новыми модулями и плагинами, развивается очень быстро, добавляя множество новых модулей в каждом выпуске.
Установка, обновление и настройка
Использование Ansible
-
Руководство пользователя
- Быстрый старт Ansible
- Начало работы
- Работа с инструментами командной строки
- Введение в ад-хок команды
- Работа со списком хостов
- Работа с динамическим списком хостов
- Работа с плейбуками
- Понимание повышения привилегий
- Ansible Vault
- Работа с шаблонами
- Работа с модулями
- Работа с плагинами
- Поддержка BSD
- Руководства по работе с Windows
Создание сообщества Ansible
-
Руководство сообщества Ansible
- Кодекс поведения сообщества
- Процесс разработки Ansible
- Дорожные карты
- Запросы на включение изменений
- Ansibullbot
- Отчёт о ошибках и запросы новых функций
- Как помочь
- Руководство по поддержке модулей
- Менеджеры релизов
- Процесс выпуска
- Общение
- Лицензионное соглашение для участников
- Другие инструменты и программы
Расширение 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
- Начало работы с VMware
Ansible для автоматизации сети
Справочник и приложения
-
Индекс модулей
- Все модули
- Модули облачных сервисов
- Модули кластеризации
- Модули команд
- Криптографические модули
- Модули баз данных
- Модули работы с файлами
- Модули идентификации
- Модули инвентаризации
- Модули обмена сообщениями
- Модули мониторинга
- Модули сетевых утилит
- Модули сети
- Модули уведомлений
- Модули упаковки
- Модули удаленного управления
- Модули управления версиями
- Модули хранения
- Системные модули
- Модули утилит
- Модули веб-инфраструктуры
- Модули Windows
- Ключевые слова Playbook
- Ansible Galaxy
- Значения возврата
- Настройки конфигурации Ansible
- Синтаксис YAML
- Поддержка Python 3
- Выпуск и техническое обслуживание
- Стратегии тестирования
-
Тесты на корректность
- Тесты на корректность » ansible-doc
- Тесты на корректность » azure-requirements
- Тесты на корректность » boilerplate
- Тесты на корректность » compile
- Тесты на корректность » configure-remoting-ps1
- Тесты на корректность » empty-init
- Тесты на корректность » import
- Тесты на корректность » integration-aliases
- Тесты на корректность » line-endings
- Тесты на корректность » no-assert
- Тесты на корректность » no-basestring
- Тесты на корректность » no-dict-iteritems
- Тесты на корректность » no-dict-iterkeys
- Тесты на корректность » no-dict-itervalues
- Тесты на корректность » no-get-exception
- Тесты на корректность » no-illegal-filenames
- Тесты на корректность » no-smart-quotes
- Тесты на корректность » no-tests-as-filters
- Тесты на корректность » no-underscore-variable
- Тесты на корректность » no-unicode_literals
- Тесты на корректность » pep8
- Тесты на корректность » pslint
- Тесты на корректность » pylint
- Тесты на корректность » replace-urlopen
- Тесты на корректность » required-and-default-attributes
- Тесты на корректность » rstcheck
- Тесты на корректность » sanity-docs
- Тесты на корректность » shebang
- Тесты на корректность » shellcheck
- Тесты на корректность » symlinks
- Тесты на корректность » test-constraints
- Тесты на корректность » use-argspec-type-path
- Тесты на корректность » use-compat-six
- Тесты на корректность » validate-modules
- Тесты на корректность » yamllint
-
Часто задаваемые вопросы
- Как установить переменную среды PATH или любую другую переменную среды для задания или всего плейбука?
- Как обработать разные машины, требующие разные учетные записи пользователей или порты для входа?
- Как заставить Ansible повторно использовать подключения, включить Kerberized SSH или учитывать файл конфигурации SSH моего локального компьютера?
- Как настроить прокси-сервер для доступа к серверам, к которым у меня нет прямого доступа?
- Как ускорить управление внутри EC2?
- Как обработать случай, когда на удаленной машине отсутствует интерпретатор Python по адресу /usr/bin/python?
- Общие проблемы с платформами
- Какой лучший способ сделать контент повторно используемым и перераспределяемым?
- Где находится файл конфигурации и что в нем можно настроить?
- Как отключить cowsay?
- Как отобразить список всех переменных ansible_?
- Как отобразить все переменные инвентаризации, определенные для моего узла?
- Как выполнить цикл по списку узлов в группе внутри шаблона?
- Как получить доступ к имени переменной программно?
- Как получить доступ к переменной первого узла в группе?
- Как скопировать файлы рекурсивно на целевой узел?
- Как получить доступ к переменным среды оболочки?
- Как сгенерировать зашифрованные пароли для модуля пользователя?
- Ansible поддерживает точечную нотацию и нотацию массивов для переменных. Какую нотацию следует использовать?
- Могу ли я получить обучение по Ansible?
- Есть ли веб-интерфейс/REST API и т. д.?
- Как отправить изменение в документацию?
- Как хранить секретные данные в плейбуке?
- Когда следует использовать {{ }}? Также, как интерполировать переменные или динамические имена переменных
- Почему вы не поставляете в формате 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.5/index.html