iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0
DevOps

不爆肝學習 Ansible 的短暫30天系列 第 6

Day06 – 第一個 Playbook:安裝 btop

  • 分享至 

  • xImage
  •  

Day06 – 第一個 Playbook:安裝 btop

今日目標

  1. 了解 Playbook 是什麼
  2. 撰寫並執行第一個 Playbook

為什麼要用 Playbook?

前幾天我們都是使用 ad-hoc 的方式來安裝套件跟更改檔案,雖然看起來一行短短的很方便,但會有一些問題:

  • 每次都要記得很長的指令
  • 多步驟任務時沒辦法一次完成
  • 沒有版控的概念,無法與團隊成員一起開發

撰寫第一個 Playbook

---
- name: Install btop on all servers
  hosts: all
  become: yes
  tasks:
    - name: Install btop
      package:
        name: btop
        state: present

說明:

  • name:描述這個 Playbook 是要幹嘛的
  • hosts:要操作的對象是誰
  • become:是否要切換成 root 執行
  • tasks:這邊可以定義一個或多個任務
  • package:前幾天提到可以用來安裝套件用的一個 module

執行 Playbook

ansible-playbook -i host.yaml install_btop.yml

如果成功的話,會看到類似這樣的結果:

PLAY [Install btop on all servers] ***************************************************************************

TASK [Gathering Facts] ***************************************************************************************
ok: [web-1]

TASK [Install btop] ******************************************************************************************
ok: [web-1]

PLAY RECAP ***************************************************************************************************
web-1                      : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

驗證結果

進到其中一台機器,輸入:

btop

會看到 btop 的畫面

作業練習時間

  1. 完成一個 playbook,安裝 htopgit 兩個套件。
  2. 嘗試在 playbook 中加入第二個 task,用來驗證安裝結果 (提示:使用 command 模組執行 htop --version)。
  3. 練習用 --limit 參數只對特定主機執行 playbook。
  4. 比較 ad-hoc 指令與 playbook 的差異,記錄你的觀察。

明日預告

今天學會了撰寫基本的 Playbook,明天我們來學習如何在 Playbook 中使用變數,讓自動化腳本更加靈活!


上一篇
Day05 – 透過 ad-hoc 修改設定檔
下一篇
Day07 – 用變數讓 Playbook 更聰明
系列文
不爆肝學習 Ansible 的短暫30天7
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言