如何在Ubuntu 20.04上安裝和配置Ansible?


Ansible是一個開源自動化工具,用於自動化軟體配置、配置管理和應用程式部署。它使用一種簡單的名為YAML的語法在劇本中描述任務。Ansible可以用於管理大量伺服器,並可以從中心位置執行。在本文中,我們將討論如何在Ubuntu 20.04上安裝和配置Ansible。

步驟1:更新系統軟體包

在安裝Ansible之前,最好將系統軟體包更新到最新版本。開啟終端並執行以下命令:

sudo apt update
sudo apt upgrade -y

以上命令將更新和升級所有已安裝的軟體包。

步驟2:安裝Ansible

系統軟體包更新後,我們可以使用apt包管理器透過執行以下命令來安裝Ansible:

sudo apt install ansible -y

此命令將在Ubuntu 20.04系統上安裝Ansible。

步驟3:配置Ansible主機檔案

Ansible使用主機檔案來識別要管理的伺服器。預設情況下,主機檔案位於/etc/ansible/hosts。我們需要新增要由Ansible管理的伺服器的IP地址或主機名。

使用以下命令開啟主機檔案:

sudo nano /etc/ansible/hosts

這將在nano編輯器中開啟主機檔案。在此檔案中,我們可以新增要管理的伺服器的IP地址或主機名。主機檔案的格式如下:

[group_name]
server1 ansible_host=ip_address_or_hostname
server2 ansible_host=ip_address_or_hostname

這裡,group_name是要管理的伺服器組的名稱,server1、server2是要管理的伺服器的名稱。ansible_host是伺服器的IP地址或主機名。

儲存並關閉主機檔案。

步驟4:測試Ansible

要測試Ansible是否已正確安裝和配置,我們可以執行一個簡單的命令來ping主機檔案中列出的伺服器。

ansible -m ping all

此命令將ping主機檔案中列出的所有伺服器。如果Ansible配置正確,它將為每臺伺服器返回成功訊息。

步驟5:建立劇本

現在Ansible已正確安裝和配置,我們可以建立一個劇本來自動執行伺服器上的任務。劇本是一個YAML檔案,其中包含Ansible應在伺服器上執行的任務列表。

使用以下命令在您的主目錄中建立一個名為playbook.yaml的新檔案:

nano ~/playbook.yaml

在此檔案中,我們可以新增Ansible應在伺服器上執行的任務列表。例如,以下劇本將在伺服器上安裝Apache:

---
- name: Install Apache
  hosts: group_name
  become: true
  tasks:
    - name: Install Apache
      apt:
        name: apache2
        state: present

在這個劇本中,name是劇本的描述,hosts是要管理的伺服器組的名稱,become: true允許Ansible以提升的許可權執行命令。tasks部分包含Ansible應執行的任務列表。在此示例中,Ansible將使用apt模組安裝Apache。

儲存並關閉playbook.yaml檔案。

步驟6:執行劇本

要執行劇本,我們可以執行以下命令:

ansible-playbook ~/playbook.yaml

此命令將執行劇本並在主機檔案group_name部分中列出的所有伺服器上安裝Apache。

步驟7:其他Ansible配置

可以進行一些其他Ansible配置以增強其功能。這些配置儲存在位於/etc/ansible/目錄中的ansible.cfg檔案中。

可以新增的一種配置是Ansible應用來連線伺服器的預設使用者。為此,請使用以下命令開啟ansible.cfg檔案:

sudo nano /etc/ansible/ansible.cfg

在此檔案中,取消註釋remote_user行並新增您希望Ansible用來連線伺服器的使用者名稱。

remote_user = your_username

儲存並關閉檔案。

可以新增的另一個配置是清單檔案的位置。為此,請開啟ansible.cfg檔案並取消註釋inventory行,然後新增清單檔案的位置。

inventory = /path/to/your/inventory/file

儲存並關閉檔案。

以下是一些可用於進一步增強Ansible安裝的其他技巧:

  • 使用角色 - Ansible角色是一種將您的劇本組織成可重用和模組化元件的方法。透過使用角色,您可以將任務分離成邏輯單元,使您的劇本更易於管理和維護。

  • 使用變數 - Ansible允許您定義可在整個劇本中使用的變數。變數可用於儲存諸如IP地址、使用者名稱和密碼之類的資訊,使您的劇本更靈活、更易於定製。

  • 使用Ansible Vault - Ansible Vault是一個允許您加密敏感資料(如密碼、金鑰和其他機密)的功能。Ansible Vault是一種安全儲存機密的方法,可以輕鬆地整合到您的劇本中。

  • 使用Ansible Tower - Ansible Tower是一個基於Web的UI和自動化平臺,允許您集中管理您的Ansible基礎設施。使用Ansible Tower,您可以自動化劇本執行、管理清單並監控您的基礎設施。

  • 使用Ansible模組 - Ansible帶有各種內建模組,可用於自動化各種任務。Ansible模組可用於安裝軟體、管理使用者、配置網路設定等等。

  • 使用Ansible集合 - Ansible集合是一種打包和分發Ansible內容(如模組、外掛和角色)的方法。Ansible集合可以使用ansible-galaxy命令安裝,並且可以用來擴充套件Ansible安裝的功能。

  • 使用Ansible動態清單 - Ansible動態清單是一個允許您動態生成清單檔案的功能。如果您有大量伺服器或您的基礎設施不斷變化,這將非常有用。Ansible動態清單可以根據AWS、Azure或GCP等雲提供商,或根據其他來源(如CMDB或資料庫)生成清單檔案。

  • 使用Ansible劇本最佳實踐 - 在編寫Ansible劇本時,您可以遵循一些最佳實踐,使其更易於閱讀和維護。其中一些最佳實踐包括為任務和角色使用描述性名稱、使用註釋解釋劇本以及將劇本組織成邏輯部分。

  • 使用Ansible臨時命令 - Ansible臨時命令允許您在無需建立劇本的情況下對一組伺服器執行單個任務。臨時命令對於執行快速簡單的任務非常有用,例如檢查伺服器上的磁碟空間或重新啟動服務。

  • 使用Ansible除錯工具 - Ansible帶有多個除錯工具,可以幫助您排除劇本中的問題。其中一些工具包括ansible-playbook --check命令(允許您檢查劇本是否存在語法錯誤)和ansible-playbook --start-at-task命令(允許您從特定任務開始劇本)。

  • 使用Ansible模板 - Ansible模板是一種建立可在多臺伺服器上使用的動態配置檔案的方法。模板允許您使用變數和條件來生成特定於每臺伺服器的配置檔案。這使您的配置管理更高效、更靈活。

  • 使用Ansible回撥外掛 - Ansible回撥外掛是一種擴充套件Ansible功能並新增自定義輸出格式或操作的方法。回撥外掛可用於傳送通知、將輸出記錄到資料庫或將Ansible與Slack或PagerDuty等其他工具整合。

  • 使用Ansible測試框架 - Ansible測試框架(如Molecule和Testinfra)允許您以可重複和自動化的方式測試您的Ansible劇本。測試您的劇本可確保其按預期工作,並防止在生產中發生錯誤和問題。

透過使用這些額外的技巧,您可以將Ansible的功能和靈活性擴充套件到伺服器管理之外,實現高度自動化和高效的基礎設施,以滿足您的特定需求。Ansible是一個多功能且強大的自動化工具,可以幫助您管理整個基礎設施,從伺服器到網路再到容器等等。

結論

在本文中,我們討論瞭如何在Ubuntu 20.04上安裝和配置Ansible。我們介紹了安裝Ansible、配置主機檔案、測試Ansible、建立劇本和執行劇本的步驟。我們還介紹了一些可以新增以增強其功能的其他Ansible配置。

Ansible 是一款強大的自動化工具,可以節省大量時間和精力來管理大量的伺服器。使用 Ansible,可以自動化任務,使整個過程更快更高效。

更新於:2023年5月12日

6K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.