前言
在前一篇 Ansible Journey (01) - 初探 文章中,我們已經大致了解 Ansible 的運作架構和特色功能。那麼,這一篇就開始建立 Ansible 測試環境吧。在本文中,我們將會在 Microsoft Azure 公有雲環境中,手動為 CentOS VM 虛擬主機安裝 Ansible 環境。(當然,你在地端也可以用同樣的方式安裝)透過 Azure Cloud Shell 建立 CentOS VM
本文,將會透過 Azure Cloud Shell 的方式,利用指令快速建立 CentOS VM 虛擬主機。倘若,你對於 Azure CLI 指令不熟悉,或希望透過 Azure Portal 建立 CentOS VM 虛擬主機,請參考下列連結:- Quickstart - Create a Linux VM with the Azure CLI | Microsoft Docs
- Quickstart - Create a Linux VM in the Azure portal | Microsoft Docs
查詢 Azure Datacenter Location
首先,我們透過「azure location list」指令,查詢 Azure Datacenter 所在位置及名稱縮寫,舉例來說,本文實作將會在 Azure 的「新加坡 (Southeast Asia)」Datacenter 建立 CentOS VM 虛擬主機,透過指令可以查詢到 Azure 資料中心名稱為「southeastasia」。建立 Resource Group
建立名稱為「RG-SEA-Ansible」的 Resource Group,並且建立的 Azure Datacenter 在剛才所查詢到的「southeastasia」。查詢 CentOS VM Image 版本
在建立 CentOS VM 虛擬主機之前,查詢在 Southeast Asia 資料中心內支援採用哪些 CentOS VM Image 版本,本文將會採用最新的「CentOS 7.6」版本。了解採用的版本之後,請記錄欲採用 CentOS 版本的「Urn」(例如,本文為 OpenLogic:CentOS:7.6:7.6.20190402),因為這個欄位就是 VM Image,稍後建立 CentOS VM 時需要進行指定。建立 CentOS VM 虛擬主機
在 Azure Cloud Shell 視窗中,執行「az vm create」指令建立一台 Ansible Control Node 角色的 CentOS VM 虛擬主機。az vm create \
--resource-group RG-SEA-Ansible \
--name Ansible-Control \
--image OpenLogic:CentOS:7.6:7.6.20190402 \
--size Standard_D4s_v3 \
--admin-username weithenn \
--admin-password Weithenn@1688 \
--no-wait
接著,透過簡單的迴圈搭配「az vm create」指令,建立三台 Ansible Managed Node 角色的 CentOS VM 虛擬主機。
for i in {1..3}
do
az vm create \
--resource-group RG-SEA-Ansible \
--name Ansible-MgmtNode$i \
--image OpenLogic:CentOS:7.6:7.6.20190402 \
--size Standard_D2s_v3 \
--admin-username weithenn \
--admin-password Weithenn@1688 \
--no-wait
done
由於,我們在建立 CentOS VM 指令中,有帶入「--no-wait」也就是直接執行不用讓 Azure Cloud Shell 等待執行完成或失敗。那麼,要如何確認這四台 CentOS VM 虛擬主機已經建立完成,你可以切換到 Azure Portal 去看一下 Deployments 即可確認。
確認 CentOS VM IP 位址
CentOS VM 虛擬主機建立完成後,可以透過「az vm list-ip-addresses」指令,確認指定的 CentOS VM IP 位址。安裝 Ansible 運作環境
確認擔任 Ansible Control Node 角色的 VM 虛擬主機 IP 位址後,即可透過指定為 CentOS VM 虛擬主機安裝 Ansible 運作環境,詳細資訊請參考 Quickstart - Install Ansible on Linux virtual machines in Azure | Microsoft Docs。sudo yum check-update
sudo yum install -y gcc libffi-devel python-devel openssl-devel epel-release
sudo yum install -y python-pip python-wheel
sudo pip install ansible
安裝完成後,即可鍵入「ansible --version」確認目前運作的 Ansible 版本 (本文實作環境為 ansible 2.8.2)。
刪除 Ansible 測試環境
當然,若要刪除 Ansible 測試環境也非常容易,請執行「az group delete」指令搭配指定的 Resource Group 名稱即可。參考資源
- Installation Guide — Ansible Documentation
- Basic Concepts — Ansible Documentation
- A system administrator's guide to getting started with Ansible - FAST!
- Quickstart - Install Ansible on Linux virtual machines in Azure | Microsoft Docs
- Quickstart - Create a Linux VM with the Azure CLI | Microsoft Docs
- Tutorial - Create and manage Linux VMs with the Azure CLI | Microsoft Docs