成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

開源工具 | Ansible入門秘訣

開源 系統運維
Ansible 是一個開源自動化工具,可以從中央控制節點統一配置服務器、安裝軟件或執行各種 IT 任務。它采用一對多、無客戶端的機制,從控制節點上通過 SSH 發送指令給遠端的客戶機來完成任務(當然除了 SSH 外也可以用別的協議)。

[[259066]]

用 Ansible 自動化你的數據中心的關鍵點。

Ansible 是一個開源自動化工具,可以從中央控制節點統一配置服務器、安裝軟件或執行各種 IT 任務。它采用一對多、無客戶端agentless的機制,從控制節點上通過 SSH 發送指令給遠端的客戶機來完成任務(當然除了 SSH 外也可以用別的協議)。

Ansible 的主要使用群體是系統管理員,他們經常會周期性地執行一些安裝、配置應用的工作。盡管如此,一些非特權用戶也可以使用 Ansible,例如數據庫管理員就可以通過 Ansible 用 mysql 這個用戶來創建數據庫、添加數據庫用戶、定義訪問權限等。

讓我們來看一個簡單的使用場景,一位系統管理員每天要配置 100 臺服務器,并且必須在每臺機器上執行一系列 Bash 命令,然后交付給用戶。

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

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

定義

  • 任務task:是工作的最小單位,它可以是個動作,比如“安裝一個數據庫服務”、“安裝一個 web 服務器”、“創建一條防火墻規則”或者“把這個配置文件拷貝到那個服務器上去”。
  • 動作play: 由任務組成,例如,一個動作的內容是要“設置一個數據庫,給 web 服務用”,這就包含了如下任務:1)安裝數據庫包;2)設置數據庫管理員密碼;3)創建數據庫實例;4)為該實例分配權限。
  • 劇本playbook:(LCTT 譯注:playbook 原指美式橄欖球隊的戰術手冊,也常指“劇本”,此處慣例采用“劇本”譯名) 由動作組成,一個劇本可能像這樣:“設置我的網站,包含后端數據庫”,其中的動作包括:1)設置數據庫服務器;2)設置 web 服務器。
  • 角色role:用來保存和組織劇本,以便分享和再次使用它們。還拿上個例子來說,如果你需要一個全新的 web 服務器,就可以用別人已經寫好并分享出來的角色來設置。因為角色是高度可配置的(如果編寫正確的話),可以根據部署需求輕松地復用它們。
  • Ansible 星系Ansible Galaxy:是一個在線倉庫,里面保存的是由社區成員上傳的角色,方便彼此分享。它與 GitHub 緊密集成,因此這些角色可以先在 Git 倉庫里組織好,然后通過 Ansible 星系分享出來。

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

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

編寫劇本的小技巧

學習 Ansible ***的資源是其官方文檔。另外,像學習其他東西一樣,搜索引擎是你的好朋友。我推薦你從一些簡單的任務開始,比如安裝應用或創建用戶。下面是一些有用的指南:

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

總結一下

Ansible 是你在數據中心里實施運維自動化的好選擇,因為它:

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

你是怎樣使用 Ansible 讓數據中心更加自動化的呢?請在評論中分享您的經驗。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2018-11-06 20:30:23

Python開源工具機器學習

2022-05-06 12:04:24

Ansible管理工具

2015-08-17 14:13:52

Ansible輕量自動化部署工具

2021-02-22 18:50:03

Ansible系統運維

2013-10-28 13:32:53

開源管理

2021-03-02 06:32:03

Ansible系統運維

2022-09-08 09:00:38

Ansible開源

2010-09-25 08:44:34

捆綁后門

2019-04-29 11:18:43

開源Sensu監控

2021-03-01 13:00:21

Ansible系統運維

2010-06-17 17:01:26

開源UML工具

2021-06-29 18:24:13

MySQL開源工具

2020-10-31 21:47:06

Python數據結構開發

2015-09-15 09:25:23

代碼開源

2014-06-26 14:53:48

開源開源軟件

2015-12-08 16:24:08

網絡取證網絡取證工具Xplico

2020-04-03 16:07:31

DevSecOps開源安全工具

2022-05-16 10:33:16

crontab-ui工具Node.js

2021-01-15 12:22:35

異常檢測工具

2023-06-13 08:24:41

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲人成人一区二区在线观看 | 中文字幕高清一区 | 秋霞a级毛片在线看 | 99视频在线免费观看 | 91高清在线观看 | 国产资源在线播放 | 国产99久久精品 | h视频免费看 | 天天爱天天操 | 日本免费黄色一级片 | 九一精品| 久久69精品久久久久久国产越南 | 欧美精品一区二区在线观看 | 国产精品一区二区三区四区 | 日韩在线免费 | 欧美一区二区三区视频在线观看 | 一区二区成人 | 福利社午夜影院 | 久久久免费观看视频 | 日本不卡一区二区三区 | 中文字幕伊人 | 亚洲国产精品一区二区第一页 | 久久成人免费观看 | 亚洲 成人 在线 | 久久久网| 国产精品综合色区在线观看 | 一区二区成人 | 日韩欧美国产不卡 | 美女视频h | 国产美女久久 | 国产伦精品 | 久久三区 | 午夜精品久久久久久 | a级大毛片 | 国产精品视频网站 | 中文字幕在线精品 | 亚洲精品一区二区三区免 | 视频在线一区二区 | 超碰人人人人 | 91在线影院 | 国产精品精品视频一区二区三区 |