1.实验环境
角色 | Hostname | SystemRelease | IP address |
---|---|---|---|
node1 | node1.server.com | Rhel-6.5_x86_64 | 192.168.1.63 |
node2 | node2.server.com | Rhel-6.5_x86_64 | 192.168.1.64 |
server | ansible.server.com | CentOS-6.5_x86_64 | 192.168.1.20 |
2.准备工作
代码语言:javascript复制#关闭防火墙service iptables stopchkconfig iptables off#更改主机名hostname node1.server.comvim /etc/sysconfig/networkNETWORKING=yesHOSTNAME=node1.server.comlogout 注销 重新登录 或者是reboot 重启
#添加hosts解析tail -3 /etc/hosts192.168.1.63 node1.server.com #node1 192.168.1.64 node2.server.com #node2192.168.1.20 ansible.server.com #ansible
3.安装Ansible
代码语言:javascript复制rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpmrpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6yum install ansible -y #安装ansible
配置文件
代码语言:javascript复制rpm -ql ansible | more/etc/ansible/etc/ansible/ansible.cfg #主配置文件/etc/ansible/hosts #节点主机列表/etc/ansible/roles /usr/bin/ansible/usr/bin/ansible-console/usr/bin/ansible-doc/usr/bin/ansible-galaxy/usr/bin/ansible-playbook/usr/bin/ansible-pull/usr/bin/ansible-vault
添加清单主机
代码语言:javascript复制tail -3 /etc/ansible/hosts [webserver]node1.server.comnode2.server.com
配置密钥认证
代码语言:javascript复制ssh-keygen ssh-copy-id -i ~/.ssh/id_rsa.pub root@node1.server.com ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2.server.com
4.Ansible常用命令
查看各个节点的时间
代码语言:javascript复制ansible all -a dateansible all -m command -a date//以上两条命令结果是一样的,因为默认调用 command 模块,所以可以省略, all 表示所有节点, -a 后面是参数
查看各个节点在线情况
代码语言:javascript复制ansible all -m ping //内建的ping模块
在各个节点输出指定信息
代码语言:javascript复制ansible all -a "/bin/echo hello,world" #输出信息ansible all -a "/bin/df -h" #输出挂载信息ansible all -a "/sbin/ip addr show dev eth0 " #查看各节点的 eth0 网卡信息