, , . , , setup_docker.yml, restart_app_servers.yml restart_container.yml, -, . Docker, , .
:
- setup_docker.yml, , node ([ ] [app_servers]) ? , ( "*" ) .
Playbook. , , :
- hosts: all
user: {{ privileged_user }}
gather_facts: false
roles:
- install_docker
install_docker - :
- name: Add docker apt keys
apt_key: keyserver=keyserver.ubuntu.com id=36A1D7869245C8950F966E92D8576A8BA88D21E9
- name: update apt
apt_repository: repo='deb https://get.docker.com/ubuntu docker main' state=present
- name: Install docker
apt: pkg=lxc-docker update_cache=yes
- restart_app_servers.yml ? Ansible app_server?
, Docker , -?
( ). :
all_containers: [ 'container1', 'container2', 'container3',.. 'containern' ]
Play . Playbook:
- hosts: app_server
user: {{ privileged_user }}
gather_facts: false
roles:
- restart_app_servers
:
- name: restart app servers
docker:
name: {{ item }}
state: restarted
with_items: all_containers
- restart_container.yml, "" ( /) node ? Id - node .
, . Dynamic Inventory,
- hosts: Tag_name_{{ public_name }}
user: {{ privileged_user }}
gather_facts: false
roles:
- example
AWS. .
, , . , :
ansible-playbook -i $INVENTORY_FILE -e container_name=$CONTAINER_NAME restart_single_container_on_single_host.yml
:
- name: restart a specific container
docker:
name: {{ container_name }}
state: restarted