Ansible學習紀要
Ansible安裝完成後;
Rpm -ql ansible 查看ansible下安裝了神馬。
Ansible -h 查看指令
一個指令例子:
ansible -i /etc/ansible/hosts test -u root -m command -a ‘ls /home’ -k
解釋:
-i :hosts文件路徑 有默認值/etc/ansible/hosts
test:hosts文件下的組
-u:用戶名(SODO_USER) 有默認值root
-m:執行模塊 有默認值command
-a:具體指令
-k:提示輸入密碼。
#參數解釋:
-i: 指定主機列表文件
-u: 指定遠程主機登陸用戶
-m:指定使用ansible的模塊
-a: 指定模塊下使用的參數
-k: 指定遠程登陸用戶的密碼
使用默認值的指令:
ansible test -a ‘ls /home’ -k
Hosts設置:
分組機制
[組名]
#指定設備
172.16.30.8
172.16.50.48
#連續ip可以使用[:] ,ip從1到200的host
172.16.18.[1:200]
ansible通過ssh方式遠程登錄設備,所以要使用ssh key的方式來進行ssh認證,當然也可以選擇使用ansible的時候加上 -k來輸入密碼。
ansible all -m ping 用於檢測所有主機是否在線。
在hosts分組中指定賬號,主機,ssh端口,key文件
ansible主機分組管理:
ansible配置http://perin.blog.51cto.com/10410663/1725195
說明:關於ansible hosts文件中可用參數:
ansible_ssh_port=22 #遠程主機登陸端口
ansible_ssh_user=root #遠程主機登陸用戶名
ansible_ssh_pass=chekir #遠程主機登陸用戶名的密碼
ansible_ssh_private_key_file=/etc/ansible/hosts #指定管理主機羣列表文件
host_key_checking=False #跳過第一次連接檢測詢問是否登陸的提示(YES/NO)
這裏hosts文件我做了互信認證,所以hosts文件我就寫了個主機IP,端口號默認的話可以不用寫
hosts文件做了互信認證:http://shihlei.iteye.com/blog/2064677
http://www.cnblogs.com/jyzhao/p/3781072.html
http://williamtsui1984.blog.163.com/blog/static/2144301082014729546397/
常見問題:http://www.tuicool.com/articles/EriayeQ
查看ansible所有模塊 ansible-doc -l
各模塊功能介紹。
通過ansible-doc -s user ; user模塊的具體用法
ansible hosts組 -m setup setup模塊收集host信息。
(free -m 查看內存指令
ls /tmp -lh 長格式顯示ls文件下的目錄)
遠程創建刪除文件
Ansible常用模塊
http://breezey.blog.51cto.com/2400275/1555530/