天天看點

Ansible-playbook 的使用 | 學習筆記Ansible Playbook 的使用

開發者學堂課程【運維自動化學習第二課時:Ansible-playbook 的使用】學習筆記,與課程緊密聯系,讓使用者快速學習知識。

課程位址:

https://developer.aliyun.com/learning/course/805/detail/13879

Ansible Playbook 的使用

一、Playbook 介紹

二、Playbook 文法

三、Playbook 示例

四、Playbook 常用子產品

一、Ansible playbook 介紹

  • Ansible playbook 是一系統ansible 指令的集合,其利用yaml 語言編寫、運作。
  • 在運作過程中,ansible playbook 指令根據自上而下的順序依次執行。
  • Playbook開創了很多特性,它可以允許它傳輸某個指令狀态到後面的指令,如你可以從一台機器的檔案中抓取内容并附為變量,然後在另一台機器中使用。這使得你可以實作一些複雜的部署機制。

Playbook 與shell 腳本的差別

Ansible-playbook 的使用 | 學習筆記Ansible Playbook 的使用

二、Ansible playbook 的文法

Playbook 檔案有YAML 語言編寫, YAML 是一個類似于XML、JSON 的标記性語言,YAML 強調以資料為中心,并不是以标記語言為重點。因而YAML 本身的定義比較簡單,号稱“一種人性化的資料格式語言”。

  • 大小寫敏感
  • 使用空格作為嵌套縮進工具,縮進時不允許使用tab鍵
  • 縮進的空格數目不重要,隻要相同層次的元素左側對齊即可
  • 使用“-”(橫線)+單個格:表示單個清單項
  • 使用“:”(冒号)+單個空格:表示單個鍵值對
  • 使用“{}”表示一個鍵值表
Ansible-playbook 的使用 | 學習筆記Ansible Playbook 的使用

編寫Playbook 的提醒

  • 編寫時添加空格:通過空格來組的内容,可以讓你的内容更加容易被了解。
  • 為任務添加命名:通過為任務設定名稱,可以在運作輸出時表明在執行什麼任務,對于後續debug 有幫助。
  • 為任務添加注釋:良好的注釋會為你的持續維護提供幫助。
Ansible-playbook 的使用 | 學習筆記Ansible Playbook 的使用

1、Playbook 常用的子產品-ping

Ping 檢查指定節點機器是否還能聯通,用法很簡單,不涉及參數主機,如果線上則回複pong。

Ansible-playbook 的使用 | 學習筆記Ansible Playbook 的使用

2、Playbook 常用子產品-yum

Yum子產品可以用于在伺服器上安裝特定軟體

Ansible-playbook 的使用 | 學習筆記Ansible Playbook 的使用

3、Playbook 常用子產品-pip

Pip子產品可以用于安裝一些python依賴

Ansible-playbook 的使用 | 學習筆記Ansible Playbook 的使用

4、Playbook 常用子產品-copy

Copy子產品可以将本地檔案拷貝至遠端伺服器

Ansible-playbook 的使用 | 學習筆記Ansible Playbook 的使用

5、Playbook 常用子產品-template

Template 子產品可以以模闆的方式來生成檔案并拷貝至服務端

Template 子產品基于Jinja2子產品引擎實作

Ansible-playbook 的使用 | 學習筆記Ansible Playbook 的使用

6、Playbook 常用子產品-user

user子產品可以執行使用者管理功能,對伺服器使用者進行管理。

Ansible-playbook 的使用 | 學習筆記Ansible Playbook 的使用

7、Playbook 常用子產品-group

Group子產品可以對使用者組進行管理。

Ansible-playbook 的使用 | 學習筆記Ansible Playbook 的使用

8、Playbook 常用子產品-get_ url

get _url子產品可以實作從網絡上下載下傳檔案到主機上.

Ansible-playbook 的使用 | 學習筆記Ansible Playbook 的使用

9、Playbook 常用子產品-fetch

Fetch子產品可以實作将文服務端檔案拷位置本地。

Ansible-playbook 的使用 | 學習筆記Ansible Playbook 的使用

10、Playbook 常用子產品-systemd

ystemd子產品可以管理伺服器上的服務,操作服務的啟停。

Ansible-playbook 的使用 | 學習筆記Ansible Playbook 的使用

11、Playbook 常用子產品-cron

cron子產品可以用于配置服務端的crontab服務

Ansible-playbook 的使用 | 學習筆記Ansible Playbook 的使用

12、Playbook 常用子產品-file

file 子產品可以管理遠端伺服器上的檔案

Ansible-playbook 的使用 | 學習筆記Ansible Playbook 的使用

13、Playbook 常用子產品command

command 的子產品可以用于執行指令

command 的子產品和shell 子產品的差別是command 的子產品執行時不含Shell 的環境變量。

Ansible-playbook 的使用 | 學習筆記Ansible Playbook 的使用

總結:簡單的介紹了一下ansible-playbook以及會用到的一些具體的子產品。這些子產品的了解,會對學習内容去編寫具體的playbook會有所幫助。