Ansible学习踩坑

终于到了须要上Ansible的时候了,以前因为需求不强烈没有作,从今天起陆续记录学习。web

经常使用ansible命令

查看组中的机器

ansible <group_name> list

查看内存使用(shell模块)

ansible <host_name/group_name> -m command -a 'free -h'

查看主机磁盘容量(command模块)

ansible <host_name/group_name> -m shell -a 'df -h'

报错解决记录

ansible all -m ping 失败

执行上述命令,是检测被主机的存活状态时,出现以下报错信息:shell

"msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)."

执行下面的命令显示更详细 的信息api

ansible -m ping all -vvv

结果中有以下ssh

<websrv.internal.org> ESTABLISH SSH CONNECTION FOR USER: None

ansible链接被管主机(此处是websrv.internal.org)没有使用明确的用户名。所以,在ansible的配置文件/etc/ansible/hosts中修改以下:ide

websrv.internal.org ansible_user=test

此处的'test‘是websrv.internal.org主机上的可登陆用户,若是配置了公钥,则能够成功完成上述主机探测命令。回显以下:学习

websrv.internal.org | SUCCESS => {
"changed": false, 
"ping": "pong"
}
相关文章
相关标签/搜索