我已经在我的 ansible 文件夹中设置了混合(静态和动态 aws)库存。
$ ls inventory/
ec2.ini
ec2.py
inventory.yml
其配置如下:
$ grep 'inventory' ansible.cfg
hostfile = ./inventory
inventory_ignore_extensions = .ini, .pyc, .pyo, .retry
我的静态库存有通过ini-style
指令分组的主机。例如:
[webservers]
host1.domain.tld
host2.domain.tld
host3.domain.tld
[database]
host4.domain.tld
host5.domain.tld
host6.domain.tld
如何在动态清单中对主机进行分组?
答案1
当使用dynamic inventory
Ansible 主机时,可以通过tags
如下方式进行分组和寻址:
---
- hosts: tag_Ansible_Slave
user: ec2-user
become: True
tasks:
- name: Update all packages to latest
yum: name=* state=latest
模式可以用来根据 ec2 标签的组合、交集等定义主机,如下所示:tag_webservers:&tag_Ansible_Slave
可以使用 Ansible 设置标签ec2 模块instance_tags
在AWS中初始化实例时使用该参数。
你可能想看看这个博客文章以获取进一步的指示。