Разработка цифровых продуктов на современных технологиях и фреймворках.
Обсудить проект @YuraAndreev
Post #47
2.66K
Игра Сервера
Для управления конфигурациями на удаленных машинах мы используем Ansible. Чтобы начать его применять, достаточно:
1) установить Ansible на локальной машине;
2) открыть доступ по SSH-ключу на нужные хосты;
3) на декларативном языке в формате YAML описать задачи, которые необходимо выполнить на хостовых машинах.
В Ansible есть много модулей для установки ПО, выполнения консольных команд, управления пользователями, файловой системой и сетевой инфраструктурой. Также есть поддержка Docker для работы с образами, контейнерами и сервисами.
Рассмотрим пример, в котором необходимо установить инфраструктуру для web-окружения: nginx, Apache, PHP, MySQL. У нас имеются Docker-сервисы, описанные в docker-compose:
https://bitbucket.org/snippets/OlegChulakovStudio/Bez6q5
Напишем конфигурацию Ansible, которая позволит запустить эти сервисы на удаленных машинах.
Сначала сформируем задачи:
1) создать на удаленной машине директорию, в которую мы поместим наш файл
2) скопировать в эту директорию файл
3) запустить сервисы из
Получим такую конфигурацию:
https://bitbucket.org/snippets/OlegChulakovStudio/ke7KBb
Для ее запуска необходимо выполнить команду:
Для управления конфигурациями на удаленных машинах мы используем Ansible. Чтобы начать его применять, достаточно:
1) установить Ansible на локальной машине;
2) открыть доступ по SSH-ключу на нужные хосты;
3) на декларативном языке в формате YAML описать задачи, которые необходимо выполнить на хостовых машинах.
В Ansible есть много модулей для установки ПО, выполнения консольных команд, управления пользователями, файловой системой и сетевой инфраструктурой. Также есть поддержка Docker для работы с образами, контейнерами и сервисами.
Рассмотрим пример, в котором необходимо установить инфраструктуру для web-окружения: nginx, Apache, PHP, MySQL. У нас имеются Docker-сервисы, описанные в docker-compose:
https://bitbucket.org/snippets/OlegChulakovStudio/Bez6q5
Напишем конфигурацию Ansible, которая позволит запустить эти сервисы на удаленных машинах.
Сначала сформируем задачи:
1) создать на удаленной машине директорию, в которую мы поместим наш файл
docker-compose.yml;2) скопировать в эту директорию файл
docker-compose.yml;3) запустить сервисы из
docker-compose.Получим такую конфигурацию:
https://bitbucket.org/snippets/OlegChulakovStudio/ke7KBb
Для ее запуска необходимо выполнить команду:
ansible-playbook ./install.yml -i example.host.com