如果您有许多主机需要管理,是时候通过安装Ansible来自动化配置管理了!Ansible是最流行的自动化工具,用于管理本地和云资源上的配置更改。
在本文中,您将从零开始学习如何在Ubuntu、RHEL和macOS上下载和安装Ansible控制主机。您还将迅速了解如何运行您的第一批命令!
本教程将使用Ansible v2.9.20,但在后续版本上设置Ansible控制主机的过程应该几乎相同。
让我们开始吧!
在Ubuntu上安装Ansible
您可以在任何基于*nix的操作系统上安装Ansible。其中最受欢迎的选择之一是Ubuntu。让我们开始这个教程,了解如何进行操作。
如果您想要在Ubuntu上设置Ansible,本部分将假定您有一个安装了Python2或更高版本的Ubuntu 18+机器。本教程将使用安装有Python3的Ubuntu 18.04.5 LTS。
1. 使用您喜好的SSH客户端连接到即将成为Ansible控制器的Ubuntu主机。
2. Ansible存储为一个可以通过apt软件包管理器下载和安装的软件包。为确保apt能够找到正确的源并下载任何依赖软件包,请运行apt update
。
apt或apt-get命令会从在Ubuntu中配置的apt软件仓库中安装软件包。
3. 通过安装software-properties-common
软件包继续准备apt以下载并安装Ansible。sudo apt install software-properties-common

4. 接下来,将ansible/ansible
个人软件包存储库(PPA)添加为apt仓库。此存储库由Red Hat管理,而不是由Ubuntu源管理,因此您必须手动添加它。

5. 现在,通过运行apt install
命令安装ansible软件包。
6. 完成后,通过运行ansible --version
命令确认Ansible已安装。如果一切正常,ansible --version

在RHEL上安装Ansible
Ubuntu不是Ansible支援的唯一作業系統。紅帽企業Linux(RHEL)或CentOS也是常見的選擇。讓我們從RHEL開始。
如果您計畫跟隨這一節,請確保您擁有一個RHEL發行版8+主機(本教程將使用RHEL 8.3(Ootpa))。
1. 透過SSH與您最喜愛的SSH客戶端連接到您的RHEL主機。
2. 使用dnf安裝python3-pip
和python3
套件。Ansible可與Python2一起工作,但本教程將使用Python3,因為Python2即將被認為是過時的。

3. 安裝Extra Packages for Enterprise Linux (EPEL) 倉庫。EPEL倉庫包含各種系統套件,包括下一步將安裝的Ansible套件。

4. 安裝完倉庫後,通過引用所需的EPEL倉庫和套件的名稱(ansible
)安裝Ansible套件。dnf工具會自動下載Ansible的最新版本。
5. 現在,通過運行

在CentOS上安裝Ansible
最後,讓我們以在CentOS上設置Ansible來結束對*nix主機的討論。
如果您計劃遵循這一節,請確保您的主機運行CentOS 7+,並安裝了Python2或更高版本(本教程將使用CentOS 7.9.2009 Core)。
1. 用您喜歡的SSH客戶端通過SSH連接到您的CentOS主機。
2. 安裝企業Linux的額外軟體包(EPEL)存儲庫。 EPEL存儲庫包含各種系統軟體包,包括您將在下一步中安裝的Ansible軟體包。
yum命令通過使用官方的紅帽軟體存儲庫以及其他第三方存儲庫,安裝和管理軟體。

3. 存儲庫完成後,安裝Ansible軟體包。

4. 現在,運行ansible --version
確認Ansible是否已安裝。

在macOS上安裝Ansible
到目前為止,您已經學會了如何在各種Linux發行版上設置Ansible。讓我們完成這個教程,學習如何在Mac上安裝Ansible。
本教程的這一部分將專注於名為Homebrew的流行macOS包管理器。 Homebrew是在macOS上安裝Ansible的最簡單方法。本教程將在macOS Catalina上使用Homebrew v3.0.7。
如果您想要了解如何透過流行的Python套件管理器pip安裝Ansible,請查看Ansible pip套件。
在macOS上安裝:
- 打開Apple Terminal。
- 執行以下命令以使用Homebrew下載並安裝Ansible到您的Mac。
- 完成後,運行
ansible --version
來驗證是否安裝了Ansible。
透過運行Ad-Hoc命令來測試Ansible
現在Ansible已經安裝好了,但除非您真的使用它,否則沒什麼用!開始使用Ansible的最簡單方法之一是了解即席命令。即席命令通常是一次性的單行命令,Ansible會在遠程計算機上執行它們(或在本例中在Ansible主機上執行)。
使用-m
開關在您選擇的操作系統上運行即席命令。-m
開關指定包含各種功能的Ansible模組。
其中最簡單的 Ansible 模組之一是 ping 模組。此模組測試 Ansible 控制器與主機之間的連通性。如果您沒有任何遠程主機可用,請提供 Ansible 控制器本身的名稱 (localhost
) 以運行 ping 模組。
如果成功,您應該會看到綠色的輸出表示成功!

結論
在這個教程中,您學會了如何在 Ubuntu、RHEL、CentOS 和 macOS 上設置最廣泛使用的自動化工具 Ansible。
現在您已經設置了一個新的 Ansible 控制器主機,您打算用它來管理什麼?