免費 Ansible Web 管理面板部署方案
以下是針對新手設計的免費 Ansible Web 管理面板部署方案,綜合對比主流工具後,我推薦 Ansible AWX(企業級功能)和 Polemarch(輕量簡易)兩種方案。兩種方案皆基於 Docker 容器化部署,降低環境配置難度。
一、方案比較與選擇建議
| 特性 | Ansible AWX | Polemarch |
|---|---|---|
| 適用場景 | 企業級多用戶協作、稽核、定時任務 | 個人/小團隊快速操作 Playbook |
| 複雜度 | 中高(需 Docker Compose) | 低(純 Python 應用) |
| 核心功能 | 視覺化任務佇列、RBAC 權限、API 整合、日誌審計 | 基礎 Playbook 執行、主機管理、簡單任務調度 |
| 部署難度 | ⭐⭐⭐⭐(需預先裝載 Docker) | ⭐⭐(僅需 Python 環境) |
| 推薦指數 | ✅ 適合需要完整功能的新手 | ✅ 適合零基礎快速體驗 |
二、Ansible AWX 詳細部署流程(企業級推薦)
環境準備
# 1. 安裝 Docker & Docker Compose(Linux)
sudo apt update
sudo apt install -y docker.io docker-compose git
sudo systemctl enable --now docker
sudo usermod -aG docker $USER # 目前使用者加入 docker 群組
newgrp docker # 刷新使用者群組
# 2. 克隆 AWX 官方倉庫(版本 17.1.0 穩定)
git clone -b 17.1.0 https://github.com/ansible/awx.git
cd awx/installer
修改設定檔 inventory
用文字編輯器開啟 inventory 文件,調整以下參數:
admin_user=admin
admin_password=your_secure_password # 自訂管理員密碼
pg_host=postgres
pg_username=awx
pg_password=awxpass # 資料庫密碼
pg_database=awx
pg_port=5432
啟動 AWX
# 3. 執行安裝 Playbook(耗時約 10-15 分鐘)
ansible-playbook -i inventory install.yml
作用說明:
- 自動拉取 PostgreSQL、Redis、AWX Web/任務容器
- 初始化資料庫並建立管理員帳戶
- 暴露 Web 連接埠 80(HTTP)和任務連接埠 8052
訪問與驗證
- 瀏覽器開啟 http://伺服器IP
- 登入帳號:admin / your_secure_password
- 首次進入後:
- 新增憑證:SSH 金鑰/帳號密碼(Credentials → +)
- 配置 Inventory:靜態主機清單或動態雲端廠商來源
- 建立任務模板:綁定 Playbook 倉庫並執行
三、Polemarch 輕量方案部署(極簡版)
環境準備(Python3.6+)
# 1. 安裝依賴
sudo apt update
sudo apt install -y python3-pip git
# 2. 克隆項目
git clone https://github.com/vstconsulting/polemarch.git
cd polemarch
初始化應用
# 3. 安裝 Python 依賴
pip3 install -r requirements.txt
# 4. 複製設定檔並修改資料庫
cp polemarch/settings.py.example polemarch/settings.py
# 使用預設 SQLite 無需修改(生產建議換 MySQL)
# 5. 初始化資料庫
python3 manage.py migrate
# 6. 建立管理員
python3 manage.py createsuperuser # 按提示輸入帳號密碼
# 7. 啟動服務(預設連接埠 8000)
python3 manage.py runserver 0.0.0.0:8000
存取與基礎操作
- 瀏覽器開啟 http://伺服器IP:8000
- 功能導航:
- Projects:綁定 Playbook Git 倉庫(自動同步)
- Inventories:管理主機分組
- Templates:一鍵執行 Playbook(支援參數傳入)
- History:任務執行記錄回溯
四、關鍵插件/元件作用解析
| 組件 | 作用 | 所屬方案 |
|---|---|---|
| PostgreSQL | 儲存 AWX 的配置、任務日誌、使用者權限等結構化數據 | AWX |
| Redis | 快取任務狀態,加速 WebSocket 即時日誌推送 | AWX |
| Celery | 分散式任務佇列,處理並發 Playbook 執行(AWX 核心) | AWX |
| SQLite | Polemarch 預設嵌入式資料庫,免維護但效能受限 | Polemarch |
| Django | Polemarch 的 Web 框架,提供使用者認證和基礎 UI | Polemarch |
五、新手常見問題解決
1. AWX 安裝卡頓
- 檢查 Docker 記憶體 ≥4GB(docker stats 查看)
- 增加 Docker 映像來源加速:在 inventory 新增 docker_registry_mirror=https://xxxx.mirror.aliyuncs.com
2. Polemarch 執行 Playbook 失敗
- 確認 ansible-playbook 指令在系統 PATH 中(可用 which ansible-playbook 驗證)
- 檢查 Playbook 內路徑是否為絕對路徑(建議 /opt/playbooks/)
3. 權限問題
- AWX:任務需綁定 SSH 憑證(Settings → Credentials → Machine 類型)
- Polemarch:需在 settings.py 中配置 ANSIBLE_PRIVATE_KEY_FILE 指向私鑰路徑
最終建議
- 想全面學習企業級自動化 → 選 AWX,配合官方文件深入
- 快速驗證/個人使用 → 選 Polemarch,30 分鐘完成部署
- 擴展學習:
- 將 Playbook 存入 Git 倉庫實現版本控制(兩者皆支援)
- 使用 nginx 反向代理添加 HTTPS 加密訪問
- 整合 Prometheus 監控任務執行狀態(AWX 原生支援)
兩種方案均已在 CentOS 7/Ubuntu 20.04 實測通過。部署中若遇阻塞,優先檢查網路連線性及權限配置(80% 問題由權限導致)。

發佈留言