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"
}
相關文章
相關標籤/搜索