您好,登錄后才能下訂單哦!
Ansible 是給?Linux?系統管理員使用的出色自動化工具。它是一種開源配置工具,能讓系統管理員可以從一個中心節點(即 Ansible 服務器)管理數百臺服務器。將 Ansible 與 Puppet、Chef 和 Salt 等類似工具進行比較時,它是首選的配置工具,因為它不需要任何代理,并且可以工作在 SSH 和 python 上。 |
在本教程中,我們將學習如何在?CentOS?8 和 RHEL 8 系統上安裝和使用 Ansble。
Ansible 實驗環境信息:
最小化安裝的 CentOS 8 / RHEL 8 服務器(192.168.1.10),且有互聯網連接
兩個 Ansible 節點 - Ubuntu 18.04 LTS (192.168.1.20) 和 CentOS 7 (192.168.1.30)
CentOS 8 上的 Ansible 安裝步驟
Ansible 包不在 CentOS 8 默認的軟件包倉庫中。因此,我們需要執行以下命令啟用?EPEL 倉庫:
[root@linuxtechi?~]$?sudo?dnf?install?https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm?-y
啟用 epel 倉庫后,執行以下 dnf?命令安裝 Ansible:
[root@linuxtechi?~]$?sudo?dnf?install?ansible
上面命令的輸出:
dnf-install-ansible-centos8
成功安裝 Ansible 后,運行以下命令驗證它的版本:
[root@linuxtechi?~]$?sudo?ansible?--version
Ansible-version-CentOS8
上面的輸出確認在 CentOS 8 上安裝完成。
讓我們看下 RHEL 8 系統。
RHEL 8 上的 Ansible 安裝步驟
如果你有有效的 RHEL 8 訂閱,請使用以下訂閱管理器命令啟用 Ansble 倉庫:
[root@linuxtechi?~]$?sudo?subscription-manager?repos?--enable?ansible-2.8-for-rhel-8-x86_64-rpms
啟用倉庫后,執行以下 dnf?命令安裝 Ansible:
[root@linuxtechi?~]$?sudo?dnf?install?ansible?-y
安裝 Ansible 及其依賴包后,執行以下命令來驗證它的版本:
[root@linuxtechi?~]$?sudo?ansible?--version
在 CentOS 8 / RHEL 8 上通過 pip3 安裝 Ansible 的可選方法
如果你希望使用?pip(Python 的包管理器)安裝 Ansible,請首先使用以下命令安裝 pyhton3 和 python3-pip 包:
[root@linuxtechi?~]$?sudo?dnf?install?python3?python3-pip?-y
安裝 python3 后,運行以下命令來驗證它的版本:
[root@linuxtechi?~]$?python3?-V Python?3.6.8 [root@linuxtechi?~]$
用下面的 pip3?命令安裝 Ansible:
[root@linuxtechi?~]$?pip3?install?ansible?--user
輸出:
Ansible-Install-pip3-centos8
上面的輸出確認 Ansible 已成功使用 pip3?安裝。讓我們看下如何使用 Ansible。
如何使用 Ansible 自動化工具?
當我們使用?yum?或?dnf?命令安裝 Ansible 時,它的配置文件、清單文件和角色目錄會自動在?/etc/ansible?文件夾下創建。
讓我們添加一個名稱為 labservers 的組,并在 /etc/ansible/hosts 文件中給該組添加上述的 Ubuntu 18.04 和 CentOS 7 系統的 IP 地址:
[root@linuxtechi?~]$?sudo?vi?/etc/ansible/hosts … [labservers] 192.168.1.20 192.168.1.30 …
保存并退出文件。
更新清單文件(/etc/ansible/hosts)后,將用戶的 ssh 公鑰放到屬于?labservers?組的遠程系統。
讓我們首先使用?ssh-keygen?命令生成本地用戶的公鑰和私鑰:
[root@linuxtechi?~]$?ssh-keygen
現在使用以下命令在 Ansible 服務器及其客戶端之間交換公鑰:
[root@linuxtechi?~]$?ssh-copy-id?root@linuxtechi [root@linuxtechi?~]$?ssh-copy-id?root@linuxtechi
現在,讓我們嘗試幾個 Ansible 命令,首先使用 ping?模塊驗證 Ansible 服務器與客戶端的連接:
[root@linuxtechi?~]$?ansible?-m?ping?"labservers"
注意: 如果我們沒有在上面的命令中指定清單文件,那么它將引用默認主機文件(即?/etc/ansible/hosts)。
輸出:
ansible-ping-module-centos8
讓我們使用 Ansible?shell?命令檢查每個客戶端的內核版本:
[root@linuxtechi?~]$?ansible?-m?command?-a?"uname?-r"?"labservers" 192.168.1.30?|?CHANGED?|?rc=0?>> 4.15.0-20-generic 192.168.1.20?|?CHANGED?|?rc=0?>> 3.10.0-327.el7.x86_64 [root@linuxtechi?~]$
使用以下命令列出清單文件中的所有主機:
[root@linuxtechi?~]$?ansible?all?-i?/etc/ansible/hosts?--list-hosts hosts?(4): 192.168.100.1 192.168.100.10 192.168.1.20 192.168.1.30 [root@linuxtechi?~]$
使用以下 Ansible 命令僅列出 labservers 組中的主機:
root@linuxtechi?~]$?ansible?labservers?-i?/etc/ansible/hosts?--list-hosts hosts?(2): 192.168.1.20 192.168.1.30 [root@linuxtechi?~]$
本文就是這些了,我們成功演示了如何在 CentOS 8 和 RHEL 8 系統中安裝和使用 Ansible。請分享你的反饋和意見。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。