轉(zhuǎn)自
Linux輕量級自動運(yùn)維工具-Ansible淺析 - ~微風(fēng)~ - 51CTO技術(shù)博客
http://weiweidefeng.blog.51cto.com/1957995/1895261
Ansible是什么?

ansible架構(gòu)圖

ansible特性
模塊化:調(diào)用特定的模塊,完成特定的任務(wù);
基于Python語言研發(fā),由Paramiko, PyYAML和Jinja2三個核心庫實(shí)現(xiàn);
部署簡單:agentless;
支持自定義模塊,使用任意編程語言;
強(qiáng)大的playbook機(jī)制;
冪等性;
安裝及程序環(huán)境:
程序:
ansible
ansible-playbook
ansible-doc
配置文件:
/etc/ansible/ansible.cfg
主機(jī)清單:
/etc/ansible/hosts
插件目錄:
/usr/share/ansible_plugins/
安裝ansible

安裝依賴包

ansible命令的使用:
Usage: ansible <host-pattern> [options]
常用選項(xiàng):
-m MOD_NAME
-a MOD_ARGS
配置Host Inventory:
/etc/ansible/hosts
[group_id]
HOST_PATTERN1
HOST_PATTERN2
示例:
首先對此文件進(jìn)行備份操作,以防后面需要用到默認(rèn)配置文件

進(jìn)入到/etc/ansible/hosts文件,此處綠色光標(biāo)以下的內(nèi)容是沒有用的,都是示例,可以刪除掉,然后添加我們下面實(shí)驗(yàn)操作用到的主機(jī)。

添加一組websrvs服務(wù)器,以用于下面的測試

測試主機(jī)連通性
這里報錯是因?yàn)閷?shí)驗(yàn)用的主機(jī)交換其他兩臺主機(jī)的公鑰/私鑰的原因?qū)е碌?/p>

實(shí)驗(yàn)SSH免密碼登陸設(shè)置
生成私鑰和公鑰ssh-keygen -t rsa -P ''

復(fù)制公鑰文件問authorized_keys

把公鑰傳送到其他主機(jī)

在68的主機(jī)上面可以看見公鑰已經(jīng)傳送過來了,并且確認(rèn)文件的權(quán)限是否正確

重復(fù)以上操作把公鑰發(fā)送給69的主機(jī)

然后重新執(zhí)行ansible的ping模塊命令查看該兩臺主機(jī)的連通性
可以發(fā)現(xiàn)此時已經(jīng)成功,那么下面就開始介紹ansilbe的其他模塊

最后記得利用ansible同步一下所有主機(jī)的時間,以免某主機(jī)的時間有錯誤,后面看日志起來會造成混亂

ansible模塊:
獲取模塊列表:ansible-doc -l
獲取指定模塊的使用幫助:ansible-doc -s MOD_NAME
常用模塊:
ping模塊:探測目標(biāo)主機(jī)是否存活;

示例:測試所有的主機(jī)的連通性

command模塊:在遠(yuǎn)程主機(jī)執(zhí)行命令;

示例1:讓所有主機(jī)同步時間
此處沒有給出指定的-m command命令,是因?yàn)閍nsible的模塊默認(rèn)就是command
新聞熱點(diǎn)
疑難解答
圖片精選