操作教程|JumpServer堡垒机结合Ansible进行批量系统初始化

运维人员常常需要对资产进行系统初始化的操作,而初始化服务器又是一项繁琐的工作,需要花费运维人员大量的时间和精力。为了提高效率,许多组织会使用自动化工具和脚本来简化这些任务。自动化工具的运用可以大幅降低运维人员的工作量,同时也能有效规避出错的风险。

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作业

相关推荐
编程乐趣4 小时前
FluentCMS:基于 ASP.NET Core 和 Blazor 技术构建的开源CMS内容管理系统
后端·开源·asp.net
lilu88888884 小时前
小米Vela操作系统开源:AIoT时代的全新引擎
前端·开源
GitCode官方5 小时前
GitCode 助力 AutoTable:共创 MyBatis 生态的自动表格管理新篇章
开源·开源项目·运营·gitcode·g-star
XianxinMao1 天前
开源AI崛起:新模型逼近商业巨头
人工智能·开源
软通动力1 天前
软通动力携鸿湖万联与微展世签署战略合作协议,以开源鸿蒙赋能工业创新升级
开源·openharmony
小众AI1 天前
GFPGAN - 腾讯开源的图形修复算法修复算法
人工智能·算法·开源
奇树谦1 天前
C++|开源日志库log4cpp和glog
开发语言·c++·开源
说私域1 天前
深度内容运营与开源AI智能名片2+1链动模式S2B2C商城小程序在打造种草社区中的应用研究
人工智能·小程序·开源·内容运营
铁头乔2 天前
想从 IoTDB 中读取大量数据经过一定程度的分析再写入 MySQL 或 SQLServer,在这种需求下,哪一种 ETL 方案最适合
数据库·mysql·sqlserver·开源·时序数据库·iotdb