Ansible 批量运维实战:openEuler 环境一键安装 httpd 服务

前言

在多主机运维场景下,Ansible 可实现批量配置、软件部署等自动化操作,大幅提升运维效率。本文基于 openEuler 操作系统,使用 Ansible 的 dnf 模块批量安装 httpd 服务,并对执行过程中的警告、报错信息进行详细解读,同时给出优化方案,适合 Linux 运维初学者参考。

一、环境说明

  • 控制节点:test01(已安装 Ansible)
  • 被管理节点:多台 openEuler 主机(IP 及主机名已配置在 Ansible 清单)
  • 模块:Ansible dnf 模块
  • 部署软件:httpd(Apache 服务)

二、配置 Ansible 主机清单

编辑 Ansible 默认主机清单文件,添加被管理节点信息:

运行

复制代码
vim /etc/ansible/hosts

在文件中配置对应主机 IP 或主机名,保存退出即可。

三、执行批量安装 httpd 命令

使用 Ansible 的 dnf 模块,指定安装 httpd 为最新版本,并禁用 source 仓库:

运行

复制代码
ansible all -m dnf -a "name=httpd state=latest disablerepo=source"

四、执行结果详细解读

1. 执行成功状态:CHANGED

对应主机:192.168.190.143、192.168.190.144、192.168.190.145含义:目标主机未安装过 httpd 及依赖,Ansible 完成全新安装,操作生效。

2. 报错状态:FAILED!

对应主机:test01、test02、test03报错核心信息:软件包xxx已经安装真实含义:并非执行失败,而是目标主机已存在 httpd 及其依赖包,dnf 不允许重复安装,属于正常提示。

3. Python 解释器警告

复制代码
[WARNING]: Platform linux on host ... is using the discovered Python interpreter

该警告仅为 Ansible 自动识别 Python 路径的提示,不影响任何功能,可直接忽略。

这个警告完全不用管,不影响任何功能!


Ps.你真正想知道的:我成功了吗?

成功了!

  • 远程机器都装上了
  • 本地机器本来就有
  • 整个批量部署任务达成目标

五、如果你想让 "已安装" 的机器不报错、变绿色(正常)

把命令里的

复制代码
state=latest

改成

复制代码
state=present

最终命令:

运行

复制代码
ansible all -m dnf -a "name=httpd state=present disablerepo=source"

这样:

  • 没装 → 安装

  • 已装 → 不报错,显示 SUCCESS 绿色


六、知识补充

Ansible dnf 模块中 state=latest 与 state=present 区别

在使用 Ansible 批量安装软件时,state 参数决定了包管理的最终状态:

  1. state=latest 表示确保目标软件为最新版本。若软件已安装且为最新版,dnf 会因无法重复安装返回 FAILED 错误;若版本较旧,则自动升级至最新版。适用于批量升级场景。
  2. state=present 表示仅确保软件已安装即可。若未安装则自动安装,若已安装则不执行任何操作,返回 SUCCESS 绿色状态。适用于环境初始化、批量部署场景。

七、总结

  1. Ansible dnf 模块可在 openEuler 系统中高效批量部署软件;
  2. FAILED 不一定是故障,需结合报错信息判断是否为包已存在;
  3. 使用state=present可适配更多场景,避免不必要的报错提示;
  4. Python 解释器警告为正常提示,无需处理。
相关推荐
九硕智慧建筑一体化厂家7 小时前
数字化管控落地,直流照明构筑安全照明体系
运维·人工智能·笔记·安全·智慧城市
刘某的Cloud9 小时前
ceph osd 导入导出 rbd volume 卷
linux·运维·ceph·volume
神奇霸王龙11 小时前
Agent 准入门控屠夫:5 旗舰 4 维度评估
linux·运维·数据库·ai·ai作画·agent·ai编程
cfm_291411 小时前
基于Binlog实现不停机数据库平滑迁移技术
运维·数据库·架构
迪康Defender11 小时前
AI 重构终端安全运营:智能分析中枢 AI Insight 模块架构与落地场景深度解析
运维·网络·人工智能·其他·安全·重构·架构
HiDev_13 小时前
【非标自动化】2、认识元器件(固态继电器)
运维·自动化
明达智控技术13 小时前
国产 PLC 落地立库自动化,MC5000边缘智能控制器破局
运维·自动化
小绫网络安全13 小时前
Kali Linux渗透测试入门教程:从零搭建到实战攻防
linux·运维·服务器
allforgood14 小时前
控制启动过程
linux·运维·服务器
西安景驰电子14 小时前
《PTP精确时间协议系列》第一篇:从原理到应用,全面解读IEEE 1588
linux·运维·服务器·开发语言·网络·windows·php