我使用ansible来管理GKE上的主机(Google Kubernetes Engine)。我使用gce.py获得了很好的动态库存。然后我使用group_by为每个集群创建组:
- group_by:
key: "{{gce_metadata['cluster-name']}}"
但我无法使用这些动态创建的群组--limit
这一事实严重阻碍了我的风格:
$ ansible-playbook -l mycluster playbook.yaml
ERROR! Specified hosts and/or --limit does not match any hosts
更酷的是能够使用group_by
组和ansible ad-hoc命令......
答案 0 :(得分:1)
作为一种解决方法,我正在修改gce.py#group_instances,添加此子句:
for entry in node.extra['metadata']['items']:
if entry['key'] == 'cluster-name':
clusters.add(entry['value'])
if entry['value'] in groups:
groups[entry['value']].append(name)
else:
groups[entry['value']] = [name]