matrix, starring, face first

自動化大量機器維運的利器 Ansible – Command 基礎操作 – Part 1

管理 Linux 機器並不是一件很困難的事情,不過一次要管理(部屬)數十台甚至數百台機器,就很痛苦了 …

好佳在有個十分強大的套件 Ansible 誕生了(AgentLess), 透過 SSH 自動化將所有機器一口氣進行套件安裝、組態設定、服務管理等一鍵完成,接下來就讓我們透過範例介紹如何使用 Ansible 這個超級工具 ~~

此範例使用 container (容器版本為 CentOS 7) 模擬五台不同機器

基本要求

1. 需要具備 SSH Client 及 SSH Server 能力 
(Linux 預設已經啟動 .... Container 需要另外處理)
2. 執行機器(僅一台)需要安裝 Ansible
3. 需具備 Python 3 or python 2 直譯器

Ansible 安裝方式 ( CentOS 為例)

sudo yum install epel-release -y
sudo yum install ansible -y
  • 功能測試

三大組成

  • [x] ansible.cfg -> 啟動此 ansible 設定檔
  • [x] inventory -> 機器相關訊息
  • [ ] playbook.yml -> 執行的指令搞 (非必須)

起手式

  • 配置 workstation 及 server[a-d] 五台機器

1. 基礎 Ping 範例

  • 執行 ping 模組 ansible all -m ping

2. yum 套件安裝範例

  • 執行 yum 模組 ansible all -m yum -a 'name=lsof state=present'

  • 顯示黃色 -> 表示機器改變狀態,成功安裝 lsof 套件

  • 再次執行上述指令測試

  • 顯示綠色 -> 表示機器未改變狀態,套件已經存在

3. user 創建範例

  • 執行 user 模組 ansible all -m user1 -a 'name=user1 state=present'

  • 顯示黃色 -> 表示機器改變狀態,成功創建使用者

  • 再次執行上述指令測試

  • 顯示綠色 -> 表示機器未改變狀態,使用者已經存在

指令說明

    1. ping 模組
ansible  all  -m  ping
  #1      #2   #3  #4  

#1 -> 使用 ansible commend 工具
#2 -> 執行全部 inventory 內的機器
#3 -> 開啟模組功能
#4 -> 使用 ping 模組

    1. yum 模組
ansible all -m yum -a 'name=lsof state=present'
  #1    #2  #3 #4  #5  #6        #7

#1 -> 使用 ansible commend 工具
#2 -> 執行全部 inventory 內的機器
#3 -> 開啟模組功能
#4 -> 使用 yum 模組
#5 -> 啟用參數功能
#6 -> 安裝套件名稱為 : lsof
#7 -> 選擇安裝還是移除 : present (安裝) / absent (移除) / latest (更新套件)

    1. user 模組
ansible all -m user -a 'name=user1 state=present'
  #1    #2  #3 #4  #5  #6        #7

#1 -> 使用 ansible commend 工具
#2 -> 執行全部 inventory 內的機器
#3 -> 開啟模組功能
#4 -> 使用 user 模組
#5 -> 啟用參數功能
#6 -> 創建使用者名稱 : user1
#7 -> 選擇新增還是移除 : present (新增) / absent (移除) 

Similar Posts

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。