8 月 092018
1)生成SSH密钥对并复制公钥到远程受控主机
2)安装EPEL以安装Ansible软件包
[harveymei@oms ~]$ yum info ansible Loaded plugins: fastestmirror Determining fastest mirrors epel 12631/12631 Installed Packages Name Arch : noarch Version : 2.6.2 Release : 1.el7 Size : 52 M Repo : installed From repo : epel Summary : SSH-based configuration management, deployment, and task execution system URL : http://ansible.com License : GPLv3+ Description : Ansible is a radically simple model-driven configuration management, : multi-node deployment, and remote task execution system. Ansible works : over SSH and does not require any software or daemons to be installed : on remote nodes. Extension modules can be written in any language and : are transferred to managed machines automatically. [harveymei@oms ~]$
3)编辑主机配置文件
[root@oms ~]# vi /etc/ansible/hosts [fileserver] node01.linuxcache.com node02.linuxcache.com node03.linuxcache.com node03.linuxcache.com node05.linuxcache.com node06.linuxcache.com node07.linuxcache.com
4)使用Ansible在远程主机执行一条命令
[harveymei@oms ~]$ ansible fileserver --private-key=.ssh/id_ecdsa_ansible -m command -a uptime -u ops node01.linuxcache.com | SUCCESS | rc=0 >> 15:46:37 up 6 days, 23:33, 2 users, load average: 0.03, 0.04, 0.08 node02.linuxcache.com | SUCCESS | rc=0 >> 15:46:34 up 6 days, 23:27, 1 user, load average: 0.06, 0.03, 0.05 node03.linuxcache.com | SUCCESS | rc=0 >> 15:46:34 up 6 days, 23:28, 1 user, load average: 0.00, 0.01, 0.05 node04.linuxcache.com | SUCCESS | rc=0 >> 15:46:35 up 6 days, 23:23, 1 user, load average: 0.06, 0.03, 0.05 node05.linuxcache.com | SUCCESS | rc=0 >> 15:46:42 up 6 days, 23:29, 1 user, load average: 0.00, 0.05, 0.07 node06.linuxcache.com | SUCCESS | rc=0 >> 15:46:37 up 6 days, 23:22, 1 user, load average: 0.00, 0.01, 0.05 node07.linuxcache.com | SUCCESS | rc=0 >> 15:46:43 up 6 days, 23:29, 1 user, load average: 0.00, 0.01, 0.05 [harveymei@oms ~]$
在配置文件中指定SSH用户后无需在命令中指定-u参数
[root@oms ~]# vi /etc/ansible/hosts node01.linuxcache.com ansible_ssh_user=ops node02.linuxcache.com ansible_ssh_user=ops node03.linuxcache.com ansible_ssh_user=ops node03.linuxcache.com ansible_ssh_user=ops node05.linuxcache.com ansible_ssh_user=ops node06.linuxcache.com ansible_ssh_user=ops node07.linuxcache.com ansible_ssh_user=ops
Ansible常用模块及用法
copy模块 ansible fileserver -m copy -a "src=/tmp/abc.txt dest=~/" command模块 ansible fileserver -m command -a pwd shell模块(Shell模块默认不加载环境变量) ansible fileserver -m shell -a ". .bash_profile;ll /|grep tmp" script模块 ansible fileserver -m script -a "~/run.sh"