Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ansible-GCP动态库存和;标签_Ansible_Google Cloud Platform - Fatal编程技术网

Ansible-GCP动态库存和;标签

Ansible-GCP动态库存和;标签,ansible,google-cloud-platform,Ansible,Google Cloud Platform,我刚刚开始使用ansible,并已成功配置ansible以从GCP获取动态库存 我能够针对所有实例成功运行ping模块: ansible -i ~/git/ansible/inventory all -m ping 我还能够根据主机名在单个实例上成功运行ping模块: ansible -i ~/git/ansible/inventory instance-2 -m ping 现在,我想利用标记对实例进行分组。例如,我有一组标记为“env:dev”的实例 我尝试了以下命令的多种变体,但没有成

我刚刚开始使用ansible,并已成功配置ansible以从GCP获取动态库存

我能够针对所有实例成功运行ping模块:

ansible -i ~/git/ansible/inventory all -m ping
我还能够根据主机名在单个实例上成功运行ping模块:

ansible -i ~/git/ansible/inventory instance-2 -m ping
现在,我想利用标记对实例进行分组。例如,我有一组标记为“env:dev”的实例

我尝试了以下命令的多种变体,但没有成功

ansible -i ~/git/ansible/inventory tag_env:dev -m ping

如何在GCP上筛选和分组我的动态资源清册?

因此,您需要在实例设置中添加网络标签,而不是标签我不知道为什么,但gce.py不返回GCP标签,因此您只能使用有限的网络标签(我的意思是不是key=value,而是value) 例如,只添加网络标记“dev”,然后运行
ansible-i~/git/ansible/inventory-tag\u dev-m ping
此外,若你们需要过滤几个标签的唯一方式,我发现它的

- name: test stuff   
  hosts: tag_api:&tag_{{ environment }}   
  var_files:
    vars/{{ environment }}
    vars/api

  tasks:
    - name: test
      command: echo "test"
像这样运行playbook
ansible playbook-i inventory/-u user playbook/test.yml-e environment=dev

也许有人知道更好的方法,使用
aws ec2.py
我可以在
ec2.ini
config中过滤,但
gce.py
非常有限 我还注意到,有时需要清除cache
gce.py——刷新cache