Ansible - 如何根据元数据定位GCE

时间:2015-04-18 23:06:12

标签: google-compute-engine ansible ansible-playbook

是否可以根据元数据变量和值将Ansogle定位到Google计算实例,例如,如果它们具有值为site1的网站名称的元数据变量,则将此playbook应用于标记为Web的项目服务器?

2 个答案:

答案 0 :(得分:5)

似乎有效。

tasks:
    - name: test siteprefix
     action: debug msg="This instance is mysite"
     #when: gce_machine_type == "n1-highcpu-4"
     when: gce_metadata.site == "mysite"

如果变量可能不存在则

 when: gce_metadata.site is defined and gce_metadata.site == "mysite"

答案 1 :(得分:1)

AdiFatLady已经提供了更简单的答案。为了完整起见,另一种选择是使用dynamic inventory。编写自己的动态库存脚本,并根据您自己的自定义过滤逻辑返回主机,作为编写Playbook的主机组的成员。