日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Ansible快速入門:輕量級(jí)自動(dòng)化部署工具

Ansible快速入門:輕量級(jí)自動(dòng)化部署工具

作者:Bruce Dou 2015-08-17 14:13:52

云計(jì)算

自動(dòng)化 比起來(lái)其他自動(dòng)化集群管理和運(yùn)維工具 Puppet、Chef、Slat, Ansible 顯得很簡(jiǎn)單并且輕量級(jí), 但是 Ansible 又不像 Fab 那樣功能單一只能做批量命令。

自動(dòng)化部署系統(tǒng)將集群的所有狀態(tài)保存在幾個(gè)文件中,即使將集群完全摧毀,通過(guò)這些配置文件,可以很快恢復(fù)完全一樣的集群出來(lái)。

這就像將一座城市保存在一個(gè)水晶球里?;蛘咪撹F俠的衣服折疊成一個(gè)手提箱。

比起來(lái)其他自動(dòng)化集群管理和運(yùn)維工具 Puppet、Chef、Slat, Ansible 顯得很簡(jiǎn)單并且輕量級(jí), 但是 Ansible 又不像 Fab 那樣功能單一只能做批量命令。

Ansible 比 Fab 增加了對(duì)服務(wù)器狀態(tài)的管理功能,這樣就能將運(yùn)維操作狀態(tài)記錄和保存在版本庫(kù)中。Ansible 盡量少引入 DSL 這樣的學(xué)習(xí)門檻。配置文件只是常見(jiàn)的 YAML 格式 (playbooks)。

同樣這樣的簡(jiǎn)單設(shè)計(jì)的劣勢(shì)是沒(méi)有依賴管理功能。但是 Ansible 對(duì)于一般的使用場(chǎng)景已經(jīng)足夠了。

可以用來(lái)初始化基礎(chǔ)設(shè)施的服務(wù)器集群,用戶管理、部署和更新、卸載應(yīng)用代碼,管理配置文件,維護(hù) Web 服務(wù)器等等。并且可以用來(lái)同時(shí)管理多個(gè)不同的云服務(wù)提供商。

Ansible 的特點(diǎn)

輕量級(jí)

輕量級(jí)的好處是學(xué)習(xí)門檻低、問(wèn)題少、安裝快、執(zhí)行快。操作完全依賴 SSH 而不需要安裝 agent 。這樣的好處是不再需要維護(hù) agent 的狀態(tài),不用擔(dān)心 Agent 掛掉。而 SSH 是每臺(tái)服務(wù)器必備的服務(wù)。它非常適合安全補(bǔ)丁更新的場(chǎng)景。比如,100 臺(tái)服務(wù)器打 bash vulnerability 安全補(bǔ)丁只需要 10 分鐘。

支持多個(gè)不同的云服務(wù)

這樣你可以將服務(wù)器混合部署在自建 IDC、AWS、DigitalOcean、Linode 上。而且將調(diào)試環(huán)境放到本機(jī)的 Vagrant 的虛擬機(jī)中。

這對(duì)于測(cè)試和調(diào)試非常方便。

灰度更新

Ansible 支持對(duì)集群的小部分機(jī)器批量操作,然后逐步完成整個(gè)集群的操作。這對(duì)于需要機(jī)器重啟的場(chǎng)景就非常實(shí)用。

現(xiàn)有自動(dòng)化系統(tǒng)的補(bǔ)充

Ansible 可以補(bǔ)充現(xiàn)有 Salt 和 puppet 系統(tǒng)的不足。比如重啟那些運(yùn)行在每個(gè)服務(wù)器上的 Agent 。

Ansible 中的概念

任務(wù) Task——多個(gè) Task 順序執(zhí)行,在每個(gè) Task 執(zhí)行結(jié)束可以通知 Hanlder 觸發(fā)新操作。

變量 Variable——用戶定義的變量。

環(huán)境 Facts——Facts 從每臺(tái)服務(wù)器上收集得到,可以用作變量。

模塊——比如 shell、ping、apt 等等

操作 Hanlder

#p#

Ansible 快速入門

安裝

  
 
 
  1. sudo pip install ansible 

增加服務(wù)器資源

修改 /etc/ansible/hosts 添加

  
 
 
  1. [web] 
  2. 192.168.1.2 
  3. 192.168.1.3 
  4. 192.168.1.4 

PS: 一般將 hosts 文件放到當(dāng)前文件夾, 需要在命令中指定 hosts 文件位置

  
 
 
  1. ansible -u root web -m ping -i ./hosts 

執(zhí)行下 Helloworld:

  
 
 
  1. ansible all -m ping -u root 

這樣的入門教程已經(jīng)完成了。

Ansible 的手動(dòng)執(zhí)行命令版本:

  
 
 
  1. ansible all -m ping -u root 

看其他幾個(gè)常用的操作,體會(huì)一下,通過(guò)看命令你就會(huì)知道所做的操作,非常簡(jiǎn)單:

  
 
 
  1. ansible -u root web -m copy -a "src=/etc/hosts dest=/tmp/hosts" 
  2. ansible -u root web -m yum -a "name=abcd state=present" 
  3. ansible -u root web -m yum -a "name=abcd state=absent" 
  4. ansible -u root web -m user -a "name=foo password=" 
  5. ansible -u root web -m user -a "name=foo state=absent 
  6. ansible -u root web -m git -a "repo=git://blog.eood.cn/repo.git dest=/srv/myapp version=HEAD" 
  7. ansible -u root web -m service -a "name=nginx state=started" 
  8. ansible -u root web -m service -a "name=nginx state=restarted" 
  9. ansible -u root web -m service -a "name=nginx state=stopped" 

一個(gè)最簡(jiǎn)單的 Playbook:

  
 
 
  1. --- 
  2. - hosts: blog.eood.cn 
  3.   tasks: 
  4.     - name: Installs nginx web server 
  5.       apt: pkg=nginx state=installed update_cache=true 
  6.       notify: 
  7.         - start nginx 
  8.  
  9.   handlers: 
  10.     - name: start nginx 
  11.       service: name=nginx state=started 

保存成 nginx.yml

執(zhí)行 Playbook:

  
 
 
  1. ansible-playbook nginx.yml 

通過(guò)添加命令行變量可以 override nginx 中的變量。

***

Ansible 結(jié)合 Docker、Mesos、Puppet、Vagrant、Git 等系統(tǒng)可以構(gòu)建出非常好的自動(dòng)化運(yùn)維平臺(tái)。Ansible 比起其他自動(dòng)化運(yùn)維工具更適合對(duì) Docker 實(shí)例進(jìn)行維護(hù)和管理。如果你的機(jī)器實(shí)例數(shù)量超過(guò) 1000,也可以選擇Ansible 的 Web 控制工具 Ansible Tower 。

博文出處:http://blog.eood.cn/the-ansible
 


文章題目:Ansible快速入門:輕量級(jí)自動(dòng)化部署工具
分享網(wǎng)址:http://www.5511xx.com/article/dpjojce.html