当前位置:首页 > Centos > 正文

CentOS Ansible剧本编写(从零开始的Ansible自动化运维实战指南)

在现代IT运维中,Ansible 已成为最受欢迎的自动化工具之一。它无需在目标主机上安装代理,仅通过SSH即可实现对远程服务器的批量管理。而 CentOS 作为企业级Linux发行版,广泛用于生产环境。本文将手把手教你如何编写一个简单的 CentOS Ansible剧本,帮助你快速掌握 Ansible自动化运维 的核心技能。

CentOS Ansible剧本编写(从零开始的Ansible自动化运维实战指南) Ansible剧本 Ansible自动化运维 CentOS服务器配置 Ansible入门教程 第1张

一、什么是Ansible剧本?

Ansible剧本(Playbook)是用YAML语言编写的配置文件,用于定义一系列自动化任务。你可以把它理解为“操作说明书”:告诉Ansible在哪些服务器上、以什么顺序、执行哪些操作。例如安装软件、创建用户、启动服务等。

二、准备工作

在开始编写剧本前,请确保以下条件已满足:

  • 一台控制机(可以是你的本地电脑或跳板机),已安装Ansible;
  • 至少一台运行 CentOS 7/8/Stream 的目标服务器;
  • 控制机可通过SSH免密登录目标服务器(推荐使用SSH密钥)。

在控制机上安装Ansible(以CentOS为例):

# 启用EPEL仓库sudo yum install -y epel-release# 安装Ansiblesudo yum install -y ansible# 验证安装ansible --version

三、编写第一个CentOS Ansible剧本

我们将编写一个简单的剧本,完成以下任务:

  1. 更新系统软件包;
  2. 安装Nginx;
  3. 启动并启用Nginx服务;
  4. 创建一个简单的HTML首页。

首先,创建项目目录:

mkdir ~/my-ansible-playbookcd ~/my-ansible-playbook

然后,创建一个名为 site.yml 的剧本文件:

---- name: 配置CentOS服务器并部署Nginx  hosts: webservers  become: yes  tasks:    - name: 更新所有软件包      yum:        name: '*'        state: latest    - name: 安装Nginx      yum:        name: nginx        state: present    - name: 启动并启用Nginx服务      systemd:        name: nginx        state: started        enabled: yes    - name: 创建简单首页      copy:        content: |          <html>          <head><title>Ansible自动化成功!</title></head>          <body>            <h2>欢迎使用CentOS + Ansible自动化运维</h2>            <p>本页面由Ansible剧本自动部署。</p>          </body>          </html>        dest: /usr/share/nginx/html/index.html

四、配置Inventory文件

Ansible需要知道要操作哪些服务器。我们创建一个 inventory 文件:

[webservers]192.168.1.100192.168.1.101

请将IP地址替换为你自己的CentOS服务器IP。如果你只有一台测试机,写一个IP即可。

五、执行剧本

在项目目录下运行以下命令:

ansible-playbook -i inventory site.yml

如果一切顺利,你会看到绿色的“OK”和“CHANGED”提示。打开浏览器访问你的服务器IP,就能看到由Ansible自动部署的网页了!

六、常见问题与调试技巧

  • SSH连接失败:确保控制机可免密登录目标机,可用 ssh user@ip 测试;
  • 权限不足:剧本中使用了 become: yes,表示以root权限执行,确保你的用户有sudo权限;
  • 语法错误:YAML对缩进敏感,建议使用支持YAML高亮的编辑器(如VS Code)。

七、总结

通过本教程,你已经掌握了如何编写一个基础的 CentOS Ansible剧本,实现了从系统更新到Web服务部署的全流程自动化。这正是 Ansible自动化运维 的魅力所在——高效、可重复、易维护。

随着经验积累,你可以将剧本模块化、使用变量、模板(Jinja2)、角色(Roles)等高级功能,构建更复杂的 CentOS服务器配置 体系。希望这篇 Ansible入门教程 能为你打开自动化运维的大门!