《Ansible 控制節點設定完整指南》
7 分鐘閱讀 - 2025年9月10日

透過這份詳細指南,學習如何設定 Ansible 控制節點。從安裝到配置目標伺服器,高效地自動化您的 IT 任務。
Ansible 控制節點設定完整指南
伺服器管理對 IT 專業人員而言,很快就會變成一項令人應接不暇的任務,特別是在處理數百台需要頻繁更新、重新啟動或變更設定的伺服器時。 在各台伺服器上手動重複相同的流程,不僅耗時、容易出錯,且效率低下。此時,自動化便派上用場,協助企業節省時間、減少錯誤並提升生產力。在眾多可用的自動化工具中,Ansible 作為一款強大的開源解決方案,在配置管理、應用程式部署及協調方面尤為突出。
在這份全面指南中,我們將引導您逐步設定 Ansible 控制節點,它將作為管理伺服器的指揮中心。讀完本文後,您將能夠自動化重複性任務、提升基礎架構的可擴展性,並簡化伺服器管理流程。
何謂 IT 自動化,為何它如此重要?
**IT **自動化是指利用工具、腳本或平台,在無需人工干預的情況下執行重複性任務。這些任務可能包括軟體更新、伺服器配置、使用者管理等。自動化的好處是多方面的:
- 提升效率:將例行公事自動化,能為 IT 團隊騰出寶貴時間,使其能專注於策略性計畫。
- 減少錯誤:透過消除手動流程,自動化能將生產環境中的人為錯誤風險降至最低。
- 可擴展性:自動化使企業能夠在不增加營運開銷的情況下擴展營運規模。
- 一致性:自動化任務能在各台伺服器上以標準化方式執行。
透過 Ansible,團隊可在維持靈活性與控制力的同時,簡化自動化流程。
為何選擇 Ansible?此工具的關鍵功能

由 Red Hat 開發的 Ansible 是一款旨在簡化 IT 自動化的開源自動化工具。其獨特功能使其成為初學者和經驗豐富的專業人士的理想選擇:
- 無代理架構:與許多其他工具不同,Ansible 無需在目標伺服器上安裝代理程式。它利用現有的 SSH 連線與受管節點進行通訊。
- 易於使用:Ansible 的配置採用 YAML 語言撰寫,這是一種易於人類閱讀的語言。這種簡潔性使其對初學者而言易於上手,同時仍能為進階使用者提供強大的功能。
- 冪等性:Ansible 確保僅在必要時執行任務,避免重複操作。
- 跨平台支援:Ansible 可與各種環境無縫協作,包括 Ubuntu 和 CentOS 等 Linux 發行版。
- 推送式模型:與拉取式自動化工具不同,Ansible 採用推送式模型,所有任務皆源自控制節點,並在目標伺服器上執行。
Ansible 控制節點設定分步指南
1. 了解 Ansible 控制節點與目標伺服器
控制節點是安裝 Ansible 並發起自動化任務(劇本、指令等)的機器。 目標伺服器(亦稱為受管節點)則是 Ansible 進行配置與管理的系統。為了讓控制節點與受管節點之間能夠無縫通訊,您需要先設定一些先決條件,例如 SSH 存取權限和使用者設定。
2. 在控制節點上安裝 Ansible
針對 Ubuntu
-
更新軟體庫:
sudo apt update -
安裝 Ansible:
sudo apt install ansible -
驗證安裝:
ansible --version
針對 CentOS
-
更新軟體庫:
sudo yum update -
啟用 EPEL 軟體庫(如需):
sudo yum install epel-release -
安裝 Ansible:
sudo yum install ansible-core -
驗證安裝:
ansible --version
3. 建立專用的自動化使用者
為確保所有受管節點間的使用者環境一致,應建立一個專用使用者(例如: ansible)應建立一個專用使用者。
目標伺服器(Ubuntu 或 CentOS)上的操作步驟:
-
建立使用者:
sudo useradd ansible -
為該使用者設定密碼:
sudo passwd ansible -
授予 sudo 權限:
sudo visudo在現有的 root 使用者設定中加入以下行:
ansible ALL=(ALL) NOPASSWD: ALL
4. 啟用無密碼 SSH 驗證
無密碼 SSH 驗證對於控制節點與受管節點之間的無縫通訊至關重要。
在控制節點上:
-
產生 SSH 金鑰對:
ssh-keygen -t rsa -
將公鑰部署至每個受管節點:
ssh-copy-id ansible@<target-server-ip> -
驗證連線:
ssh ansible@<target-server-ip>若設定正確,登入時應無需輸入密碼。
5. 建立清單檔案
清單檔案會列出所有受管節點,並定義其分組方式,以便更輕鬆地進行管理。
-
建立清單檔案:
mkdir ~/ansible-setup cd ~/ansible-setup nano inventory -
新增伺服器詳細資料:
[webservers] server1 ansible_host=<IP-ADDRESS> server2 ansible_host=<IP-ADDRESS>
6. 測試 Ansible 連線
為確保設定成功,請使用 ping 模組來驗證控制節點與受管節點之間的通訊。
-
執行以下指令:
ansible -i inventory all -m ping -u ansible -
成功的回應應如下所示:
server1 | SUCCESS => { "ping": "pong" } server2 | SUCCESS => { "ping": "pong" }
常見問題排除
- SSH 權限錯誤:請確保 SSH 金鑰已正確部署至受管節點。
- 清單配置錯誤:驗證清單檔案的語法,並確保 IP 位址正確無誤。
- Sudo 存取遭拒:確認
ansible使用者是否具備無需輸入密碼的 sudo 權限。
重點摘要
- 效率提升:透過 Ansible 自動化重複性的伺服器任務,可節省時間並減少錯誤。
- 集中式控制:Ansible 控制節點作為管理所有目標伺服器的中央樞紐。
- 易用性:Ansible 的 YAML 語法與無代理設計,使其既適合初學者,又能滿足進階應用場景的需求。
- 靈活性:支援 Ubuntu 與 CentOS 環境,安裝與設定流程簡便。
- 無密碼 SSH:這是確保控制節點與受管節點之間順暢通訊的關鍵步驟。
具體操作步驟:
- 設定一個控制節點來管理您的基礎架構。
- 在所有目標伺服器上建立專用的自動化使用者。
- 運用 Ansible 的模組化工具來管理各項任務,例如軟體安裝、設定更新及部署。
結論
Ansible 是伺服器自動化的可靠且強大的解決方案,既能簡化複雜的 IT 任務,又能確保可擴展性與一致性。建立 Ansible 控制節點是邁向基礎架構管理自動化的第一步,讓您能充分發揮 IT 資源的潛力。 遵循本指南所述的步驟,您不僅能簡化工作流程,更能為團隊提供一款能適應不斷演變的數位需求的工具。立即開始自動化,朝著更智慧、更高效的基础架構邁進一步!
來源:「Ansible 自動化課程系列 #1 — 什麼是 Ansible 及 Ansible 伺服器設定教學」— LearnITGuide 教學影片,YouTube,2025 年 8 月 18 日 — https://www.youtube.com/watch?v=N-DKCRTa_Uo
用途:連結僅供參考。引用簡短內容用於評論/評析。

