日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

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

新聞中心

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

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

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

云計(jì)算

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

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

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

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

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

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

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

Ansible 的特點(diǎn)

輕量級(jí)

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

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

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

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

灰度更新

Ansible 支持對(duì)集群的小部分機(jī)器批量操作,然后逐步完成整個(gè)集群的操作。這對(duì)于需要機(jī)器重啟的場景就非常實(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ì)一下,通過看命令你就會(huì)知道所做的操作,非常簡單:

  
 
 
  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è)最簡單的 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 

通過添加命令行變量可以 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ù)量超過 1000,也可以選擇Ansible 的 Web 控制工具 Ansible Tower 。

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


當(dāng)前題目:Ansible快速入門:輕量級(jí)自動(dòng)化部署工具
標(biāo)題鏈接:http://www.dlmjj.cn/article/dpjojce.html