运维
Tcpdump抓包工具
tshark抓包工具
Ansible
Ansible配置
Ansible-远程命令模块( command / script / shell )
Ansible-常用模块
PlayBook
PlayBook-变量
PlayBook-条件/循环
PlayBook-Tags
PlayBook-常用脚本
Ansible-Vault(数据安全)
Ansible-API
Ansible实践
JMeter测试软件
JMeter性能指标
Curl
综合分析工具
磁盘/IO工具
网络分析工具
JAVA分析工具
更换硬盘
Linux启动流程
安装问题
GURB加密
修改默认启动项
Root密码忘记
重装内核、GRUB
Too many open files错误
误删文件,内存恢复
Read-only file system错误
本文档使用MrDoc发布
返回首页
-
+
Ansible
2020年2月14日 16:50
admin
#运维博客推荐 https://wiki.eryajf.net/pages/5173.html ---- ##一、安装 Ansible ####方法一:yum安装 yum -y install ansible ####方法二:pip安装 pip install ansible --- ##二、配置 Ansible ls /etc/ansible ansible.cfg hosts roles #ansible.cfg 是 Ansible 工具的配置文件; #hosts 用来配置被管理的机器; #roles 是一个目录,playbook 将使用它 ##三、管理机与被管理机做秘钥认证 ssh-keygen -t rsa -f ~/.ssh/id_rsa -P "" # 生成秘钥 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.31.146 # 将公钥写入被管理机,注意修改端口与ip ##四、hosts 文件添加被管理机 vim /etc/ansible/hosts [Client] #自定义模块 192.168.12.129 ##五、测试 Ansible ansible Client -m ping ##六、解决ansible首次连接host服务器需验证问题 [root@iZm5e79rtwsq2hm57teyk5Z ansible]# ansible aofeng -f 5 -m ping 192.168.1.106 | FAILED! => { "failed": true, "msg": "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." } --- ####原因: 当ansible首次去进行ssh连接一个服务器的时候,由于在本机的~/.ssh/known_hosts文件中并有fingerprint key串,ssh第一次连接的时候一般会提示输入yes 进行确认为将key字符串加入到 ~/.ssh/known_hosts 文件中。故回报如上错误。 ####解决办法:在/etc/ansible/ansible.cfg文件中进行配置; 在# uncomment this to disable SSH key host checking下 host_key_checking = False默认是注释掉的 打开 host_key_checking = False的注释。同样也可以实现跳过 ssh 首次连接提示验证部分。 --- #限定主机 ###主机清单 [Test] 172.16.2.31 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='xxxx' 172.16.2.32 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='xxxx' 172.16.2.33 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='xxxx' 172.16.2.34 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='xxxx' 172.16.2.35 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='xxxx' 172.16.2.36:29 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='xxxx' --- ###组中限定主机 #单一主机 ansible Test -m ping -o --limit 172.16.2.31 #多主机 ansible Test -m ping -o --limit 172.16.2.32:172.16.2.33 --- ###直接指定 #单一主机 ansible 172.16.2.31 -m ping -o #多主机 ansible 172.16.2.32:172.16.2.33 -m ping -o --- ###匹配指定 ansible 172.16.2.* -m ping -o
分享到: