CentOS 安装 Ansible:详细步骤与注意事项
Ansible 是一款开源的自动化运维工具,可以用于配置管理、应用部署、任务执行等,CentOS 是一款流行的 Linux 发行版,本文将详细介绍如何在 CentOS 上安装 Ansible。

安装前的准备
确保系统已更新到最新版本,可以使用以下命令更新:
sudo yum update
安装 Python 2.7 或 Python 3.5 以上版本,Ansible 需要依赖 Python,可以使用以下命令安装:
sudo yum install python2-pip python3-pip
安装 pip,pip 是 Python 的包管理器,可以使用以下命令安装:
sudo yum install python2-pip python3-pip
安装 Ansible,可以使用 pip 安装最新版本的 Ansible:
sudo pip install ansible
或者使用以下命令安装指定版本的 Ansible:
sudo pip install ansible==2.9.0
配置 Ansible
配置 SSH 密钥认证

为了方便 Ansible 自动化部署,我们需要配置 SSH 密钥认证,以下是配置步骤:
(1)在主机上生成 SSH 密钥对:
ssh-keygen -t rsa -b 4096
(2)将公钥复制到目标主机:
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@目标主机IP
配置 Ansible 的工作目录
Ansible 使用 ~/.ansible 作为默认的工作目录,你可以根据自己的需求修改:
mkdir -p ~/.ansible
配置 hosts 文件
Ansible 使用 hosts 文件来定义目标主机,以下是 hosts 文件的示例:
[webservers] web1 ansible_host=192.168.1.1 ansible_user=root web2 ansible_host=192.168.1.2 ansible_user=root
执行 Ansible 任务

- 使用
ansible命令执行任务
ansible webservers -m ping
- 使用
ansible-playbook命令执行 playbook
playbook 是 Ansible 的核心配置文件,用于定义任务序列,以下是一个简单的 playbook 示例:
---
- name: 安装 Apache
hosts: webservers
tasks:
- name: 安装 Apache
apt:
name: apache2
state: present
执行 playbook:
ansible-playbook playbook.yml
FAQs
Q1:安装 Ansible 时遇到错误“pip is not installed”怎么办?
A1:请确保已安装 Python 的 pip 包管理器,可以使用以下命令安装:
sudo yum install python2-pip python3-pip
Q2:Ansible 执行任务时提示“Connection to 192.168.1.1 failed: Permission denied (publickey)”怎么办?
A2:请检查 SSH 密钥是否已正确配置,确保公钥已复制到目标主机的 ~/.ssh/authorized_keys 文件中,如果问题依旧,请检查 SSH 配置文件 /etc/ssh/sshd_config 中的 PermitRootLogin 和 PasswordAuthentication 设置。
