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

news/2024/7/10 19:13:58 标签: 开源, 堡垒机, JumpServer

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

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


http://www.niftyadmin.cn/n/5334437.html

相关文章

FPGA时序分析与时序约束(Vivado)

FPGA时序分析与时序约束(Vivado) (1)内部资源(2)传输模型分析(寄存器到寄存器)(3)时序约束操作1 约束主时钟2 约束衍生时钟3 设置时钟组 (4&#…

在分类任务中准确率(accuracy)、精确率(precision)、召回率(recall)和 F1 分数是常用的性能指标,如何在python中使用呢?

在机器学习和数据科学中,准确率(accuracy)、精确率(precision)、召回率(recall)和 F1 分数是常用的性能指标,用于评估分类模型的性能。 1. 准确率(Accuracy)…

Debian 11.8.0 安装图解

引导和开始安装 这里直接回车确认即可,选择图形化安装方式。 选择语言 这里要区分一下,当前选中的语言作为安装过程中安装器所使用的语言,这里我们选择中文简体。不过细心的同学可能发现,当你选择安装器语言之后,后续安…

Java JVM 堆、栈、方法区详解

目录 1. 栈 2. 堆 3. 方法区 4. 本地方法栈 5. 程序计数器 首先来看一下JVM运行时数据区有哪些。 1. 栈 在介绍JVM栈之前,先了解一下 栈帧 概念。 栈帧:一个栈帧随着一个方法的调用开始而创建,这个方法调用完成而销毁。栈帧内存放者方…

list上

文章目录 初步了解list面试题:为什么会有list?vector的缺点:vector、list优点 list结构迭代器的分类list的简单运用insert、erase、迭代器失效(和vector的区别)erase class和structlist的迭代器为什么这个迭代器的构造…

模型Model:字符串列表模型QStringListModel

一、QStringListModel (1)功能:处理字符串列表的数据模型,可作为QListView的数据模型,在界面上显示和编辑字符串列表。 二、QStringListModel 类中的函数 1)、 QStringListModel(QObject *parent Q_NULLPTR) //构造函…

中国社会科学院大学-新加坡社科大学博士学位DBA教育项目招生简章

项目简介 全球经济正在经历由科技进步和创新、政治和人口剧烈变化所带来的巨大的不确定性和挑战。面对日趋复杂的外部竞争环境,企业的领导者和管理者需要具备卓越的战略思维和全球洞察力、以科学的精神和严谨务实的态度引领企业创新发展。 为此,中国社…

Uniapp多选Popup(弹出层)

uniapp中多选组件很少,故个人简单开发了一个,可简单使用,也可根据个人需求稍微改进 支持的功能 单选多选(默认)限制选择数量默认选中禁用选项 属性说明 属性默认值说明singlefalsetrue为开启单选,否则为…