返回文章列表
行业动态

什么是Ansible?怎么安装Ansible?

匿名
2025-11-26
1周前
什么是Ansible?怎么安装Ansible?

一、Ansible是什么

Ansible 是一款极其流行的开源自动化工具,用 Python 语言编写。它的核心功能是自动化应用部署、配置管理、任务编排。

简单来说,Ansible 可以让你告别手动、重复地在多台服务器上执行命令、安装软件、修改配置的繁琐工作,实现“一次编写,处处运行”的自动化运维。


二、核心特点与优势

幂等性:意味着一个 Ansible 任务(或剧本)无论执行多少次,最终的结果都是一致的。

优势:安全、可重复执行。

简单易懂:yaml的语法非常的直观,配置和编排文件的格式容易操作的。

强大的模块化:ansible拥有许多模块,覆盖了系统、平台、网络设备、数据库等等。


三、核心组件

控制节点:安装并运行ansible的设备,用于管理自动化任务

被管理节点:被ansible控制

清单:定义了被管理的节点列表,可分组。

模块:执行特定的任务

任务:调用某一个模块并附带参数,就是一个任务。

剧本:自动化部署的核心文件,将一个或多个任务合并成一个完成的自动化流程。

角色:更高级的组织方式,用于将剧本、变量、文件、模板等按照标准目录结构进行分组,角色可以时间代码的复用和共享。

总结

ansible是简单、安全、具有幂等性等特性,极大提高了效率、减少人为出错。


四、开始安装ansbile(本次系统为Rcoky9)

dnf install -yhttps://mirrors.aliyun.com/epel/epel-release-latest-9.noarch.rpm

配置EPEL仓库(使用正则表达式)

sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|g' /etc/yum.repos.d/epel*

sed -i 's|^metalink=|#metalink=|g' /etc/yum.repos.d/epel*


禁用思科的OpenH264编码的子仓库

目的是仓库是为了给你的系统选择一个统一、一致的软件来源)

sed -i 's/^enabled\s*=\s*1/enabled = 0/g' /etc/yum.repos.d/epel-cisco-openh264.repo


清理缓存,

dnf clean all

dnf makecache


安装ansbile核心组件,并查看ansible版本号

dnf install -y ansible-core ansible

ansible --version


配置变量环境

cat > /etc/profile.d/ansible.sh <<EOF

export ANSIBLE_HOST_KEY_CHECKING=False

EOF

安装crudini工具

which crudini || yum install -y crudini

source /etc/profile.d/ansible.sh


确保配置目录存在

mkdir -p /etc/ansible


修改ansible.cfg配置文件

crudini --set /etc/ansible/ansible.cfg defaults host_key_checking False

cat /etc/ansible/ansible.cfg | grep -vE "^\s*(#|$)" || echo "配置文件为空或不存在"


验证配置是否生效

ansible-config dump --only-changed


配置清单,为被控端安装python组件。(清单写法并非这一种)

cat <<’EOF’ > linuxHost.list

[linuxHosts]

## 主机名 目标主机的ip SSH连接的用户名 SSH连接时的密码

Rocky9-61 ansible_ssh_host=10.0.0.61 ansible_ssh_user=root ansible_ssh_pass='a123456!'

Rocky9-62 ansible_ssh_host=10.0.0.62 ansible_ssh_user=root ansible_ssh_pass='a123456!'

EOF


在linuxHost.list这个清单中,all所有的主机都要执行dnf install -y python3 python3-dnf python3-libselinux


ansible all -i linuxHost.list -m raw -a 'dnf install -y python3 python3-dnf python3-libselinux'

本文内容仅供参考,不构成任何专业建议。使用本文提供的信息时,请自行判断并承担相应风险。

分享文章
合作伙伴

本站所有广告均是第三方投放,详情请查询本站用户协议