在现代 IT 基础设施中,Ubuntu集群自动化部署已成为提升运维效率、降低人为错误的关键手段。无论是搭建 Web 服务集群、大数据平台还是容器编排环境,手动逐台配置服务器不仅耗时费力,还容易出错。本文将手把手教你如何使用 Ansible 这一强大的 自动化运维工具,实现 Ubuntu 服务器的批量自动化部署与配置,即使是 Linux 新手也能轻松上手。

为什么选择 Ansible?
Ansible 是一个开源的自动化引擎,具有以下优势:
无需在目标主机安装客户端(基于 SSH) 使用 YAML 编写清晰易读的 Playbook 支持幂等性操作,重复执行不会产生副作用 社区活跃,模块丰富准备工作
你需要准备以下环境:
1 台控制节点(Control Node):可以是你的本地电脑或一台 Ubuntu 服务器 多台目标 Ubuntu 服务器(被控节点,Managed Nodes),建议系统版本一致(如 Ubuntu 22.04 LTS) 所有服务器之间网络互通,且控制节点可通过 SSH 免密登录目标服务器步骤一:在控制节点安装 Ansible
在 Ubuntu 控制节点上执行以下命令安装 Ansible:
sudo apt updatesudo apt install -y ansible# 验证安装ansible --version
步骤二:配置 SSH 免密登录
为实现自动化,控制节点需能无密码登录所有目标服务器。首先生成 SSH 密钥(若尚未生成):
ssh-keygen -t rsa -b 4096
然后将公钥复制到每台目标服务器(假设目标服务器 IP 为 192.168.1.101、192.168.1.102):
ssh-copy-id user@192.168.1.101ssh-copy-id user@192.168.1.102
替换
user为你在目标服务器上的用户名。
步骤三:创建 Ansible 项目目录结构
良好的目录结构有助于管理复杂的部署任务。创建如下结构:
mkdir -p ~/ansible-ubuntu-cluster/{inventory,playbooks,roles}cd ~/ansible-ubuntu-cluster步骤四:编写 Inventory 文件
Inventory 文件定义了你要管理的服务器列表。创建
inventory/hosts.ini:
[ubuntu_servers]server1 ansible_host=192.168.1.101server2 ansible_host=192.168.1.102[ubuntu_servers:vars]ansible_user=your_usernameansible_ssh_private_key_file=~/.ssh/id_rsa
请将
your_username替换为实际用户名,并确保私钥路径正确。
步骤五:编写 Playbook 实现基础配置
创建一个 Playbook 文件
playbooks/base-setup.yml,用于执行通用配置(如更新系统、安装常用软件):
---- name: Ubuntu 集群基础配置 hosts: ubuntu_servers become: yes # 使用 sudo tasks: - name: 更新 apt 缓存 apt: update_cache: yes cache_valid_time: 3600 - name: 升级所有已安装的包 apt: upgrade: dist - name: 安装常用工具 apt: name: - vim - htop - curl - git - net-tools state: present - name: 设置时区为 Asia/Shanghai timezone: name: Asia/Shanghai
步骤六:执行自动化部署
在项目根目录下运行以下命令:
ansible-playbook -i inventory/hosts.ini playbooks/base-setup.yml
Ansible 将自动连接所有目标服务器并执行配置任务。你可以在终端看到详细的执行过程和结果。
进阶建议
随着需求复杂化,你可以:
使用 Roles 拆分不同服务的配置(如 Nginx、Docker) 结合 Vault 加密敏感信息 集成 CI/CD 流水线实现持续部署结语
通过本教程,你已经掌握了使用 Ansible 实现 Ubuntu服务器批量配置 的核心方法。这不仅节省了大量时间,也为构建高可用、可扩展的集群打下了坚实基础。掌握 Ansible部署Ubuntu集群 技能,是你迈向 DevOps 工程师的重要一步。快动手试试吧!
