基础框架说明
yum安装ansible完成后会在/etc下创建ansible目录,目录下有ansible的默认配置文件ansible.cfg,清单文件hosts,和roles目录(角色管理,暂且不描述)。
ansible基本配置文件
ansible清单文件
清单文件(inventory)
清单文件分为静态清单文件和动态清单文件两种,是用来记录被管理端的认真信息。
在配置文件中用inventory=文件名来定义清单文件(一般使用inventory或hosts)
动态主机清单可以由程序或脚本根据需要使用外部信息提供者生成。
静态清单上一个文本文件,它指定可以解析的目标管理主机,可以说ini风格也可以说yaml风格的文档,最简单的是ini风格的静态清单。
$ vim /etc/ansible/hosts
[picc-web]
picc-web01
picc-web02
[picc-db]
oracle01
oracle02
ansible建议使用免密登录的方式登录,当然也可以使用明文的方式登录,这样不是很安全。
在静态清单中也可以如下配置:
[Message queuing]
redis-01 ansible_ssh_user=ansible ansible_ssh_pass=xxx ansible_ssh_post=22
10.32.226.222 ansible_ssh_user=ansible ansible_ssh_pass=xxx ansible_ssh_post=22
定义子组清单
有时需要将几个组和起来进行某些维护,就可以用定义组清单来实现
[work:children]
picc-web
picc-db
免密配置
Ansible通过SSH或winRM管理远程服务器,建议配置免密登录。(ansible建议使用非root用户,但可以su到root权限的普通用户)
生成密钥
ssh-keygen
推送密钥
ssh-copy-id -i ~/.ssh/id_rsa.pub root@IP