【服务器部署篇】Linux下Ansible安装和配置

news2024/10/6 10:30:33

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是,产生了写一个博客专栏想法,介绍当前互联网企业JAVA项目开发如何快速入门。

本文收录于《30天企业JAVA项目开发实战入门》专栏,该专栏内容以当前互联网软件企业中的项目实战为线索,介绍企业JAVA项目开发中涉及到的开发流程、技术、工具、规范要求等等。帮助想从事JAVA开发的大学生或新人,更快、更好的入门JAVA后端开发工作。

文章目录

    • 一、前言
    • 二、安装
    • 三、配置
    • 四、总结

一、前言

本文介绍在Linux环境下如何使用yum方式安装ansible。

  • ansible是什么?

    ansible 是一个基于python 开发的自动化运维工具, 其功能实现基于ssh远程连接服务。它可以实现批量系统配置,批量软件部署,批量文件拷贝,批量运行命令等功能。

    官网地址:https://www.ansible.com/

  • ansible能做什么?

    ansible可以帮助运维人员完成一些批量任务,或者完成一些需要经常重复的工作。
    比如:同时在100台服务器上安装Nginx服务,并在安装后启动服务。
    比如:将某个文件一次性拷贝到100台服务器上。
    比如:每当有新服务器加入工作环境时,运维人员都要为新服务器部署某个服务,也就是说运维人员需要经常重复的完成相同的工作。

  • ansible有哪些特点?

    ansible不需要单独安装客户端,仅需要在主控制端安装即可。
    ansible不需要启动任何服务,仅需安装对应工具即可。
    ansible依赖大量的python模块来实现批量管理。
    ansible配置文件/etc/ansible/ansible.cfg。

Ansible的架构图如下:
在这里插入图片描述

二、安装

首先,配置epel源文件信息;

vim /etc/yum.repos.d/epel7.repo
[Packages]
name=Packages
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/
gpgcheck=0

在这里插入图片描述
之后,开始使用yum方式安装ansible;

yum install ansible -y

在这里插入图片描述
安装完成后,查看ansible的版本信息;

ansible --version

在这里插入图片描述
之后 ,查看ansible配置文件目录
在这里插入图片描述

三、配置

ansible默认基于ssh登陆,在对远程主机操作之前,需要对主机进行认证。认证方式有密码认证和公私钥密钥认证两种方式。出于安全性的考虑,这里推荐使用公私钥密钥认证方式。

下面介绍如何配置密钥认证。

首先,需要指定要控制的远程主机IP。

vi /etc/ansible/host

在这里插入图片描述

之后,查看已指定的远程主机;

ansible all --list-hosts

在这里插入图片描述
之后,使用ssh-keygen生成随机密钥对。(PS:ssh-keygen是linux下密钥管理工具。)

ssh-keygen -N "" -b 4096 -t rsa -C "tian" -f /root/.ssh/stanley.rsa

在这里插入图片描述
密钥生成后,查看私钥信息;

cat /root/.ssh/stanley.rsa

在这里插入图片描述
之后,查看公钥信息;

cat /root/.ssh/stanley.rsa.pub

在这里插入图片描述
之后,把公钥发送给远程服务器上;

ssh-copy-id -i /root/.ssh/stanley.rsa root@远程服务器IP

在这里插入图片描述

之后,切换到你要控制的远程服务器上,查看公钥信息是否发送过来了。

cat /root/.ssh/authorized_keys

在这里插入图片描述

之后,再切换回当前服务器,通过ansible访问登录远程服务器;

ssh -i /root/.ssh/stanley.rsa root@远程服务器IP

在这里插入图片描述

最后,当远程服务器操作完成后,可以使用exit命令退出远程服务器,切换回当前服务器;
在这里插入图片描述
至此,Ansible安装和配置完成。

四、总结

以上介绍了如何在Linux环境使用yum方式安装和配置ansible。另外,关于ansible的使用,也简单介绍一下。

  • ansible的命令如何使用?

    语法格式:
    ansible <pattern_goes_here> -m <module_name> -a
    也就是:
    ansible 匹配模式 -m 模块 -a ‘需要执行的内容’

    命令详解:
    匹配模式:即哪些机器生效 (可以是某一台, 或某一组, 或all) , 默认模块为command , 执行常规的shell命令.

    -m name, --module-name=name: 指定执行使用的模块。
    -u username, --user=username: 指定远程主机以username运行命令。
    -s, --sudo: 相当于linux系统下的sudo命令。
    -usudo_username, --sudo-user=sudo_username: 使用sudo, 相当于linux系统下的sudo命令。
    -C, --check: 只检查不实际执行。
    -e, 即extra_vars: 引用外部参数。
    -i, 即inventory: 指定仓库列表, 默认/etc/ansible/hosts。
    –list-host: 列出执行主机列。

  • ansible常用的模块有哪些?

    command模块和shell模块: 用于在各被管理节点运行指定的命令。其中,shell和command的区别,shell模块可以特殊字符,而command是不支持。
    ping 模块: 检查指定节点机器是否还能连通,用法很简单,不涉及参数,主机如果在线,则回复pong 。
    raw 模块: 执行原始的命令,而不是通过模块子系统。
    yum 模块: RedHat和CentOS的软件包安装和管理工具。
    apt 模块: Ubuntu/Debian的软件包安装和管理工具。
    pip 模块 : 用于管理Python库依赖项,为了使用pip模块,必须提供参数name或者requirements。
    synchronize 模块: 使用rsync同步文件,将主控方目录推送到指定节点的目录下。
    template 模块: 基于模板方式生成一个文件复制到远程主机(template使用Jinjia2格式作为文件模版,进行文档内变量的替换的模块。
    copy 模块: 在远程主机执行复制操作文件。
    user 模块 与 group 模块: user模块是请求的是useradd, userdel, usermod三个指令,goup模块请求的是groupadd, groupdel, groupmod 三个指令。
    service 模块: 用于管理远程主机的服务。
    get_url 模块: 该模块主要用于从http、ftp、https服务器上下载文件(类似于wget)。
    fetch 模块: 它用于从远程机器获取文件,并将其本地存储在由主机名组织的文件树中。
    file 模块: 主要用于远程主机上的文件操作。
    lineinfile 模块: 远程主机上的文件编辑模块
    unarchive模块: 用于解压文件。
    hostname模块: 修改远程主机名的模块。
    script模块: 在远程主机上执行主控端的脚本,相当于scp+shell组合。
    stat模块: 获取远程文件的状态信息,包括atime,ctime,mtime,md5,uid,gid等信息。
    cron模块: 远程主机crontab配置。
    mount模块: 挂载文件系统。
    find模块: 帮助在被管理主机中查找符合条件的文件,就像 find 命令一样。
    selinux模块:远程管理受控节点的selinux的模块。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

编译器的学习

常用的编译器&#xff1a; GCCVisual CClang&#xff08;LLVM&#xff09;&#xff1a; Clang 可以被看作是建立在 LLVM 之上的一个项目, 实际上LLVM是clang的后端&#xff0c;clang作为前端前端生成LLVM IR&#xff0c;https://zhuanlan.zhihu.com/p/656699711MSVC &#xff…

构建安全高效的前端权限控制系统

✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天开心哦&#xff01;✨✨ &#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; ✨✨ 帅哥美女们&#xff0c;我们共同加油&#xff01;一起进步&am…

计算机网络相关知识总结

一、概述 计算机网络可以极大扩展计算机系统的功能机器应用范围&#xff0c;提高可靠性&#xff0c;在为用户提供放方便的同时&#xff0c;减少了整体系统费用&#xff0c;提高性价比。 计算机网络的功能主要有&#xff1a;1. 数据共享&#xff1b;2. 资源共享&#xff1b;3. 管…

《系统架构设计师教程(第2版)》第15章-面向服务架构设计理论与实践-05-SOA设计模式

文章目录 1. 服务注册表模式1.1 服务注册表1.2 SOA治理功能1.3 注册表中的配置文件 2. 企业服务总线&#xff08;ESB&#xff09;模式3. Synchro ESB3. 微服务模式3.1 概述3.2 微服务架构模式方案3.2.1 聚合器微服务1&#xff09;概述2&#xff09;几种特殊的聚合微服务 3.2.2 …

ElasticSearch笔记一

随着这个业务的发展&#xff0c;我们的数据量越来越庞大。那么传统的这种mysql的数据库就渐渐的难以满足我们复杂的业务需求了。 所以在微服务架构下一般都会用到一种分布式搜索的技术。那么今天呢我们就会带着大家去学习分布搜索当中最流行的一种ElasticSearch&#xff0c;Ela…

Android Studio开发之路(八)Spinner样式设置

一、需求 白色背景显示下拉框按钮 问题&#xff1a; 设置Spinner的背景可以通过设置background&#xff1a; android:background"color/white",但是一旦设置了这个值&#xff0c;右侧的下拉按钮就会消失 方法一、自定义一个style&#xff08;不成功&#xff09; …

1张图片+3090显卡微调Qwen-VL视觉语言大模型(仅做演示、效果还需加大数据量)

原项目地址&#xff1a;https://github.com/QwenLM/Qwen-VL/blob/master/README_CN.md 环境本地部署&#xff08;见之前博文&#xff09; 【本地部署 】23.08 阿里Qwen-VL&#xff1a;能对图片理解、定位物体、读取文字的视觉语言模型 (推理最低12G显存) 一、数据集格式说明 …

网络安全之SQL注入漏洞复现(中篇)(技术进阶)

目录 一&#xff0c;报错注入 二&#xff0c;布尔盲注 三&#xff0c;sleep延时盲注 四&#xff0c;DNSlogs 盲注 五&#xff0c;二次注入 六&#xff0c;堆叠注入 总结 一&#xff0c;报错注入 报错注入就是在错误信息中执行 sql 语句&#xff0c;利用网站的报错信息来带…

HTML:PC和手机的自适应图形布局样例

作者:私语茶馆 1.前言 有时我们需要开发一个自适应PC和手机的HTML页面,由于屏幕大小不同,会涉及到自动部署。W3School提供了一个非常好的案例:Responsive Image Gallery。本文利用独立CSS文件详细介绍一下这个案例。 2.案例详细介绍 2.1.Project项目文件结构 企业级项目…

代码随想录算法训练营第四十六天| LeetCode139.单词拆分

一、LeetCode139.单词拆分 题目链接/文章讲解/视频讲解&#xff1a;https://programmercarl.com/0139.%E5%8D%95%E8%AF%8D%E6%8B%86%E5%88%86.html 状态&#xff1a;已解决 1.思路 单词明显就是物品&#xff0c;字符串s明显就是背包&#xff0c;那么问题就变成了物品能不能把背…

小程序 rich-text 解析富文本 图片过大时如何自适应?

在微信小程序中&#xff0c;用rich-text 解析后端返回的数据&#xff0c;当图片尺寸太大时&#xff0c;会溢出屏幕&#xff0c;导致横向出现滚动 查看富文本代码 图片是用 <img 标签&#xff0c;所以写个正则匹配一下图片标签&#xff0c;手动加上样式即可 // content 为后…

文献速递:深度学习胶质瘤诊断---空间细胞结构预测胶质母细胞瘤的预后

Title 题目 Spatial cellular architecture predicts prognosis in glioblastoma 空间细胞结构预测胶质母细胞瘤的预后 01文献速递介绍 胶质母细胞瘤的治疗耐药性的关键驱动因素是肿瘤内的异质性和细胞状态的可塑性。在这里&#xff0c;我们调查了空间细胞组织与胶质母细胞瘤…

图像哈希:全局+局部提取特征

文章信息 作者&#xff1a;梁小平&#xff0c;唐振军期刊&#xff1a;ACM Trans. Multimedia Comput. Commun. Appl&#xff08;三区&#xff09;题目&#xff1a;Robust Hashing via Global and Local Invariant Features for Image Copy Detection 目的、实验步骤及结论 目…

分布式与一致性协议之拜占庭将军问题(三)

拜占庭将军问题 叛将先发送消息 如果是叛将楚先发送作战消息&#xff0c;干扰作战计划&#xff0c;结果会有所不同吗&#xff1f; 在第一轮作战信息协商中&#xff0c;楚向苏秦发送作战指令"进攻",向齐、燕发送作战指令"撤退"&#xff0c;如图所示(当然还…

排序算法:顺序查找

简介 顺序查找&#xff08;也称为线性查找&#xff09;是一种简单直观的搜索算法。按照顺序逐个比较列表或数组中的元素&#xff0c;直到找到目标元素或搜索完整个列表。 应用场景 数据集比较小&#xff0c;无需使用复杂的算法。数据集没有排序&#xff0c;不能使用二分查找…

springboot停机关闭前保证处理完请求

application.yml配置 server:shutdown: graceful // 处理完请求在关闭服务server:shutdown: immediate // 立刻关闭&#xff0c;默认 jvm关闭自带的回调

【QT学习】9.绘图,三种贴图,贴图的转换,不规则贴图(透明泡泡)

一。绘图的解释 Qt 中提供了强大的 2D 绘图系统&#xff0c;可以使用相同的 API 在屏幕和绘图设备上进行绘制&#xff0c;它主要基于QPainter、QPaintDevice 和 QPaintEngine 这三个类。 QPainter 用于执行绘图操作&#xff0c;其提供的 API 在 GUI 或 QImage、QOpenGLPaintDev…

Windows10如何关闭Edge浏览器的Copilot

在Windows10更新后&#xff0c;打开Edge浏览器&#xff0c;无论复制什么内容&#xff0c;都会弹出Copilot人工智能插件&#xff0c;非常令人反感&#xff0c;网上搜索的关闭方法都非常麻烦&#xff0c;比如&#xff1a;组策略和注册表。自己摸索得出最简便有效的关闭方法。 1、…

自然语言处理: 第二十八章大模型基底之llama3

项目地址: meta-llama/llama3: The official Meta Llama 3 GitHub site 前言 LLaMa系列一直是人们关注的焦点&#xff0c;Meta在4月18日发布了其最新大型语言模型 LLaMA 3。该模型将被集成到其虚拟助手Meta AI中。Meta自称8B和70B的LLaMA 3是当今 8B 和 70B 参数规模的最佳模…

【深度学习】YOLOv5,烟雾和火焰,目标检测,防火检测,森林火焰检测

文章目录 数据收集和数据标注查看标注好的数据的脚本下载yolov5创建 dataset.yaml训练参数开始训练yolov5n训练训练后的权重下载gradio部署 数据收集和数据标注 搜集数据集2w张。 pip install labelme labelme 然后标注矩形框和类别。 下载数据请看这里&#xff1a; https:…