运维人员常常需要对资产进行系统初始化的操作,而初始化服务器又是一项繁琐的工作,需要花费运维人员大量的时间和精力。为了提高效率,许多组织会使用自动化工具和脚本来简化这些任务。自动化工具的运用可以大幅降低运维人员的工作量,同时也能有效规避出错的风险。
Ansible作为近年来十分火爆的一款开源运维自动化工具,可以帮助管理人员简化系统配置、应用部署和任务执行等操作。同时,Ansible也可以结合JumpServer作为批量资产运维工具,进行批量系统初始化操作,能够很好地满足广大运维人员的实际需求。
本文将介绍通过JumpServer内置的Ansible模块批量初始化Linux服务器的具体方法,希望对广大企业的运维人员提高运维管理效率有所帮助。
一、Ansible简介
Ansible是自动化运维领域最为常用的工具之一。它基于Python语言开发,集合了众多运维工具(例如Puppet、Cfengine、Chef、Func、Fabric)的优点,操作简单,功能强大,支持批量系统配置、批量程序部署、批量运行命令等功能。
通过Ansible实现运维自动化,能够提高运维工程师的工作效率,减少人为失误。Ansible本身集成了非常丰富的模块可以实现各种管理操作,并且能够与多个平台进行交互对接。
Playbook模式(即剧本模式)是Ansible的主要管理方式,也是Ansible功能强大的关键所在。Playbook模式是通过多个Task(即任务)集合来完成某类功能的,例如Web服务的安装部署、数据库服务器的批量备份等,可以简单地把Playbook理解为通过组合多条“ad-hoc”操作的配置文件。
二、实施方案
JumpServer作为运维安全审计管理平台,本身内置Ansible模块,可以实现对服务器等资产的安全管控。用户通过JumpServer的认证和授权功能,获得相应权限后才能使用Ansible对目标主机进行操作,确保了操作的安全性。
同时,Ansible可以通过JumpServer来管理和执行各种任务,例如配置管理、软件部署、批量命令执行等,简化了操作流程。结合Ansible和JumpServer堡垒机,可以实现对服务器的中心化管理,提高系统的安全性和运维效率,提升企业的运维管理能力。
1.准备工作
■ 准备一台机器,部署JumpServer运维安全审计系统;
■ 准备若干台Linux服务器,用于测试批量系统初始化操作是否成功。
2.创建Playbook作业
■ 登录JumpServer堡垒机,进入工作台界面;
▲ 图1 登录JumpServer堡垒机
▲ 图2 进入JumpServer工作台界面
■ 在JumpServer中选择“作业中心”→“模版管理”→“Playbook管理”,创建Playbook模板;
▲ 图3 创建Playbook模板
▲ 图4 创建模板详情
■ 创建完成之后,管理页面会出现新创建的模板信息,并填写模板内容;
▲ 图5 新创建的模板
▲ 图6 填写模板内容
Playbook具体内容如下:
[root@v3 ~]# cat main.yml
write your playbook here
---
- hosts: all
vars:
remote_user:
tasks:
- name: 关闭防火墙
service: name=firewalld state=stopped enabled=no
- name: 关闭selinux
lineinfile:
dest: /etc/selinux/config
regexp: "^SELINUX="
line: "SELINUX=disabled"
- name: 即时生效
shell: setenforce 0 ; swapoff -a
- name: 关闭swap
lineinfile:
dest: /etc/fstab
regexp: ".*swap"
line: ""
- name: 拷贝时区
copy: src=/usr/share/zoneinfo/Asia/Shanghai dest=/etc/localtime
- name: 更新源
shell: yum repolist
- name: 安装lrzsz
yum: name=lrzsz
- name: 安装net-tools
yum: name=net-tools
- name: 安装wget
yum: name=wget
- name: 安装gcc
yum: name=gcc
- name: 安装开发者工具库
yum: name='@Development Tools'
- name: 更改内核最大连接数
copy: src=/etc/security/limits.conf dest=/etc/security/limits.conf
- name: 设置java连接数
shell: sed -i '$a vm.max_map_count=262144' /etc/sysctl.conf ; sysctl -p
■ 在JumpServer中选择“作业中心”→“作业管理”,创建Playbook作业;
▲ 图7 创建Playbook作业
■ 按照如下图示填写所需的信息;
▲ 图8 填写作业信息
■ Playbook作业创建成功后,运行Playbook作业进行测试;
▲ 图9 运行新创建的作业
■ 运行成功。在JumpServer中创建Playbook模板后,如果需要新增服务器,运维人员只需要创建一个Playbook作业即可快速完成资产的系统初始化,轻松解放双手。
▲ 图10 成功执行Playbook作业