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

Ubuntu Ansible剧本编写(手把手教你用Ansible自动化配置Ubuntu服务器)

在现代IT运维中,自动化已成为提升效率、减少人为错误的关键手段。而 Ansible 正是一款简单、强大且无需在目标主机安装代理的自动化工具。本文将带你从零开始,学习如何在 Ubuntu 系统上编写和运行 Ansible 剧本(Playbook),实现服务器的自动化配置与管理。

Ubuntu Ansible剧本编写(手把手教你用Ansible自动化配置Ubuntu服务器) Ansible剧本编写 Ansible自动化运维 Ubuntu服务器配置 Ansible入门教程 第1张

一、什么是Ansible剧本?

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

使用 Ubuntu Ansible剧本编写,可以轻松批量部署 Web 服务、数据库、安全策略等,特别适合 DevOps 和系统管理员。

二、准备工作

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

  • 一台运行 Ubuntu 的控制机(Control Node)
  • 至少一台目标 Ubuntu 服务器(Managed Node)
  • 控制机与目标机之间可通过 SSH 通信

1. 在控制机上安装 Ansible

打开终端,执行以下命令:

sudo apt updatesudo apt install ansible -y

2. 配置SSH免密登录

Ansible 通过 SSH 连接目标服务器,建议配置 SSH 公钥认证以避免每次输入密码。

# 生成密钥(如尚未生成)ssh-keygen -t rsa -b 4096# 将公钥复制到目标服务器(假设目标IP为192.168.1.100)ssh-copy-id user@192.168.1.100

三、编写第一个Ansible剧本

现在我们来创建一个简单的剧本,用于在目标 Ubuntu 服务器上安装 Nginx 并启动服务。

1. 创建项目目录

mkdir ~/ansible-democd ~/ansible-demo

2. 编写Inventory文件

Inventory 文件用于定义目标主机。创建 hosts.ini

[webservers]192.168.1.100 ansible_user=ubuntu

其中 webservers 是主机组名,IP 地址替换为你自己的目标服务器地址,ansible_user 指定登录用户。

3. 编写Playbook文件

创建 install_nginx.yml 文件:

---- name: 安装并启动 Nginx Web 服务器  hosts: webservers  become: yes  tasks:    - name: 更新 apt 缓存      apt:        update_cache: yes    - name: 安装 Nginx      apt:        name: nginx        state: present    - name: 启动 Nginx 服务      service:        name: nginx        state: started        enabled: yes

这段代码含义如下:

  • hosts: webservers:指定在哪个主机组执行
  • become: yes:以 root 权限执行(相当于 sudo)
  • 三个 tasks 分别完成:更新软件源、安装 Nginx、启动并设置开机自启

四、运行Ansible剧本

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

ansible-playbook -i hosts.ini install_nginx.yml

如果一切顺利,你会看到绿色的 “changed” 或 “ok” 状态,表示任务成功执行。此时访问目标服务器的 IP 地址,应能看到 Nginx 默认欢迎页。

五、常见问题与技巧

  • 权限问题:确保使用 become: yes 执行需要 root 权限的操作。
  • YAML格式敏感:缩进必须使用空格(不能用 Tab),否则会报错。
  • 调试技巧:添加 -v-vvv 参数可查看详细输出。

六、结语

通过本教程,你已经掌握了 Ubuntu Ansible剧本编写 的基本流程。无论是部署应用、配置防火墙,还是批量更新系统,Ansible 都能帮你高效完成。

作为 Ansible自动化运维 的入门者,建议多练习编写不同场景的 Playbook,逐步掌握模块(如 copy、template、file 等)的使用。同时,结合 Ubuntu服务器配置 的实际需求,你将快速成长为一名高效的运维工程师。

希望这篇 Ansible入门教程 对你有所帮助!如有疑问,欢迎在评论区交流。