偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

開源工具 | Ansible入門秘訣

開源 系統(tǒng)運(yùn)維
Ansible 是一個(gè)開源自動(dòng)化工具,可以從中央控制節(jié)點(diǎn)統(tǒng)一配置服務(wù)器、安裝軟件或執(zhí)行各種 IT 任務(wù)。它采用一對(duì)多、無客戶端的機(jī)制,從控制節(jié)點(diǎn)上通過 SSH 發(fā)送指令給遠(yuǎn)端的客戶機(jī)來完成任務(wù)(當(dāng)然除了 SSH 外也可以用別的協(xié)議)。

[[259066]]

用 Ansible 自動(dòng)化你的數(shù)據(jù)中心的關(guān)鍵點(diǎn)。

Ansible 是一個(gè)開源自動(dòng)化工具,可以從中央控制節(jié)點(diǎn)統(tǒng)一配置服務(wù)器、安裝軟件或執(zhí)行各種 IT 任務(wù)。它采用一對(duì)多、無客戶端agentless的機(jī)制,從控制節(jié)點(diǎn)上通過 SSH 發(fā)送指令給遠(yuǎn)端的客戶機(jī)來完成任務(wù)(當(dāng)然除了 SSH 外也可以用別的協(xié)議)。

Ansible 的主要使用群體是系統(tǒng)管理員,他們經(jīng)常會(huì)周期性地執(zhí)行一些安裝、配置應(yīng)用的工作。盡管如此,一些非特權(quán)用戶也可以使用 Ansible,例如數(shù)據(jù)庫管理員就可以通過 Ansible 用 mysql 這個(gè)用戶來創(chuàng)建數(shù)據(jù)庫、添加數(shù)據(jù)庫用戶、定義訪問權(quán)限等。

讓我們來看一個(gè)簡(jiǎn)單的使用場(chǎng)景,一位系統(tǒng)管理員每天要配置 100 臺(tái)服務(wù)器,并且必須在每臺(tái)機(jī)器上執(zhí)行一系列 Bash 命令,然后交付給用戶。

這是個(gè)簡(jiǎn)單的例子,但應(yīng)該能夠證明:在 yaml 文件里寫好命令然后在遠(yuǎn)程服務(wù)器上運(yùn)行,是一件非常輕松的事。而且如果運(yùn)行環(huán)境不同,就可以加入判斷條件,指明某些命令只能在特定的服務(wù)器上運(yùn)行(如:只在那些不是 Ubuntu 或 Debian 的系統(tǒng)上運(yùn)行 yum 命令)。

Ansible 的一個(gè)重要特性是用劇本playbook來描述一個(gè)計(jì)算機(jī)系統(tǒng)的最終狀態(tài),所以一個(gè)劇本可以在服務(wù)器上反復(fù)執(zhí)行而不影響其最終狀態(tài)(LCTT 譯注:即是冪等的)。如果某個(gè)任務(wù)已經(jīng)被實(shí)施過了(如,“用戶 sysman 已經(jīng)存在”),那么 Ansible 就會(huì)忽略它繼續(xù)執(zhí)行后續(xù)的任務(wù)。

定義

  • 任務(wù)task:是工作的最小單位,它可以是個(gè)動(dòng)作,比如“安裝一個(gè)數(shù)據(jù)庫服務(wù)”、“安裝一個(gè) web 服務(wù)器”、“創(chuàng)建一條防火墻規(guī)則”或者“把這個(gè)配置文件拷貝到那個(gè)服務(wù)器上去”。
  • 動(dòng)作play: 由任務(wù)組成,例如,一個(gè)動(dòng)作的內(nèi)容是要“設(shè)置一個(gè)數(shù)據(jù)庫,給 web 服務(wù)用”,這就包含了如下任務(wù):1)安裝數(shù)據(jù)庫包;2)設(shè)置數(shù)據(jù)庫管理員密碼;3)創(chuàng)建數(shù)據(jù)庫實(shí)例;4)為該實(shí)例分配權(quán)限。
  • 劇本playbook:(LCTT 譯注:playbook 原指美式橄欖球隊(duì)的戰(zhàn)術(shù)手冊(cè),也常指“劇本”,此處慣例采用“劇本”譯名) 由動(dòng)作組成,一個(gè)劇本可能像這樣:“設(shè)置我的網(wǎng)站,包含后端數(shù)據(jù)庫”,其中的動(dòng)作包括:1)設(shè)置數(shù)據(jù)庫服務(wù)器;2)設(shè)置 web 服務(wù)器。
  • 角色role:用來保存和組織劇本,以便分享和再次使用它們。還拿上個(gè)例子來說,如果你需要一個(gè)全新的 web 服務(wù)器,就可以用別人已經(jīng)寫好并分享出來的角色來設(shè)置。因?yàn)榻巧歉叨瓤膳渲玫模ㄈ绻帉懻_的話),可以根據(jù)部署需求輕松地復(fù)用它們。
  • Ansible 星系Ansible Galaxy:是一個(gè)在線倉庫,里面保存的是由社區(qū)成員上傳的角色,方便彼此分享。它與 GitHub 緊密集成,因此這些角色可以先在 Git 倉庫里組織好,然后通過 Ansible 星系分享出來。

這些定義以及它們之間的關(guān)系可以用下圖來描述:

請(qǐng)注意上面的例子只是組織任務(wù)的方式之一,我們當(dāng)然也可以把安裝數(shù)據(jù)庫和安裝 web 服務(wù)器的劇本拆開,放到不同的角色里。Ansible 星系上最常見的角色是獨(dú)立安裝、配置每個(gè)應(yīng)用服務(wù),你可以參考這些安裝 mysqlhttpd 的例子。

編寫劇本的小技巧

學(xué)習(xí) Ansible ***的資源是其官方文檔。另外,像學(xué)習(xí)其他東西一樣,搜索引擎是你的好朋友。我推薦你從一些簡(jiǎn)單的任務(wù)開始,比如安裝應(yīng)用或創(chuàng)建用戶。下面是一些有用的指南:

  • 在測(cè)試的時(shí)候少選幾臺(tái)服務(wù)器,這樣你的動(dòng)作可以執(zhí)行的更快一些。如果它們?cè)谝慌_(tái)機(jī)器上執(zhí)行成功,在其他機(jī)器上也沒問題。
  • 總是在真正運(yùn)行前做一次測(cè)試dry run,以確保所有的命令都能正確執(zhí)行(要運(yùn)行測(cè)試,加上 --check-mode 參數(shù) )。
  • 盡可能多做測(cè)試,別擔(dān)心搞砸。任務(wù)里描述的是所需的狀態(tài),如果系統(tǒng)已經(jīng)達(dá)到預(yù)期狀態(tài),任務(wù)會(huì)被簡(jiǎn)單地忽略掉。
  • 確保在 /etc/ansible/hosts 里定義的主機(jī)名都可以被正確解析。
  • 因?yàn)槭怯?SSH 與遠(yuǎn)程主機(jī)通信,主控節(jié)點(diǎn)必須要能接受密鑰,所以你面臨如下選擇:1)要么在正式使用之前就做好與遠(yuǎn)程主機(jī)的密鑰交換工作;2)要么在開始管理某臺(tái)新的遠(yuǎn)程主機(jī)時(shí)做好準(zhǔn)備輸入 “Yes”,因?yàn)槟阋邮軐?duì)方的 SSH 密鑰交換請(qǐng)求(LCTT 譯注:還有另一個(gè)不那么安全的選擇,修改主控節(jié)點(diǎn)的 ssh 配置文件,將 StrictHostKeyChecking 設(shè)置成 “no”)。
  • 盡管你可以在同一個(gè)劇本內(nèi)把不同 Linux 發(fā)行版的任務(wù)整合到一起,但為每個(gè)發(fā)行版單獨(dú)編寫劇本會(huì)更明晰一些。

總結(jié)一下

Ansible 是你在數(shù)據(jù)中心里實(shí)施運(yùn)維自動(dòng)化的好選擇,因?yàn)樗?/p>

  • 無需客戶端,所以比其他自動(dòng)化工具更易安裝。
  • 將指令保存在 YAML 文件中(雖然也支持 JSON),比寫 shell 腳本更簡(jiǎn)單。
  • 開源,因此你也可以做出自己的貢獻(xiàn),讓它更加強(qiáng)大!

你是怎樣使用 Ansible 讓數(shù)據(jù)中心更加自動(dòng)化的呢?請(qǐng)?jiān)谠u(píng)論中分享您的經(jīng)驗(yàn)。

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2018-11-06 20:30:23

Python開源工具機(jī)器學(xué)習(xí)

2022-05-06 12:04:24

Ansible管理工具

2015-08-17 14:13:52

Ansible輕量自動(dòng)化部署工具

2021-02-22 18:50:03

Ansible系統(tǒng)運(yùn)維

2021-03-02 06:32:03

Ansible系統(tǒng)運(yùn)維

2022-09-08 09:00:38

Ansible開源

2010-09-25 08:44:34

捆綁后門

2013-10-28 13:32:53

開源管理

2019-04-29 11:18:43

開源Sensu監(jiān)控

2021-03-01 13:00:21

Ansible系統(tǒng)運(yùn)維

2020-10-31 21:47:06

Python數(shù)據(jù)結(jié)構(gòu)開發(fā)

2015-09-15 09:25:23

代碼開源

2021-06-29 18:24:13

MySQL開源工具

2010-06-17 17:01:26

開源UML工具

2014-06-26 14:53:48

開源開源軟件

2014-09-22 11:24:18

運(yùn)維

2010-11-08 09:15:46

Puppet入門教程自動(dòng)化

2018-10-19 12:27:23

人工智能機(jī)器學(xué)習(xí)技術(shù)

2015-12-08 16:24:08

網(wǎng)絡(luò)取證網(wǎng)絡(luò)取證工具Xplico

2020-04-03 16:07:31

DevSecOps開源安全工具
點(diǎn)贊
收藏

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