更新系统包(可省略)
在安装 Ansible 之前,建议首先更新系统中的所有包,以确保系统是最新的。
sudo dnf update -y
安装 EPEL 仓库
Ansible 包通常位于 EPEL(Extra Packages for Enterprise Linux)仓库中,因此需要先启用 EPEL 仓库。
sudo dnf install epel-release -y
安装 Ansible
启用 EPEL 仓库后,可以使用 dnf
命令安装 Ansible。
sudo dnf install ansible -y
验证安装
安装完成后,验证 Ansible 是否已成功安装,并查看其版本信息。
ansible --version
你应该会看到类似以下的输出,显示 Ansible 的版本和安装路径:
ansible [core 2.14.0]
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/username/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.9/site-packages/ansible
executable location = /usr/bin/ansible
python version = 3.9.2 (default, Aug 10 2023, 22:17:50) [GCC 11.3.1 20220421 (Red Hat 11.3.1-2)]
设置 SSH 访问(可选但推荐)
Ansible 使用 SSH 来连接和管理远程主机。为了无密码地进行管理,建议提前配置 SSH 密钥对。
生成 SSH 密钥对
如果你还没有 SSH 密钥对,可以生成一个。
ssh-keygen -t rsa -b 4096
分发公钥到远程主机
使用 ssh-copy-id
命令将公钥复制到远程主机上:
ssh-copy-id username@remote_host
测试 Ansible 安装
在开始使用 Ansible 之前,可以通过创建一个简单的 Inventory 文件,并使用 ping
模块测试与主机的连接。
创建 Inventory 文件
在你的家目录中创建一个 ansible
目录,并在其中创建一个 hosts
文件:
mkdir -p ~/ansible
echo "[myservers]" > ~/ansible/hosts
echo "localhost" >> ~/ansible/hosts
使用 Ansible 测试连接
使用 ping
模块测试连接:
ansible all -m ping -i ~/ansible/hosts
如果成功,你会看到类似以下的输出:
localhost | SUCCESS => {
"changed": false,
"ping": "pong"
}