如何在 Ubuntu 20.04 上安裝 Ansible

Ansible 是一種基礎設施即代碼工具,允許其用戶從一個集中位置控制許多服務器。 使用 Ansible 的好處是它使用 SSH 和 YAML 文件進行配置,無需任何其他配置。 在本教程中,我將描述如何在 Ubuntu 20.04 系統上安裝和配置 Ansible。

在 Ubuntu 上安裝 Ansible

要安裝 Ansible,請使用系統中的官方 Ubuntu 20.04 存儲庫。 使用以下命令打開終端窗口 Ctrl+Alt+T 快捷方式或使用應用程序-> 終端。 在此之後,使用以下命令更新存儲庫:

$ sudo apt update

然後將更新 apt 包存儲庫緩存。 現在,使用以下命令安裝 Ansible:

$ sudo apt install ansible

過一會系統會提示,在鍵盤上按Y,然後按回車鍵繼續。

然後將安裝 Ansible。 讓我們使用以下方法驗證此步驟:

$ ansible – 版本

安裝的版本將顯示如下:

生成 SSH 密鑰

現在,您需要在安裝 Ansible 的系統上生成一個 SSH 密鑰。 要生成密鑰,請附加以下命令:

$ ssh-keygen

在終端窗口中輸入後,按回車鍵。

再次按

現在,您需要再次按下鍵盤上的

只要你按下回車,就會顯示一個與此非常相似的輸出。 它將有一個 SSH 密鑰,將在本教程的下半部分使用。

配置 Ubuntu 主機以自動化 Ansible

要自動化多台主機,您需要分別對每台主機重複相同的過程。 所有要配置的 Ubuntu 主機 (Ansible) 都必須安裝 SSH 包。 現在,我們將使用以下命令更新 apt 包:

$ sudo apt update

更新將開始與下面顯示的非常相似:

下一步是使用以下命令安裝 OpenSSH 服務器:

$ sudo apt install openssh-server -y

完成後,您需要檢查 sshd 服務的狀態。 使用以下命令進行檢查:

$ sudo systemctl status sshd

按下 後,將立即顯示輸出。 啟用和活動(運行)狀態將

一旦您檢查 sshd 命令運行正常並啟用,您就可以繼續。 如果未啟用,則使用以下命令手動啟動它:

$ sudo systemctl start sshd

現在,讓我們使用以下命令配置防火牆以允許 SSH 訪問:

$ sudo ufw allow ssh

將出現類似於下面顯示的輸出:

下一步是添加一個 能聽懂的 用戶,然後允許無密碼訪問。 我們現在將使用以下命令創建 ansible 用戶:

$ sudo adduser ansible

提供密碼 能聽懂的 用戶。

之後,針對所有可用字段填寫相關信息。

配置無密碼 sudo access 在終端窗口中為您的 ansible 用戶鍵入以下內容:

$ echo "ansible ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ansible

讓我們使用以下命令檢查 Ansible 主機的 IP 地址:

$ hostname -I

主機將出現在輸出中。

現在,您知道主機名,我們將像這樣將 SSH 公鑰複製到 Ansible 主機:

$ ssh-copy-id [email protected]

現在,輸入 Yes 繼續。

密鑰將被複製到主機。

要禁用基於密碼的登錄,請使用以下命令:

$ sudo usermod -L ansible

在這裡,我們可以在沒有任何密碼的情況下訪問 Ansible 主機,它已準備好進行自動化。

測試 Ansible

為了在安裝和配置後測試 Ansible,用戶需要創建一個新的項目目錄。 使用 mkdir 命令執行此操作:

$ mkdir ~/ansible-demo

一旦創建了新目錄,您需要使用以下命令訪問它:

$ cd ~/ansible-demo/

之後,使用以下命令在同一項目目錄中創建一個新的主機文件:

$nano hosts

Ansible 將使用此文件中的主機進行 SSH。 打開 nano 編輯器後,輸入要 ping 的主機的 IP 地址。

讓我們嘗試使用 Ansible 使用以下命令 ping 所有主機:

$ ansible all -i ./hosts -u ansible -m ping

您將看到如下所示的成功:

卸載 Ansible

要卸載 Ansible,請在終端窗口中使用以下命令:

$ sudo apt remove ansible

鍵入 Y 以繼續卸載過程。

通過這種方式,用戶可以輕鬆地從他們的系統中刪除 Ansible。

結論

在本文中,我們看到了在 Ubuntu 20.04 系統上安裝 Ansible 的過程以及如何配置和測試 Ansible。