自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Ansible快速入門:輕量級自動化部署工具

云計算 自動化
比起來其他自動化集群管理和運維工具 Puppet、Chef、Slat, Ansible 顯得很簡單并且輕量級, 但是 Ansible 又不像 Fab 那樣功能單一只能做批量命令。

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

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

[[145534]]

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

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

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

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

Ansible 的特點

[[145535]]

輕量級

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

 


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

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

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

灰度更新

Ansible 支持對集群的小部分機器批量操作,然后逐步完成整個集群的操作。這對于需要機器重啟的場景就非常實用。

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

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

Ansible 中的概念

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

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

環(huán)境 Facts——Facts 從每臺服務(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 的手動執(zhí)行命令版本:

  1. ansible all -m ping -u root 

看其他幾個常用的操作,體會一下,通過看命令你就會知道所做的操作,非常簡單:

 

  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" 

 

一個最簡單的 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)建出非常好的自動化運維平臺。Ansible 比起其他自動化運維工具更適合對 Docker 實例進行維護和管理。如果你的機器實例數(shù)量超過 1000,也可以選擇Ansible 的 Web 控制工具 Ansible Tower 。

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

責(zé)任編輯:Ophira 來源: 博客
相關(guān)推薦

2021-02-22 18:50:03

Ansible系統(tǒng)運維

2019-10-30 14:47:05

工具代碼開發(fā)

2024-12-16 07:10:00

DockerDrone開發(fā)

2014-09-22 11:24:18

運維

2017-03-22 18:30:44

Linux運維自動化ansible

2017-03-22 16:31:30

Linux運維自動化ansible

2022-07-04 09:00:36

Playwright自動化測試工具

2025-01-03 16:47:02

Ansible自動化運維DevOps

2020-05-25 16:00:24

工具代碼開發(fā)

2018-08-31 09:55:38

Ansible網(wǎng)絡(luò)自動化

2015-10-08 10:55:23

云服務(wù)自動化運維 ANSIBLE

2015-11-09 14:27:36

Ansiblelinux自動化運維

2014-03-11 11:10:10

PowerShell自動化腳本

2022-07-15 16:39:19

PythonWhoosh工具

2021-03-02 06:32:03

Ansible系統(tǒng)運維

2016-10-28 08:39:23

WebHook運維工具

2013-07-02 10:45:38

2022-07-29 14:39:17

Ansible運維工具

2021-10-14 09:55:28

AnsibleanacronLinux

2025-01-09 08:00:00

Fluxy文件傳輸
點贊
收藏

51CTO技術(shù)棧公眾號