在现代IT运维中,RockyLinux自动化部署已成为提升效率、减少人为错误的关键手段。无论是管理几十台还是上千台服务器,通过自动化工具可以显著节省时间并确保配置一致性。本教程将面向零基础用户,详细介绍如何使用Ansible这一轻量级但功能强大的工具,实现RockyLinux批量安装后的自动配置流程。
一、为什么选择Ansible进行RockyLinux自动化部署?
Ansible 是一个开源的自动化工具,无需在目标主机上安装客户端(Agentless),仅依赖SSH即可完成远程操作。它使用YAML语言编写剧本(Playbook),语法简洁易懂,非常适合新手入门。对于RockyLinux自动化部署场景,Ansible 能够轻松完成软件安装、服务启动、文件分发、用户创建等任务。
二、环境准备
你需要准备以下内容:
一台控制机(Control Node):可以是你的本地电脑或跳板机,建议安装 RockyLinux 8/9 或 CentOS 7/8 若干台待部署的 RockyLinux 服务器(Managed Nodes) 控制机与目标服务器之间网络互通,并可通过 SSH 免密登录三、安装 Ansible
在控制机上执行以下命令安装 Ansible:
sudo dnf install -y epel-releasesudo dnf install -y ansible
验证安装是否成功:
ansible --version
四、配置 SSH 免密登录
为实现自动化,控制机需能无密码登录所有目标服务器。执行以下步骤:
# 生成SSH密钥(如尚未生成)ssh-keygen -t rsa -b 2048# 将公钥复制到目标服务器(假设IP为192.168.1.10)ssh-copy-id root@192.168.1.10# 测试免密登录ssh root@192.168.1.10
五、编写 Ansible Playbook 实现自动化部署
创建一个名为 rocky_setup.yml 的 Playbook 文件,内容如下:
---- name: RockyLinux 自动化部署基础配置 hosts: all become: yes tasks: - name: 更新系统软件包 dnf: name: '*' state: latest - name: 安装常用工具 dnf: name: - vim - wget - curl - net-tools - htop state: present - name: 创建普通用户 devops user: name: devops shell: /bin/bash groups: wheel append: yes - name: 配置 sudo 免密(仅用于演示,请按需调整) lineinfile: path: /etc/sudoers line: 'devops ALL=(ALL) NOPASSWD: ALL' validate: 'visudo -cf %s' - name: 启动并启用 firewalld systemd: name: firewalld state: started enabled: yes - name: 开放 HTTP 和 HTTPS 端口 firewalld: service: "{{ item }}" permanent: yes state: enabled immediate: yes loop: - http - https
六、定义主机清单(Inventory)
创建 inventory.ini 文件,列出所有目标服务器:
[rocky_servers]192.168.1.10192.168.1.11192.168.1.12[rocky_servers:vars]ansible_user=root
七、执行自动化部署
运行以下命令,开始部署:
ansible-playbook -i inventory.ini rocky_setup.yml
执行完成后,所有目标服务器将完成统一配置,包括系统更新、工具安装、用户创建和防火墙设置等。
八、进阶建议
掌握基础后,你可以进一步:
使用 Ansible Roles 拆分复杂任务 结合 Vault 加密敏感信息 集成 CI/CD 流水线实现持续部署 利用 AWX 或 Semaphore 提供 Web 管理界面通过本教程,你已掌握了基于 Ansible 的 RockyLinux自动化部署核心流程。无论是小型项目还是企业级环境,这种 系统自动化配置方法都能大幅提升运维效率。记住,自动化不是一次性的任务,而是持续优化的过程。
关键词回顾:RockyLinux自动化部署、Ansible自动化运维、RockyLinux批量安装、系统自动化配置。
