真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

如何使用Linux下的自動化運維工具ansible

本篇內容介紹了“如何使用Linux下的自動化運維工具ansible”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

創(chuàng)新互聯(lián)主要從事成都做網站、成都網站制作、網頁設計、企業(yè)做網站、公司建網站等業(yè)務。立足成都服務南岔,十年網站建設經驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:028-86922220

一、什么樣的情形需要批量部署

1、操作系統(tǒng)的安裝

常見的有collber,red hat satelite(redhat)系統(tǒng)專用。

2、操作系統(tǒng)的配置

常見的有cfengine,puppet,chef,func。其中puppet最受歡迎

3、批量程序的部署

4、批量命令的運行查看狀態(tài)信息

二、ansible介紹

ansible的架構大致如下
如何使用Linux下的自動化運維工具ansible
ansible是新出現(xiàn)的運維工具是基于Python研發(fā)的糅合了眾多老牌運維工具的優(yōu)點實現(xiàn)了批量操作系統(tǒng)配置、批量程序的部署、批量運行命令等功能。

運維工具常見的工作模式 
1、agent模式: 基于ssl實現(xiàn)。代理工作在被監(jiān)控端。像puppet。 
2、agentless模式: 基于ssh服務實現(xiàn)工作在被監(jiān)控端。監(jiān)控端是ssh的客戶端。
ansible是工作在agentless模式下具有冪等性。ansible在控制端只需要告訴監(jiān)控端的期望狀態(tài)就可以實現(xiàn)批量部署。

名詞解釋 
冪等性不會重復執(zhí)行相同的指令。例如不會重復安裝軟件 
期望狀態(tài)只需要告訴被監(jiān)控端的期望狀態(tài)
ansible是基于模塊工作的ansible本身沒有批量部署的能力。真正具有批量部署的是ansible所運行的模塊ansible只是提供一種框架。架構包括

連接插件connection plugins負責和被監(jiān)控端實現(xiàn)通信。

Host Inventory:指定操作的主機,是一個配置文件里面定義監(jiān)控的主機

各種模塊核心模塊command模塊自定義模塊

借助于插件完成記錄日志郵件等功能

PlayBooks:劇本執(zhí)行多個任務時。并非必需可以讓節(jié)點一次性運行多個任務

三、基本使用方法
 
在管理集群時,ansible需要先配置集群hosts列表以方便集群操作

代碼如下:


$ cat /etc/ansible/hosts
[local]
# 配置密碼登陸,需要ansible本機安裝sshpass
192.168.213.135 ansible_ssh_user=root ansible_ssh_pass=root
[zabbix]
# 密鑰登陸
172.17.0.2:49154 ansible_ssh_user=root
172.17.0.4:49155 ansible_ssh_user=root
[vpn]
172.17.0.10


 
測試連接登陸是否OK

代碼如下:


$ ansible local -m ping
192.168.213.135 | success >> {
   "changed": false,
   "ping": "pong"
}


 
ansible常見用法為ansible host-pattern -m 模塊 -a 命令,host-pattern類似于簡化的正則表達式,而模塊可以通過ansible-doc -l命令來查詢。下面是一些常用模塊的使用方法:
安裝軟件:

代碼如下:

ansible local -m apt -a ‘name=gcc state=present’

或者

代碼如下:

ansible local -m yum -a “name=nmap state=installed”


執(zhí)行命令:

代碼如下:

ansible local -m shell -a ‘uptime’


拷貝文件:

代碼如下:

ansible local -m copy -a “src=/tmp/server dest=/tmp/server”


文件屬性:

代碼如下:

ansible local -m file -a “dest=/tmp/server mode=755 owner=root group=root”


*
 
playbook
 
playbook是由一個或多個“play”組成的列表。play的主要功能在于將事先歸并為一組的主機裝扮成事先通過ansible中的task定義好的角色。
 
一個簡單的playbook配置如下:

代碼如下:


- hosts: local
 remote_user: root
 tasks:
 - name: echo hi
   shell: echo "hi"


 
ansible還支持設置handlers,handlers是在執(zhí)行tasks之后服務器發(fā)生變化之后可供調用的handler,使用起來如下:

代碼如下:


# playbook.yml
---
- hosts: local  # hosts中指定
 remote_user: root  # 如果和當前用戶一樣,則無需指定
 tasks:
     - name: whoami
       copy: src=~/hosts dest=~/hosts.dest  #  本地拷貝到遠端
       notify:  # 如果copy執(zhí)行完之后~/hosts.dest文件發(fā)送了變化,則執(zhí)行
           - clear copy  # 調用handler
 handlers:
     - name: clear copy
       shell: 'mv ~/hosts.dest hosts.del'  # 假裝刪除

“如何使用Linux下的自動化運維工具ansible”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網站,小編將為大家輸出更多高質量的實用文章!


名稱欄目:如何使用Linux下的自動化運維工具ansible
轉載注明:http://weahome.cn/article/jseggj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部