Ansible 相关文件

less than 1 minute read

配置文件

  • /etc/ansible/ansible.cfg:主配置文件,配置 ansible 工作特性
  • /etc/ansible/hosts:主机清单文件
  • /etc/ansible/roles:存放角色的目录

Ansible 主配置文件

Ansible 主配置文件 /etc/ansible/ansible.cfg 的大部分配置内容无需修改

[defaults]
#inventory     = /etc/ansible/hosts      # 主机列表配置文件
#library       = /usr/share/my_modules/  # 库文件存放目录
#remote_tmp    = $HOME/.ansible/tmp      # 临时 py 命令文件存放在远程主机目录
#local_tmp     = $HOME/.ansible/tmp      # 本机的临时命令执行目录  
#forks         = 5                       # 默认并发数,同时可以执行5次
#sudo_user     = root                    # 默认 sudo 用户
#ask_sudo_pass = True                    # 每次执行 ansible 命令是否询问 ssh 密码
#ask_pass      = True                    # 每次执行 ansible 命令是否询问 ssh 口令
#remote_port   = 22                      # 远程主机的端口号(默认22)

# 建议优化项: 
host_key_checking = False               # 检查对应服务器的 host_key,建议取消注释
log_path=/var/log/ansible.log           # 日志文件,建议取消注释
module_name   = command                 # 默认模块,可修改为 shell 模块

inventory 主机清单

Ansible 的主要功用在于批量主机操作,为了便捷地使用其中的部分主机,可以在 inventory file 中将其分组命名;

默认的 inventory file 为 /etc/ansible/hosts

inventory file 可以有多个,且也可以通过 Dynamic Inventory 来动态生成。

主机清单文件格式:

inventory 文件遵循 INI 文件风格,中括号中的字符为组名,可以将同一个主机同时归并到多个不同的组中;

此外,当如若目标主机使用了非默认的 SSH 端口,还可以在主机名称之后使用冒号加端口号来标明;

如果主机名称遵循相似的命名模式,还可以使用列表的方式标识各主机。

ntp.magedu.com

[webservers]
www1.magedu.com:2222
www2.magedu.com
    
[dbservers]
db1.magedu.com
db2.magedu.com
db3.magedu.com

[websrvs]
www[1:100].example.com

[dbsrvs]
db-[a:f].example.com

[appsrvs]
10.0.0.[1:100]

Updated: