【实训】自动运维ansible实训(网络管理与维护综合实训)

 来自即将退役学长的分享,祝学弟学妹以后发大财!

一 实训目的及意义

1.1 实训目的

1、熟悉自动化运维工具:实训旨在让学员熟悉 Ansible 这一自动化运维工具。通过实际操作,学员可以了解 Ansible 的基本概念、工作原理和使用方法。

2、提高运维效率:自动化运维可以大幅提高运维效率,减少手动操作的工作量。通过实训,学员可以学习如何使用 Ansible 快速完成常见的运维任务,例如部署应用、配置管理、系统监控等,从而提高整体运维效率。

3、规范化运维流程:通过使用 Ansible,可以将运维任务转化为可复用的代码,实现运维任务的规范化和标准化。实训的目的之一是让学员了解如何编写可维护的 Ansible Playbook,并应用于实际场景中,从而规范运维流程。

4、学习团队协作:Ansible 支持多主机同时操作,适用于团队协作的场景。通过实训,学员可以学习如何使用 Ansible 进行批量操作、并行执行等,培养团队协作意识和技巧。

1.2 实训意义

       通过本次实训,能让学生了解通过ansible自动化运维工具的使用,可以减少人工操作的错误和漏洞,提高运维任务的准确性和稳定性。学员通过实训可以了解和应用ansible的功能,从而提高运维效率,降低系统故障的风险。

       自动化运维要求学员具备一定的系统管理、编程和网络知识。实训通过实际操作和项目实践,培养学员的综合能力,例如问题分析和解决、编写可维护的代码等,提升学员的综合素

二 实训要求

1、搭建ansible的实验环境;搭建三台centos7版本的虚拟机,其中一台的hostname为controller,另外两台分别为node1和node2;

2、使用普通用户(你名字的全称,如zhangsan),做以下操作:针对普通用户(如zhangsan)做sudo的提权免密;针对普通用户做ssh的免密登录;完成ansible的controller的yum仓库的配置(yum -y install epel)

3、通过ansible的ad-hoc去查看主机连通性,是否可以实现基本的联通;

4、使用ansible的ad-hoc命令在node1和node2上 复制/etc/hosts文件到用户家目录下;

5、使用ansible的ad-hoc命令在node1和node2上创建用户zhangsan;

6、编写一个playbook,hosts为node1和node2,复制/etc/passwd文件,属主为upwen,属组为upwen,权限为0600;并验证结果(ansible-playbook all -a ' ls -l /home/upwen/passwd )

7、编写一个playbook,在node1和node2上执行play1,创建用户lisi,并指定其uid为1999;在node1上执行play2,删除用户lisi;(playbook执行后的结果输出,以及通过临时命令查看/etc/passwd文件当中的用户信息)

8、编写一个playbook,利用循环结构,在node1和node2上分别创建三个用户,tom,jerry,cat;(执行完成之后查看并验证结果)

三 实训内容

3.1搭建ansible的实验环境;搭建三台centos7版本的虚拟机,其中一台的hostname为controller,另外两台分别为node1和node2

修改主机名

在/etc/hosts中配置ip和域名的对应关系

用ping来检验

3.2 使用普通用户limingyuan,做以下操作:针对普通用户limingyuan做sudo的提权免密;针对普通用户做ssh的免密登录;完成ansible的controller的yum仓库的配置(yum -y install epel)

ssh-keygen创建公钥和私钥

查看公钥和私钥已存在.ssh目录中

将公钥传递给node1和node2节

发现ssh实现了免密登录

在三个主机为limingyuan用户做sudo免密

Visudo

Yum安装ansible

查看ansible版本

编辑ansible.cfg

3.3 通过ansible的ad-hoc去查看主机连通性,是否可以实现基本的联通

3.4 使用ansible的ad-hoc命令在node1和node2上 复制/etc/hosts文件到用户家目录下

3.5 使用ansible的ad-hoc命令在node1和node2上创建用户zhangsan

3.6 编写一个playbook,hosts为node1和node2,复制/etc/passwd文件,属主为upwen,属组为upwen,权限为0600;并验证结果(ansible-playbook all -a ' ls -l /home/upwen/passwd )

发现最终结果满足需求

3.7编写一个playbook,在node1和node2上执行play1,创建用户lisi,并指定其uid为1999;在node1上执行play2,删除用户lisi;(playbook执行后的结果输出,以及通过临时命令查看/etc/passwd文件当中的用户信息)

3.8 编写一个playbook,利用循环结构,在node1和node2上分别创建三个用户,tom,jerry,cat;(执行完成之后查看并验证结果)

四 实训总结与体会 

       在完成 Ansible 自动运维实训的过程中,我对自动化运维工具的能力和价值有了更深刻的认识。通过学习和实践,我深刻体会到 Ansible 的强大功能和广泛适用性,以及它对提高运维效率、降低成本的重要作用。

       首先,Ansible 提供了简单而强大的配置管理和自动化部署功能,使得我们可以轻松地管理大量的服务器和应用程序。通过编写可维护的 Ansible Playbook,我学会了如何将复杂的运维任务转化为可重复、可扩展的代码,实现了运维流程的规范化和标准化。

       其次,Ansible 的批量操作和并行执行能力使得我们能够快速、同时地管理多个主机,提高了运维效率。我学会了如何编写 Ansible 的 inventory 文件和使用各种模块来完成各种常见的运维任务,例如软件安装、配置文件管理、服务启停等,大大减少了手动操作的时间和错误。

       总的来说,Ansible 自动运维实训让我深刻认识到自动化运维的重要性和价值,它能够显著提高运维效率、降低成本,并为团队协作和技术应用能力的培养提供了良好的平台。我相信这些所学所得将在我未来的职业发展中发挥重要作用,并为我成为一名高效、有能力的运维工程师打下坚实的基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/252694.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT高效提问—prompt基础

ChatGPT高效提问—prompt基础 ​ 设计一个好的prompt对于获取理想的生成结果至关重要。通过选择合适的关键词、提供明确的上下文、设置特定的约束条件,可以引导模型生成符合预期的回复。例如,在对话中,可以使用明确的问题或陈述引导模型生成…

数学建模:数据相关性分析(Pearson和 Spearman相关系数)含python实现

相关性分析是一种用于衡量两个或多个变量之间关系密切程度的方法。相关性分析通常用于探索变量之间的关系,以及预测一个变量如何随着另一个变量的变化而变化。在数学建模中,这是常用的数据分析手段。   相关性分析的结果通常用相关系数来表示&#xff…

大白话介绍循环神经网络

循环神经网络实质为递归式的网络,它在处理时序任务表现出优良的效果,毕竟递归本来就是一步套一步的向下进行,而自然语言处理任务中涉及的文本天然满足这种时序性,比如我们写字就是从左到右一步步来的鸭,刚接触深度学习…

相机图像质量研究(5)常见问题总结:光学结构对成像的影响--景深

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结:光学结构对成…

【Go语言成长之路】创建Go模块

文章目录 创建Go模块一、包、模块、函数的关系二、创建模块2.1 创建目录2.2 跟踪包2.3 编写模块代码 三、其它模块调用函数3.1 修改hello.go代码3.2 修改go.mod文件3.3 运行程序 四、错误处理4.1 函数添加错误处理4.2 调用者获取函数返回值4.4 执行错误处理代码 五、单元测试5.…

在Vue中如何动态绑定class和style属性

在Vue中,动态绑定class和style属性是我们经常遇到的需求。这个功能允许我们根据不同的条件来动态改变元素的样式,让我们的应用更加灵活和富有交互性。在本篇博客文章中,我将带你深入探索在Vue中如何实现这一功能。 首先,让我们了…

红队渗透靶机:LEMONSQUEEZY: 1

目录 信息收集 1、arp 2、nmap 3、nikto 4、whatweb 目录扫描 1、dirsearch 2、gobuster WEB phpmyadmin wordpress wpscan 登录wordpress 登录phpmyadmin 命令执行 反弹shell 提权 get user.txt 信息收集 本地提权 信息收集 1、arp ┌──(root㉿ru)-[~…

CTF-show WEB入门--web18

今天顺便也把web18解决了 老样子我们先打开题目查看题目提示: 我们可以看到题目提示为: 不要着急,休息,休息一会儿,玩101分给你flag 然后我们打开题目链接,可以看到: 即一进题目小鸟就死,然后…

类和对象(下)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 1. 再谈构造函数 1.1 构造函数体赋值 1.2 初始化列表 1.3 explicit关键字 2. static成员 2.1 概念 2.2 特性 3. 友元 3.1 友元函数 3.2 友元类 4. 内部类 5.匿…

Leetcode刷题笔记题解(C++):590. N 叉树的后序遍历

思路&#xff1a;类似于二叉树的排序&#xff0c;这里需要将子树进行依次递归遍历&#xff0c;前序遍历也与之类似 /* // Definition for a Node. class Node { public:int val;vector<Node*> children;Node() {}Node(int _val) {val _val;}Node(int _val, vector<N…

【Zookeeper】what is Zookeeper?

官网地址&#xff1a;https://zookeeper.apache.org/https://zookeeper.apache.org/ 以下来自官网的介绍 ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. A…

创建型模式-单例模式:定义、实现及应用

目录 一、模式定义二、针对问题1.解决的问题2.解决方案3.举个例子4.设计模式适合场景5.实现方式6.优缺点7.与其他模式的关系 三、代码实现 一、模式定义 单例模式&#xff08;Singleton Pattern&#xff09;是一种创建型模式&#xff0c;用于限制某个类只能创建一个对象。它提…

2024年第三届能源与环境工程国际会议(CFEEE 2024) | Ei&Scopus双检索

会议简介 Brief Introduction 2024年第三届能源与环境工程国际会议(CFEEE 2024) 会议时间&#xff1a;2024年12月12日-14日 召开地点&#xff1a;澳大利亚凯恩斯 大会官网&#xff1a;CFEEE 2024-2024 International Conference on Frontiers of Energy and Environment Engine…

图灵之旅--二叉树堆排序

目录 树型结构概念树的表示形式 二叉树概念特殊的二叉树二叉树性质二叉树的存储二叉树的遍历前中后序遍历 优先级队列(堆)概念 优先级队列的模拟实现堆的性质概念堆的存储方式堆的创建 堆常用接口介绍PriorityQueue的特性PriorityQueue常用接口介绍优先级队列的构造插入/删除/获…

qt学习:停车场管理系统+摄像头+http识别车牌+sqlite3数据库

目录 参考前面发的几篇文章http识别车牌&#xff0c;sqlite3数据库、摄像头的文章 步骤 部分代码 新建一个项目&#xff0c;加入前面用到的http和image两个文件&#xff0c;和加入用到的模块和头函数和成员&#xff0c;加入前面用到的全局变量 配置ui界面 在构造函数中初…

selenium css定位

selenium-css定位 element_css driver.find_element(By.CSS_SELECTOR, css表达式)css定位说明 selenium中的css定位&#xff0c;实际是通过css选择器来定位到具体元素&#xff0c;css选择器来自于css语法 css定位优点 语法简洁对比其他定位方式&#xff0c;定位效率更快对…

代理与Reflect反射

属性描述符 Proprety Descriptor 属性描述符 用于描述一个属性的相关信息 1.Object.getOwnPropertyDescriptor(对象&#xff0c;属性名) 可以得到一个对象的 某个属性的属性描述符 Object.getOwnPropertyDescriptors(对象) 可以得到某个对象的所有属性描述符 如果需要为某个…

React18构建Vite+Electron项目以及打包

一.先创建项目 cnpm create vite 选择React > JavaScript >cd react_vite > cnpm i >npm run dev 二.安装Electron依赖 指定版本相对稳定 cnpm i electron19.0.10 -D cnpm i vite-plugin-electron0.9.3 -D cnpm i electron-builder23.0.1 -D三.创建electron目录…

42、WEB攻防——通用漏洞文件包含LFIRFI伪协议编码算法代码审计

文章目录 文件包含文件包含原理攻击思路文件包含分类 sessionPHP伪协议进行文件包含 文件包含 文件包含原理 文件包含其实就是引用&#xff0c;相当于C语言中的include <stdio.h>。文件包含漏洞常出现于php脚本中&#xff0c;当include($file)中的$file变量用户可控&am…

Leetcode02.05:链表求和

一、题目描述 给定两个用链表表示的整数&#xff0c;每个节点包含一个数位。 这些数位是反向存放的&#xff0c;也就是个位排在链表首部。 编写函数对这两个整数求和&#xff0c;并用链表形式返回结果。 示例&#xff1a; 输入&#xff1a;(7 -> 1 -> 6) (5 -> 9 -…