Ansible
Что такое Ansible?
Ansible - это программный инструмент, обеспечивающий простую, но мощную автоматизацию кросс-платформенной поддержки компьютеров. Он предназначен в первую очередь для ИТ-специалистов, которые используют его для развертывания приложений, обновления рабочих станций и серверов, предоставления облачных сервисов, управления конфигурацией, оркестровки внутренних сервисов и почти всего, что системный администратор делает на еженедельной или ежедневной основе. Ansible не зависит от программного обеспечения агентов и не имеет дополнительной инфраструктуры безопасности, поэтому его легко развернуть.
Поскольку Ansible - это автоматизация, для выполнения каждого задания ему требуются инструкции. Если все записано в виде простых сценариев, легко осуществлять контроль версий. Практический результат этого - большой вклад в движение "инфраструктура как код" в ИТ: идея о том, что к обслуживанию серверной и клиентской инфраструктуры можно и нужно относиться так же, как к разработке программного обеспечения, с репозиториями самодокументирующихся, проверенных и исполняемых решений, способных обеспечить работу организации независимо от смены персонала.
Хотя Ansible может быть в авангарде автоматизации, системного администрирования и DevOps, он также полезен и для обычных пользователей. Ansible позволяет настраивать не только один компьютер, но и, возможно, целую сеть компьютеров одновременно, а его использование не требует навыков программирования. Инструкции, написанные для Ansible, являются человекочитаемыми. Неважно, новичок вы в компьютерной сфере или эксперт, файлы Ansible легко понять.
Как работает Ansible
В Ansible есть две категории компьютеров: управляющий узел и управляемые узлы. Управляющий узел - это компьютер, на котором запущен Ansible. Должен быть хотя бы один управляющий узел, хотя может существовать и резервный управляющий узел. Управляемый узел - это любое устройство, которым управляет управляющий узел.
Ansible работает, подключаясь к узлам (клиентам, серверам или тому, что вы настраиваете) в сети, а затем отправляя на этот узел небольшую программу, называемую модулем Ansible. Ansible выполняет эти модули по SSH и удаляет их по завершении. Единственное требование для такого взаимодействия - чтобы ваш узел управления Ansible имел доступ к управляемым узлам. Наиболее распространенным способом предоставления доступа являются SSH-ключи, но поддерживаются и другие формы аутентификации.