Ansible AWX基礎配置和使用

AWX是一個開源的web應用,併爲ansible的任務引擎提供用戶接口和REST API。它是 ansible Tower的開源版本。ansible AWX允許我們使用web接口去管理Ansible的playbooks、inventoris和調度任務。

基礎環境配置:

部署AWX:
https://blog.51cto.com/10616534/2405212
我們將通過Ansible AWX的web界面通過運行一個Ansible playbook來完成一個簡單的hello world。
如下兩臺服務器(AWX平臺部署服務器和目標服務器):

  192.168.100.100   AWX-server
  192.168.100.2   test

AWX簡單使用

1)創建管理目標服務器的認證方式

首先,我們先配置Ansible AWX的認證證書,用於在啓動和運行任務時對目標節點主機的認證管理。默認Ansible AWX支持多種認證憑證,包括常規服務器之間基於SSH的認證,Amazon Web Services,Google Computer Engine,OpenStack,Vault password,Source Control 等等。
如:
Ansible AWX基礎配置和使用
爲了創建一個新的認證憑證,在AWX web平臺點擊左側菜單的Credentials,接着點解頁面右側的+按鈕來添加一個Credentials, 如下圖所示:
Ansible AWX基礎配置和使用

填寫Credentials名稱以及描述,選擇Credentials類型,選擇比較簡單的Machine,它允許通過SSH認證去管理服務器。它支持兩種認證方式:基於密碼和基於祕鑰。
Ansible AWX基礎配置和使用
我們將採用基於祕鑰的認證方式,因此需要填寫系統的用戶名和用戶的SSH私鑰:如下圖:
Ansible AWX基礎配置和使用
最後點擊右邊的save保存,將會成功創建一個新的Machine類型的Ansible AWX credentials。
Ansible AWX基礎配置和使用

2)創建Inventories

通過Inventories定義通過Ansible AWX管理的主機羣組。Inventories允許你爲幾個服務器創建一個組,並且還能很方便的去管理不同的服務器和它們所依賴的環境變量。爲了去管理操作服務器,我們必須去創建一個新的inventory group 並且給這組中添加服務器。
同樣,點擊ansible AWX左側的菜單Inventories,接着點擊右邊的+按鈕,並選擇Inventory:
Ansible AWX基礎配置和使用
如下所示:先填寫名稱和描述,並點擊保存
Ansible AWX基礎配置和使用
接着點解頁面上方的主機(HOSTS)按鈕,並點擊右側的+,爲這個inventory添加主機,如圖所示:
Ansible AWX基礎配置和使用
如下圖所示:填寫主機名( HOST NAME),描述(DESCRIPTION),並且在VARIABLES中,填入目標主機的IP地址 "ansible_host: 192.168.100.2",並點擊保存(SAVE)。
Ansible AWX基礎配置和使用
接着我們在頁面下方可以看到我們剛纔創建的inventory中新添加的hosts,爲了確保host的配置,我們可以通過ping命令來檢查該host,選中添加的主機前邊的複選框,並且點擊RUN COMMANDS按鈕。
Ansible AWX基礎配置和使用
接着選擇ping模塊(MODILE-->Choose a module--ping),接着選擇我們的第一步中創建的Credentials(認證)方式,然後點解右邊的LAUNCH按鈕
Ansible AWX基礎配置和使用
接着我們會看到一下執行結果的頁面,如圖所示:
Ansible AWX基礎配置和使用
至此,成功創建了一個新的inventory,並且添加了指定的目標主機(服務器)。

3)創建一個Projects

在於AWX中,Projects的作用相當於對一個Ansible Playbook庫的管理,他可以對本地目錄或者對類似GIt、Svn(Subversion)及RedHat Insights中的Ansible Playboos進行管理。
創建一個新的Projects,點擊左側的Projects菜單按鈕,點擊右側的+,進行創建,如下圖:
Ansible AWX基礎配置和使用
填寫創建Project的名稱以及描述(可選),並選擇一個SCM TYPE,我們這裏選擇 Manual類型(選擇本地目錄),指定項目的基礎路徑(PROJECT BASE PATH),並在項目的基礎路徑下選擇一個存放playbook的目錄(說明:即如果SCM TYPE類型選擇Manual,則項目的基礎路徑將指向本地目錄,此時需要在這個目錄下根據自己的部署操作需求創建子目錄,並將指定的playbook文件放在自己創建的目錄中,以供在創建項目(Project是使用)),最後點擊右側的save保存,如圖:
Ansible AWX基礎配置和使用
Ansible AWX基礎配置和使用
注意:如果在創建Project時需要選擇SCM類型爲Manual,則/var/lib/awx/projects是Ansible playbooks默認的項目目錄,如果你部署AWX是採用的是Docker形式部署的,則需要開啓project_data_dir選項。例如通過docker-compose安裝部署的AWX,則可以修改awx/installer目錄下的inventory文件,如下:
Ansible AWX基礎配置和使用

4)創建一個任務模板

任務模板其實就是爲了運行Ansible Playbooks,創建一個新的模板需要選擇目標主機(在inventory重定義的,選擇自己新創建的inventory)、認證方式(在Credentials中選擇的方式,即選擇自己新創建的Credentials)、以及選擇project中指定的playbook文件。
點擊左邊的Template按鈕,點擊右邊的+,並且選擇Job template選項:
Ansible AWX基礎配置和使用
填寫新創建任務模板的名字和描述,並且選擇之前創建過的INVENTORY、CREDENTIAL和PROJECT,然後保存,最後就可以通過模板任務去運行指定的playbooks來進行部署。
Ansible AWX基礎配置和使用
hello_world.yml任務是在目標主機上輸出一個helloword到指定的文件中:

---
- hosts: all
  tasks:
     - name: "helloworld"
       shell: echo "Hello World" `date` by `hostname` > /tmp/hello.log

5)運行模板任務

我們可以通過運行的job template,來指定Projects中對應的playbooks,並在Invertory指定的目標主機上進行部署。
點擊右側的Templates,然後找到指定的job Template,然後點擊右側的圖標來運行該任務。
Ansible AWX基礎配置和使用
運行結果如下:
Ansible AWX基礎配置和使用
Ansible AWX基礎配置和使用

最後,檢查目標節點是否按照playbooks完成了指定的操作

Ansible AWX基礎配置和使用
說明成功的在指定的目標主機上執行了指定的操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章