K8S系列文章之 离线安装自动化工具Ansible
参考 文档 离线安装 Ansible - DevOps - dbaselife
一、Ansible简介
Ansible是一款开源的IT配置管理工具,常被IT界的小伙伴们用于自动化的场景,多用在服务部署、配置管理方面。配置文件采用最常见的yaml格式,学习起来也是比较容易,Ansible并不需要也没有agent,只有一个控制端。该工具使用简单但功能非常强大,可以解决众多工作中繁琐的服务安装、配置等问题。
二、Ansible的主要功能
- 批量执行远程命令:可以对任意多台主机同时进行命令的执行。
- 批量配置软件服务:可以进行自动化的方式部署、配置及管理服务。
- 编排高级的IT任务:Ansible 可以使用yaml来编写一套完整的Playbook,用来部署维护一套完全的基础架构。
三、Ansible的相关特性
Ansible是基于每个模块进行工作,自身并没有批量部署的能力,ansible自身只是提供了一种框架。
- Ansible由Python语言开发,没有agent,不需要在被管理节点安装任何客户端;
- 模块化:基于模块工作,只需调用特定的模块来完成特定工作;
- 基于SSH协议;
- 三大关键组成模块:Paramiko, PyYAML, Jinja2;
- 幂等性:一个任务执行1遍和执行n遍效果一样,不因重复执行带来意外情况;
- 可以使用命令行ad-hoc方式来执行批量任务,也可以使用yaml格式的文件来定制Playbook剧本实现批量任务;
- 可以使用Role组织批量任务
四、Ansible的优点
- 容易学习且轻量:无需在被控制节点安装agent,做批量操作时只需要在操作机操作即可(前提:需要配置好免密登录);
- 操作灵活:具有众多的模块,可使用命令行ad-hoc方式或者Playbook剧本的方式来实现批量任务执行;
- 可移植性高:可以基于yaml文件编写一套Playbook,只要做好逻辑判断,就可以在多种操作系统上拿来即用;
- 幂等性:一个任务执行1遍和执行n遍效果一样,不因重复执行带来意外情况;
- 支持普通用户sudo提权。
五、Ansible的架构
Ansible由以下几个核心工具组成:
- INVENTORY:Ansible管理主机的清单/etc/ansible/hosts;
- MODULES:Ansible执行命令的功能模块,多数为内置核心模块,也可自定义;
- PLUGINS:模块功能的补充,如连接类型插件、循环插件、变量插件、过滤插件等;
- APl:供第三方程序调用的应用程序编程接口。
六、Ansible离线安装
在生产网络中正常情况下是无法连接Internet的,那么我们要安装软件只能在可以上互联网的主机上下载所需要的软件,然后拷贝到无Internet的主机上进行安装。
步骤一、找一台能连接互联网并且与内网服务器系统一致的服务器,下载ansible安装包以及所有依赖包
yum install -y yum-utils epel-release
mkdir /root/ansible
yum install -y --downloadonly --downloaddir=/root/ansible ansible
复制到内网服务器
ansible安装包和依赖包
步骤二、打包所有下载的rpm包
将下载的离线包目录打包成ansible.tar.gz。
cd /root
tar -zcvf ansible.tar.gz ./ansible
步骤三、安装ansible
通过U盘或网络拷贝到企业环境服务器,解压缩并执行安装。
tar -zxvf ansible.tar.gz
cd ./ansible
rpm -ivh *.rpm
ansible --version
安装ansible
总结下
两种安装方式在生产环境的CentOS7系统中已验证通过,适用于 内网离线或者 外网在线安装,前提是系统自带或者干净的python环境。
提前安装下
1.使用yum list | grep zip/unzip获取软件安装列表,无结果表明未安装;
2.使用yum install zip”命令安装zip;3、利用“yum install unzip”命令安装unzip即可。
安装方式一
cd /tmp
git clone https://github.com/ghl1024/ansible-offline-install.git
cd ansible-offline-install/ansible
sh install.sh
安装方式二
cd /tmp
wget -c https://github.com/ghl1024/ansible-offline-install/releases/download/V1/ansible-offline-install.tar.gz
tar xf ansible-offline-install.tar.gz
cd ansible
sh install.sh
相关文章:

K8S系列文章之 离线安装自动化工具Ansible
参考 文档 离线安装 Ansible - DevOps - dbaselife 一、Ansible简介 Ansible是一款开源的IT配置管理工具,常被IT界的小伙伴们用于自动化的场景,多用在服务部署、配置管理方面。配置文件采用最常见的yaml格式,学习起来也是比较容易ÿ…...
mysql8.0.3集群搭建
下载mysql安装包: https://dev.mysql.com/downloads/mysql/5.7.html#downloads 准备环境 1、准备三台服务器并设置hosts 192.168.236.143 mysql1 192.168.236.144 mysql2 192.168.236.145 mysql32、设置免密登陆 #生成秘钥 ssh-keygen -t rsa #一直按Enter即可…...
vue中router路由的原理?两种路由模式如何实现?(vue2) -(上)
平时我们编写路由时,通常直接下载插件使用,在main.js文件中引入直接通过引入vue-router中的Router通过Vue.use使用以后定义一个routeMap数组,里边是我们编写路由的地方,最后通过实例化一个 Router实例 将routes我们定义的routeMao…...

消息队列(3) -封装数据库的操作
前言 上一篇博客我们写了, 关于交换机, 队列,绑定, 写入数据库的一些建库建表的操作 这一篇博客中,我们将建库建表操作,封装一下实现层一个类来供上层服务的调用 , 并在写完该类之后, 测试代码是否完整 实现封装 在写完上述的接口类 与 xml 后, 我们想要 创建一个类 ,来调用…...

PostgreSQL中根据时间段范围查询数据,如19:29:10到20:29:10范围内的数据,排除年月日
数据格式如下 问题描述 我的SQL语句条件是 WHERE (TO_CHAR(cti.binder_gen_time, YYYY-MM-DD HH:mm:ss) > 19:29:10 AND TO_CHAR(cti.binder_gen_time, YYYY-MM-DD HH:mm:ss) < 20:29:10)为什么我数据的时间是2023-07-20 17:58:29也能被查出来? 问题解决…...

【二分+贪心】CF1665 C
Problem - C - Codeforces 题意: 思路: 一开始想太简单wa6了 只想到先感染大的分量,然后最后把最大的分量剩下的染色 但是可能会有别的分量更大(因为最后给最大的染色之后可能不再是最大的) 可以用堆维护…...

【Wamp】安装 | 局域网内设备访问
安装教程: https://wampserver.site/article/1.html 下载 https://www.wampserver.com/en/ 安装路径上不能有中文 安装好之后图标呈绿色 放入网页文件 将网页文件放置于wamp文件夹的www子文件夹 例如:\Wamp\program\www 修改http端口 WAMP服务器…...
【golang】类型推断和变量重声明
类型推断是一种编程语言在编译期自动解释表达式类型的能力。 1.Go语言的类型推断可以带来哪些好处? 在写代码时,我们通过使用Go语言的类型推断会节省敲击次数,而节省下来的键盘敲击次数几乎可以忽略不记。但它真正的好处,往往会…...

“算法详解”系列第3卷贪心算法和动态规划出版
“算法详解”系列图书共有4卷,目前1到3卷已经出版。最新出版的是第3卷—贪心算法和动态规划。 算法详解 卷3 贪心算法和动态规划 “算法详解”系列图书共有4卷,本书是第3卷—贪心算法和动态规划。其中贪心算法主要包括调度、最小生成树、集群、哈夫曼编…...

CSS前端开发指南:创造精美的用户界面
简介: 《CSS前端开发指南:创造精美的用户界面》是一本旨在帮助读者掌握CSS技术,实现令人惊叹的前端用户界面的实用指南。无论您是初学者还是有经验的开发者,本书都将为您提供全面的知识和实用技巧,帮助您创建引人注目…...
代数学与理论物理中常见的群
代数学与理论物理中常见的群 代数学与理论物理中常见的群 四阶群 六阶群 对称群 二维转动群 三维转动群 三维正交群 群 O3群...
解析xml文件,获取需要的数据并写入txt文件中
_ 话不多说!直接上代码!_ 1、XmlUtil.java xml解析工具类 public class XmlUtil {private static String dicName "";private static String dicValue "";// 用于存储需要的数据private static List<Map<String, Str…...
JavaScript基础 第三天
1.for循环 2.数组的基本使用和操作 3.数组排序 一.for循环 ① 语法:把声明起始值,循环条件,变量值写到一起,让人一目了然 for(变量起始值;终止条件;变量变化量) {// 循环体 }举例: for (let i 0; i < 100; i)…...
2.Redis部署到Windows服务器
1.下载安装包 Redis官网没有提供Windows的安装包,可以去gitHub或者网上去下载Redis的Windows安装包。 2.Redis部署到服务器 将Redis整个文件夹放到服务器的指令目录,然后进行修改Redis的配置文件 redis.windows.conf,修改里面的配置项 1.b…...

【修正-高斯拉普拉斯滤波器-用于平滑和去噪】基于修正高斯滤波拉普拉斯地震到达时间自动检测研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
Go语言基础: 有参函数Func、Map、Strings详细案例教程
目录标题 一、Variadic Functions1.Syntax2.Examples and understanding how variadic functions work3.Slice arguments vs Variadic arguments 仅改变可变参数4.Gotcha 二、Map1.Create a Map2.Retrieving value for a key from a map3.Checking if a key exists4.Iterate ov…...

JDBC连接数据库如何实现你会吗???
1.首先建立一个maven项目。。。详细过程来了哇 还没有安装maven的童鞋可以看这里:maven的下载安装与配置环境变量!!!(全网最详细)_明天更新的博客-CSDN博客 有很多小伙伴就有疑问啦,难道我直接…...

C#与C++交互(2)——ANSI、UTF8、Unicode文本编码
【前言】 我们知道计算机上只会存储二进制的数据,无论文本、图片、音频、视频等,当我们将其保存在计算机上时,都会被转成二进制的。我们打开查看的时候,二进制数据又被转成我们看得懂的信息。如何将计算机上的二进制数据转为我们…...
SQLSTATE[42000]: this is incompatible with sql_mode=only_full_group_by in
执行 SELECT *FROM test WHERE id>1 GROUP BY name having AVG(age)>10 ORDER BY id desc limit 1 提示错误 Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause…...

企业权限管理(五)-订单分页
订单分页查询 PageHelper介绍 PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库,例如mysql、oracle、mariaDB、DB2、SQLite、Hsqldb等。 PageHelper使用 集成 引入分页插件有下面2种方式,推荐使用 Maven …...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...

定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...