Linux中國

如何在 CentOS 8/RHEL 8 上安裝 Ansible(自動化工具)

在本教程中,我們將學習如何在 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 自動化工具?

當我們使用 yumdnf 命令安裝 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。請分享你的反饋和意見。

via: https://www.linuxtechi.com/install-ansible-centos-8-rhel-8/

作者:Pradeep Kumar 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理

    More in:Linux中國

    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...
    Linux中國

    SSL/TLS 加密新紀元 – Lets Encrypt

    根據 Let's Encrypt 官方博客消息,Let's Encrypt 服務將在下周(11 月 16 日)正式對外開放。 Let's Encrypt 項目是由互聯網安全研究小組(ISRG,Internet Security Research Group)主導並開發的一個新型數字證書認證機構(CA,Certificate ...