← 返回上一頁
DevOps

免費 Ansible Web 管理面板部署方案:AWX 與 Polemarch 完整教學

本頁目錄

免費 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

訪問與驗證

  1. 瀏覽器開啟 http://伺服器IP
  2. 登入帳號:admin / your_secure_password
  3. 首次進入後:
    • 新增憑證: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

存取與基礎操作

  1. 瀏覽器開啟 http://伺服器IP:8000
  2. 功能導航:
    • 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% 問題由權限導致)。

分享這篇
X LinkedIn Facebook Hacker News Reddit

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料