这可能很明显,但是如何针对Ansible中的一组服务器执行操作(这与EC2插件有关)?Ansible EC2 - 对一组实例执行操作
我可以创建实例:
---
- hosts: 127.0.0.1
connection: local
- name: Launch instances
local_action:
module: ec2
region: us-west-1
group: cassandra
keypair: cassandra
instance_type: t2.micro
image: ami-4b6f650e
count: 1
wait: yes
register: cass_ec2
,我还可以把实例插入标签:
- name: Add tag to instances
local_action: ec2_tag resource={{ item.id }} region=us-west-1 state=present
with_items: cass_ec2.instances
args:
tags:
Name: cassandra
现在,让我们说,我想给每个服务器上运行的操作:
# This does not work - It runs the command on localhost
- name: TEST - touch file
file: path=/test.txt state=touch
with_items: cass_ec2.instances
如何针对刚创建的远程实例运行命令?
哇,大的谢谢,谢谢。顺便说一句,你如何设置tag_mode? – mtyson 2014-12-06 00:47:29
我个人在ec2模块操作期间执行此操作,但您也可以在ec2_tag操作期间执行此操作,只需在args/tags部分中添加另一个'key:value'对(如“模式:开发”) - 文档将其作为现在我看一个例子:http://docs.ansible.com/ec2_tag_module.html – PhillipHolmes 2014-12-08 16:37:16