一、ansible介绍
- Ansible 是一款 自动化运维工具,核心作用是通过代码(YAML 格式的剧本 / Playbook)批量管理多台服务器,实现「自动化部署、配置管理、任务执行」等操作,减少人工重复劳动,提高运维效率和一致性。
- 简单说,它能帮你做这些事:
- 批量在 100 台服务器上安装软件(比如统一装 Nginx);
- 远程修改多台机器的配置文件(比如批量调整内核参数);
- 一键启停 / 重启所有服务器上的某个服务(比如统一重启数据库);
- 自动部署应用(从代码拉取到服务启动全流程自动化);
- 收集所有主机的硬件 / 系统信息(比如内存、IP、系统版本)。
- 它的特点是 无需在远程主机安装客户端(基于 SSH 通信),配置简单,用 YAML 语法编写剧本,上手门槛较低,广泛用于中小型企业的自动化运维场景。
二、ansible模块
- command/shell:远程执行命令(shell 支持管道、重定向等语法,command 不支持)
- copy:将本地文件 / 目录推送到远程主机,可设置权限、属主等
- yum:远程通过 yum 安装、卸载、更新软件(适用于 CentOS/RHEL 等)
- service:远程管理服务启停、重启、重载,兼容 SysVinit 和 systemd
- script:本地脚本直接在远程主机执行(无需先传文件)
- file:远程管理文件 / 目录(创建、删除、权限)、软链接 / 硬链接
- group:远程创建、删除用户组,修改组 ID(GID)
- user:远程创建、删除用户,设置密码、所属组、家目录等
- cron:远程添加、修改、删除定时任务(crontab)
- mount:远程挂载文件系统(磁盘、NFS 等),并写入 /etc/fstab 实现开机自动挂载
- get_url:远程主机下载文件(从 URL 获取)
- systemd:通过 systemd 管理服务(启停、开机自启等,适用于 systemd 系统)
- selinux:远程开启、关闭或配置 SELinux 模式
- setup:收集远程主机的系统信息(如硬件、系统版本等)
本文作者:松轩(^U^)
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA
许可协议。转载请注明出处!