Ansible 是一款基于 Python 开发的自动化运维工具,可以进行配置管理、批量部署等功能。对于机器较多的场景,可以使用 Ansible 来免去重复敲命令的烦恼。
- 安装ansibleyum -y install ansible配置文件路径/etc/ansible/ansible.cfg修改配置参数无需重启ansible修改参数:host_key_checking = False (不修改可能出现无法连接服务器的情况)提示:Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host's fingerprint to your known_hosts file to manage this host.
- 创建需要管理的服务器列表iplist默认的iplist为:/etc/ansible/hosts[group] 是组的别名,可以通过该组名对其下的所有机器进行控制每一行内容分别是:机器别名、机器 IP、ssh 访问时使用的用户名、ssh 访问时使用的端口、ssh 访问时使用的密码格式如下:[web]web_Server_0001 ansible_ssh_host=127.0.0.1 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass='passwd'web_Server_0002 ansible_ssh_host=127.0.0.1 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass='passwd'[db]db_Server_0001 ansible_ssh_host=127.0.0.1 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass='passwd'分别创建1组web服务器,1组db服务器,若密码有特殊字符,一定要使用单引号引起来,否则可能出现无法登陆服务器
- 日常脚本使用介绍eg:显示列表下所有服务器的hostnameansible all -i iplist -m shell -a "hostname"all 代表所有组,也可指定组名-i 指定iplist文件-m 指定运行模块名称,如shell-a 模块下可调用的命令eg:给列表下服务器安装程序ansible all -i iplist -m yum -a "name=vim"命令可嵌套,可使用管道符eg:使用ansible分发文件ansible all -i iplist -m copy -a "src=/home/file dest=/home/"