Linux 服务器怎么通过 Ansible 进行批量运维操作

舞夢輝影

舞夢輝影

2026-07-29

246人浏览

原创

ansible批量运维核心是实现可复用、可验证、可回滚的自动化流程,依赖ssh免密登录、清晰主机清单和精准模块调用三要素:第一步确保ssh连通性,第二步用ini格式定义分组与连接参数,第三步按场景选用command/shell/copy/lineinfile等模块,第四步通过playbook结构化编排任务并闭环验证。

linux 服务器怎么通过 ansible 进行批量运维操作

Linux 服务器通过 Ansible 批量运维,核心是把重复的人工操作变成可复用、可验证、可回滚的自动化流程。它不靠复杂架构,靠的是三件事:连得上、分得清、跑得稳。

第一步:确保 SSH 免密登录通透

这是所有操作的前提,90% 的失败卡在这一步。

  • 控制节点生成密钥:ssh-keygen -t rsa -b 4096(一路回车)
  • ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip 推送公钥到每台目标机
  • 检查目标机 /etc/ssh/sshd_config:确认 PubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys,且用户家目录 .ssh 权限为 700authorized_keys600
  • 临时验证连通性:ssh -o ConnectTimeout=5 -o BatchMode=yes user@ip,不卡、不提示密码即成功

第二步:写清楚主机清单(inventory)

不是简单列 IP,而是定义你“怎么看待”这些机器。

PyCharm 2026.2.0.1 Linux版
PyCharm 2026.2.0.1 Linux版

PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。

下载
  • 用 INI 格式起步,显式声明连接细节:
    [web]
    192.168.1.10 ansible_user=deploy ansible_ssh_private_key_file=~/.ssh/id_rsa_web
    [db:children]
    postgres
    [postgres]
    pg01.example.com ansible_port=2222
  • 避免混用 IP 和域名,DNS 故障会导致整组失联
  • 所有主机名或 IP 必须能被控制节点解析(ping -c1 pg01.example.com 要通)
  • 非标端口、非 root 用户、密钥路径必须写全,别指望全局配置兜底

第三步:选对模块执行任务

不同场景用不同模块,不是“都能跑”,而是“该用谁”。

  • 查状态、跑简单命令:用 command 模块(安全、无 shell 注入风险),例如:
    ansible web -m command -a "uptime"
  • 需要管道、变量、重定向:用 shell 模块,并注意引号保护:
    ansible web -m shell -a 'df -h | grep "/$"'
  • 分发文件:用 copy,加 backup=yes 自动保留原文件:
    ansible db -m copy -a "src=conf/nginx.conf dest=/etc/nginx/nginx.conf backup=yes"
  • 改配置行:用 lineinfile,正则匹配 + 备份比直接覆盖更可靠:
    - lineinfile: path=/etc/ssh/sshd_config regexp="^PermitRootLogin" line="PermitRootLogin no"
  • 跨发行版安装软件:结合 os_family 判断:
    when: ansible_facts['os_family'] == "Debian"apt
    when: ansible_facts['os_family'] == "RedHat"yum

第四步:用 Playbook 实现结构化自动化

Ad-hoc 命令适合调试,真正批量部署必须靠 Playbook。

  • 每个 play 明确指定 hostsbecome: true(是否提权)、gather_facts: true(获取系统信息)
  • 任务按顺序执行,支持失败控制:
    ignore_errors: yesfailed_when: "'disk full' in result.stdout"
  • register 捕获命令输出,再做条件判断(如磁盘不足时跳过部署)
  • 敏感值(密码、密钥)用 vars_promptansible-vault 加密,绝不硬编码
  • tags 分段,运行时可用 --tags install 只执行某部分

不复杂但容易忽略:一次 ansible-playbook deploy.yml 成功,只说明语法和连接没问题。真正落地要闭环验证——加 --check 先模拟执行,看哪些会变;再加 --diff 看配置差异;最后手动抽检关键服务状态和文件内容。

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

355

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

617

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

1215

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

428

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

324

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

190

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

1031

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

1846

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

322

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Apifox下载与安装手册
Apifox下载与安装手册

共0课时 | 0人学习

安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 128人学习