peopledoc.boot-lxc
Эта роль создает любой инвентарный хост, который заканчивается на .lxc
и настраивает его для ansible: устанавливает python, добавляет ваш SSH-ключ для root.
Обратите внимание, что вам нужно правильно настроить lxc
, dnsmasq
и sudo
. Также необходимо установить lxc-python2
(который требует lxc-dev
) в вашей ansible-среде. Это означает, что вы можете создать контейнер с доступом в интернет и разрешить его по имени name.lxc
. Один из способов настройки - использовать novafloss/ansible-setup <https://github.com/novafloss/ansible-setup>
_.
Рассмотрим следующий пример инвентаря::
[flow]
flow.lxc lxc_template_options='-r wheezy'
[rabbitmq]
rabbitmq.lxc
[redis]
redis.lxc
А вот пример плейбука::
---
- hosts: localhost
become: true
become_user: root
roles:
- novafloss.boot-lxc
- hosts: redis
roles:
- geerlingguy.redis
- hosts: rabbitmq
roles:
- alexey.rabbitmq
Сначала novafloss.boot-lxc запустит контейнеры и создаст их, если они не существуют, затем плейбуки будут выполняться обычным образом на хостах контейнеров rabbitmq и redis.
ansible-galaxy install peopledoc.boot-lxc