如何在CentOS 8上安裝 Ansible自動(dòng)化工具
Ansible 是給 Linux 系統(tǒng)管理員使用的出色自動(dòng)化工具。它是一種開源配置工具,能讓系統(tǒng)管理員可以從一個(gè)中心節(jié)點(diǎn)(即 Ansible 服務(wù)器)管理數(shù)百臺(tái)服務(wù)器。將 Ansible 與 Puppet、Chef 和 Salt 等類似工具進(jìn)行比較時(shí),它是首選的配置工具,因?yàn)樗恍枰魏未?,并且可以工作?SSH 和 python 上。
在本教程中,我們將學(xué)習(xí)如何在 CentOS 8 和 RHEL 8 系統(tǒng)上安裝和使用 Ansble。
Ansible 實(shí)驗(yàn)環(huán)境信息:
- 最小化安裝的 CentOS 8 / RHEL 8 服務(wù)器(192.168.1.10),且有互聯(lián)網(wǎng)連接
- 兩個(gè) Ansible 節(jié)點(diǎn) – Ubuntu 18.04 LTS (192.168.1.20) 和 CentOS 7 (192.168.1.30)
CentOS 8 上的 Ansible 安裝步驟
Ansible 包不在 CentOS 8 默認(rèn)的軟件包倉庫中。因此,我們需要執(zhí)行以下命令啟用 EPEL 倉庫:
[root@linuxtechi ~]$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-
latest-8.noarch.rpm -y
啟用 epel 倉庫后,執(zhí)行以下 dnf 命令安裝 Ansible:
[root@linuxtechi ~]$ sudo dnf install ansible
上面命令的輸出:
成功安裝 Ansible 后,運(yùn)行以下命令驗(yàn)證它的版本:
[root@linuxtechi ~]$ sudo ansible --version
上面的輸出確認(rèn)在 CentOS 8 上安裝完成。
讓我們看下 RHEL 8 系統(tǒng)。
RHEL 8 上的 Ansible 安裝步驟
如果你有有效的 RHEL 8 訂閱,請(qǐng)使用以下訂閱管理器命令啟用 Ansble 倉庫:
[root@linuxtechi ~]$ sudo subscription-manager repos --enable ansible-2.8-for-rhel-8-x86_64-rpms
啟用倉庫后,執(zhí)行以下 dnf 命令安裝 Ansible:
[root@linuxtechi ~]$ sudo dnf install ansible -y
安裝 Ansible 及其依賴包后,執(zhí)行以下命令來驗(yàn)證它的版本:
[root@linuxtechi ~]$ sudo ansible --version
在 CentOS 8 / RHEL 8 上通過 pip3 安裝 Ansible 的可選方法
如果你希望使用 pip(Python 的包管理器)安裝 Ansible,請(qǐng)首先使用以下命令安裝 pyhton3 和 python3-pip 包:
[root@linuxtechi ~]$ sudo dnf install python3 python3-pip -y
安裝 python3 后,運(yùn)行以下命令來驗(yàn)證它的版本:
[root@linuxtechi ~]$
python3 -V Python 3.6.8
[root@linuxtechi ~]$
用下面的 pip3 命令安裝 Ansible:
[root@linuxtechi ~]$ pip3 install ansible --user
輸出:
上面的輸出確認(rèn) Ansible 已成功使用 pip3 安裝。讓我們看下如何使用 Ansible。
如何使用 Ansible 自動(dòng)化工具?
當(dāng)我們使用 yum 或 dnf 命令安裝 Ansible 時(shí),它的配置文件、清單文件和角色目錄會(huì)自動(dòng)在 /etc/ansible 文件夾下創(chuàng)建。
讓我們添加一個(gè)名稱為 labservers 的組,并在 /etc/ansible/hosts 文件中給該組添加上述的 Ubuntu 18.04 和 CentOS 7 系統(tǒng)的 IP 地址:
[root@linuxtechi ~]$ sudo vi /etc/ansible/hosts
…
[labservers]
192.168.1.20
192.168.1.30
…
保存并退出文件。
更新清單文件(/etc/ansible/hosts)后,將用戶的 ssh 公鑰放到屬于 labservers 組的遠(yuǎn)程系統(tǒng)。
讓我們首先使用 ssh-keygen 命令生成本地用戶的公鑰和私鑰:
[root@linuxtechi ~]$ ssh-keygen
現(xiàn)在使用以下命令在 Ansible 服務(wù)器及其客戶端之間交換公鑰:
[root@linuxtechi ~]$ ssh-copy-id root@linuxtechi
[root@linuxtechi ~]$ ssh-copy-id root@linuxtechi
現(xiàn)在,讓我們嘗試幾個(gè) Ansible 命令,首先使用 ping 模塊驗(yàn)證 Ansible 服務(wù)器與客戶端的連接:
[root@linuxtechi ~]$ ansible -m ping "labservers"
注意: 如果我們沒有在上面的命令中指定清單文件,那么它將引用默認(rèn)主機(jī)文件(即 /etc/ansible/hosts)。
輸出:
本文就是這些了,我們成功演示了如何在 CentOS 8 和 RHEL 8 系統(tǒng)中安裝和使用 Ansible。請(qǐng)分享你的反饋和意見。