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。