如何在 Ubuntu 20.04 上安裝 Ansible AWX 17.1.0

AWX 是一個由 Red Hat 贊助的開源社區項目。 它用作 Ansible Tower 的開發環境。 AWX 將頻繁發布並擁有所有新的發展。

Ansible AWX 提供基於 Web 的用戶界面來管理 Ansible 主機、劇本、模塊、作業調度、工作流自動化、憑證共享和啟用委派的工具。

在本教程中,我們將通過 安裝 的過程 Ansible AWXUbuntu 20.04.

先決條件

  • root 訪問權限,或具有以下權限的用戶 sudo SSH 連接的權限。
  • Ubuntu 20.04 或 18.04
  • 最低限度 4GB 內存
  • 最低限度 2個vpu
  • 最低限度 20GB 可用存儲空間

為了成功啟動和運行 Ansible AWX,還需要安裝:

  • Ansible
  • Docker 和 Docker 組合
  • 節點和 NPM

1. 在 Ubuntu 20.04 上安裝 Ansible

首次更新系統

$ sudo apt update

要安裝 Ansible,請鍵入:

$ sudo apt install ansible -y

要驗證已安裝 Ansible 的版本,請運行以下命令:

$ ansible --version

輸出:

ansible 2.9.6
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/linoxide/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]

主要的配置文件存儲在 /etc/ansible/hosts 文件。

2. 安裝 Docker 和 Docker Compose

要成功安裝和配置 Docker,請參閱如何在 Ubuntu 20.04 上安裝 Docker

Docker安裝後,驗證版本:

$ docker version

輸出:

Client: Docker Engine - Community
Version: 20.10.6
API version: 1.41
Go version: go1.13.15
Git commit: 370c289
Built: Fri Apr 9 22:47:17 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.6
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: 8728dd2
Built: Fri Apr 9 22:45:28 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.4
GitCommit: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
runc:
Version: 1.0.0-rc93
GitCommit: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
docker-init:
Version: 0.19.0
GitCommit: de40ad0

對於 Docker Compose 安裝,請參閱如何在 Ubuntu 20.04 上安裝 Docker Compose。

安裝 Docker Compose 後,驗證版本:

$ docker-compose version

輸出:

docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019

3.安裝Node和NPM

接下來,安裝 Node.js

$ sudo apt install -y nodejs npm

並安裝 NPM

$ sudo npm install npm --global

4. 在 Ubuntu 20.04 上安裝 Ansible AWX

一旦我們完成了之前的安裝,就可以安裝 Ansible AWX。

安裝 docker-py 蟒蛇 具有以下命令的模塊:

$ sudo apt install python3-pip git pwgen vim

安裝 要求 它允許發送 HTTP/1.1 請求:

$ sudo pip3 install requests==2.22.0

此外,我們需要一個用於 python 的 docker-compose 模塊,它與您安裝的 Docker Compose 版本相匹配。

$ docker-compose version

輸出:

docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019

檢查 docker-compose 版本(我的是 1.29.2)並使用以下命令安裝模塊。

$ sudo pip3 install docker-compose==1.29.2

安裝 pi-modules 後,我們將從以下位置下載最新的 AWX zip 文件 GitHub 使用以下命令。

$ wget https://github.com/ansible/awx/archive/17.1.0.zip

解壓下載目錄:

$ unzip 17.1.0.zip

並將目錄更改為 awx-17.1.0 / 安裝程序 /

$ cd awx-17.1.0/installer/

使用以下命令為 AWX 生成密鑰或隨機密碼:

$ pwgen -N 1 -s 30

輸出:

6YJ0TM4MsmpKIrNCqEVA1i4TAa3zbG

接下來,找一個 存貨 文件並用最喜歡的編輯器打開它:

$ sudo nano inventory

嘗試保留以下設置:

注意:更換 密鑰 使用我們剛剛生成的:

dockerhub_base=ansible
awx_task_hostname=awx
awx_web_hostname=awxweb
postgres_data_dir=/tmp/pgdocker
host_port=80
host_port_ssl=443
docker_compose_dir=/tmp/awxcompose
pg_username=awx
pg_password=awxpass
pg_database=awx
pg_port=5432
admin_user=admin
admin_password=password
create_preload_data=True
secret_key=6YJ0TM4MsmpKIrNCqEVA1i4TAa3zbG

將此配置與您的配置匹配後,是時候使用以下命令執行劇本了:

$ ansible-playbook -i inventory install.yml

安裝文件 – 是劇本文件的名稱

-一世 告訴 ansible 使用庫存文件

安裝輸出:

ansible-playbook install.yml

驗證一切順利,沒有失敗的任務。

安裝 ansible-playbook 後,檢查 docker 容器以獲取正在運行的容器列表:

$ docker ps

輸出:

碼頭集裝箱清單

如您所見,一個 ansible 腳本創建並啟動了 4 個 docker 容器:

  • awx_task
  • awx_web
  • awx_redis
  • awx_postgres

對我們來說是最重要的 awx_web 這是在端口上運行 80.

您可以通過以下方式訪問 Ansible AWX Web-UI 主機 或者 主機名 在港口 80.

Ansible AWX 登錄頁面

使用先前定義的憑據登錄 存貨 文件。

Ansible AWX 儀表板

登錄後將看到主儀表板。 從那裡您可以開始管理 Ansible AWX 並享受儀表板概覽。

結論

在本教程中,我們學習瞭如何使用 ansible-playbook 和 Docker 容器在 Ubuntu 20.04 上安裝 Ansible AWX。