一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Linux|Centos|Ubuntu|系統進程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務器之家 - 服務器系統 - Linux - Linux下的自動化運維工具ansible初探

Linux下的自動化運維工具ansible初探

2019-08-29 10:56Linux之家 Linux

這篇文章主要介紹了Linux下的自動化運維工具ansible,這個軟件一般被用于集群批量部署,需要的朋友可以參考下

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

1、操作系統的安裝

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

2、操作系統的配置

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

3、批量程序的部署

4、批量命令的運行查看狀態信息

二、ansible介紹

ansible的架構大致如下
Linux下的自動化運維工具ansible初探
ansible是新出現的運維工具是基于Python研發的糅合了眾多老牌運維工具的優點實現了批量操作系統配置、批量程序的部署、批量運行命令等功能。

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

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

連接插件connection plugins負責和被監控端實現通信。

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

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

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

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

三、基本使用方法
 
在管理集群時,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”

執行命令:
復制代碼
代碼如下:
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是在執行tasks之后服務器發生變化之后可供調用的handler,使用起來如下:

復制代碼
代碼如下:

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 奇米视频7777| 亚洲国产日韩欧美mv | 91久久福利国产成人精品 | 日产欧产va1 | 女人扒开下面让男人桶爽视频 | 日本道色综合久久影院 | 精品午夜视频 | 337p大尺度啪啪人体午夜2020 | 免费看伦理片 | 丁香六月色婷婷综合网 | haodiaose在线精品免费视频 | 色综合91久久精品中文字幕 | 亚洲卡一卡2卡三卡4麻豆 | 国产精品www视频免费看 | 欧美黑人一级 | 99久久精品免费观看区一 | 美女bbxx美女bbb | 高清麻生希在线 | 久久国内精品 | 视频久久 | 亚洲一级特黄 | 美女bbxx美女bbb | 亚洲春色综合另类网蜜桃 | 国产无限免费观看黄网站 | 免费在线观看中文字幕 | 五月天导航 | 免费视频片在线观看 | 国产高清免费午夜在线视频 | 亚洲高清中文字幕一区二区三区 | 精品国产一级毛片大全 | 国产欧美日韩在线观看精品 | 波多野结衣178部中文字幕 | 好奇害死猫在线观看 | 久久强奷乱码老熟女 | 天天做日日爱 | 国产精品嫩草影院在线看 | 欧美色图日韩 | 青草视频在线观看免费视频 | 国产传媒天美果冻 | 无遮挡h肉动漫在线观看电车 | 成年人在线免费观看视频网站 |