boot
.. предупреждение:: Эта роль устарела и заменена на ansible-boot-lxc.
Цель этой роли — запуск хостов из инвентаря, создавая их при необходимости. Она создаст или запустит любой хост, имя которого заканчивается на .lxc
.
Обратите внимание, что вам нужно, чтобы lxc
, dnsmasq
и sudo
были правильно настроены. А также, чтобы в вашем окружении ansible был установлен lxc-python2
(который требует установки lxc-dev
). Это значит, что вы можете создать контейнер с доступом в интернет и что вы сможете разрешать его по имени name.lxc
.
Рассмотрим следующий пример инвентаря::
[flow]
flow.lxc lxc_template_options='-r wheezy'
[rabbitmq]
rabbitmq.lxc
[redis]
redis.lxc
А также плейбук, который выглядит так::
---
- hosts: localhost
become: true
become_user: root
become_method: sudo
roles:
- pdoc.boot
- hosts: redis
roles:
- geerlingguy.redis
- hosts: rabbitmq
roles:
- alexey.rabbitmq
Сначала pdoc.boot запустит контейнеры и создаст их, если они не существуют, затем плейбуки будут выполняться обычно на контейнерах rabbitmq и redis.
Обратите внимание, что это добавит к вашему ssh_config::
Host *.lxc
# Нет необходимости в безопасности для временных тестовых контейнеров
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
User root
ansible-galaxy install peopledoc/ansible-role-boot