Ansible使用笔记(Redhat 6)

匿名 (未验证) 提交于 2019-12-03 00:22:01
git clone git://github.com/ansible/ansible.git --recursive 
安装之前先把下载的 ansible 目录权限设置为可读写可执行: chmod -R 777 ansible/  然后开始安装(启动): source ansible/hacking/env-setup  安装过程会有报错,不用管 安装完毕之后,会在 ansible 目录下产生一个 examples 目录,里面有 ansible.cfg 配置文件。  在 /etc/ 目录中创建文件夹 /ansible/ 然后发上面的 ansible.cfg 配置文件复制到 /etc/ansible/ 下面。   验证安装:ansible --version 
ssh-keygen -t rsa  后面直接敲入三次回车。就生成了公钥和密钥,目录在 /root/.ssh/ 中 
将控制机的公钥 /root/.ssh/id_rsa.pub 复制到 被控制机的 /root/.ssh/ 中,并且重命名为“authorized_keys”没有后缀  验证公钥是否有效: 在控制机中直接输入 ssh root@被控制机IP   能直接进入被控制机的控制台,不需要输入密码。  好处是:被控制机的密码不会暴漏在配置文件 
创建一个hosts文件,放入到控制机的 /etc/ansible/ 中。 内容参考如下(没有===): ============================================= 192.168.1.225  [webservers] 192.168.1.225 ============================================= 如果不能将公钥上传到被控制机,则格式如下: ============================================= 192.168.1.225 ansible_ssh_pass='root的密码'  [webservers] 192.168.1.225 192.168.1.[4:9] 192.168.1.1[3:9] [webservers:vars] ansible_ssh_pass='上面几个主机的通用密码' [newGroup:children] webservers  =============================================  写在最上面的是被控制的主机的IP,然后有一个 webservers 组,可以将同一类型的主机放在同一个组中。 newGroup 的子组包含 webservers   然后使用 ansible 的 ping 命令来测试联通性:(出现了 SUCCESS 代表成功) ansible 192.168.1.225 -m ping  然后测试组能否被联通:(出现了 SUCCESS 代表成功) ansible webservers -m ping 
需要将文件下发到被控制机:(需要先进入到控制机的文件的目录中)  ansible 被控制机IP或配置的主机组 -m copy -a 'src=test.txt dest=/root/test.txt owner=root group=root mode=644 backup=yes' -o 
ansible 192.168.1.3 -m shell -a '要执行的命令' -o 
当被控制机很多的时候,可能需要控制并发数,以保证命令的到达。 在命令的后面添加上  -f 数字   即可,如下:  ansible 192.168.1.3 -m shell -a '要执行的命令' -f 5 -o 
查看所有的信息: ansible webservers -m setup  只查看ipv4信息: ansible webservers -m setup -a 'filter=ansible_all_ipv4_addresses' 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!