轉(zhuǎn)自
Linux輕量級(jí)自動(dòng)運(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三個(gè)核心庫實(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ī)連通性
這里報(bào)錯(cuò)是因?yàn)閷?shí)驗(yàn)用的主機(jī)交換其他兩臺(tái)主機(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模塊命令查看該兩臺(tái)主機(jī)的連通性
可以發(fā)現(xiàn)此時(shí)已經(jīng)成功,那么下面就開始介紹ansilbe的其他模塊
最后記得利用ansible同步一下所有主機(jī)的時(shí)間,以免某主機(jī)的時(shí)間有錯(cuò)誤,后面看日志起來會(huì)造成混亂
ansible模塊:
獲取模塊列表:ansible-doc -l
獲取指定模塊的使用幫助:ansible-doc -s MOD_NAME
常用模塊:
ping模塊:探測目標(biāo)主機(jī)是否存活;
示例:測試所有的主機(jī)的連通性
command模塊:在遠(yuǎn)程主機(jī)執(zhí)行命令;
示例1:讓所有主機(jī)同步時(shí)間
此處沒有給出指定的-m command命令,是因?yàn)閍nsible的模塊默認(rèn)就是command
新聞熱點(diǎn)
疑難解答
圖片精選