RHEL8中ansible的使用
- 编写ansible.cfg和清单文件
- ansible的基本用法
本章实验三台RHEL8系统(rhel801,rhel802,rhel803),其中rhel801是ansible主机
这里要确保ansible主机能够解析所有被管理的机器,这里通过配置/etc/hosts来实现,/etc/hosts的内容如下
[root@rhel801 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.161.16 rhel801
192.168.161.17 rhel802
192.168.161.18 rhel803
[root@rhel801 ~]#
在rhel802和rhel803两台机器上确认已经创建好jin用户(三台机器都需要创建jin用户),如果没有请自行创建,然后配置sudo
[root@rhel802 ~]# cat /etc/sudoers.d/jin
jin ALL=(root) NOPASSWD:ALL
[root@rhel802 ~]#
[root@rhel803 ~]# cat /etc/sudoers.d/jin
jin ALL=(root) NOPASSWD:ALL
[root@rhel803 ~]#
这样在这两台机器上,jin 用户通过sudo -i可以无密码切换到root用户
[jin@rhel802 ~]$ sudo -i
[root@rhel802 ~]# exit
注销
[jin@rhel802 ~]$
使用jin 用户登录server,配置好ssh密钥登录,使得jin 用户可以无密码登录到 server2和 server3
1.1 编写ansible.cfg和清单文件
执行ansible或ansible-playbook命令时,优先使用当前目录中ansible.cfg的配置。如果 当前目录中没有,则使用默认的/etc/ansible.cfg中的配置
下面的操作都是rhel801上的jin用户操作的,先在家目录下创建ansible.cfg
[jin@rhel801 ~]$ cat ansible.cfg
[defaults]
inventory = ./hosts[privilege_escalation]
become=True
become_method=sudo
become_user=root
[jin@rhel801 ~]$
这里在[defaults]字段下只添加了一句inventory = ./hosts,表示把当前目录下名称为hosts的文件当作清单文件(什么是清单文件马上就要讲到)
在 [privilege_escalation]字段下定义了如何提升权限,因为是使用lduan用户登录到被管理主机的,所以需要提升权限。这个字段下写了3条,分别如下
(1)become=True:登录到被管理主机时要切换到其他用户
(2)become_method=sudo:以 sudo的方式切换
(3)become_user-root :切换到root用户
这三句的意思是,当用ssh登录到被管理主机时,以 sudo的方式切换到root,这也是为什么一开始要在被管理主机上配置好sudo的原因
所有的被管理机器都要写入清单文件中。在实验环境中有两台被管理主机,那么分别写在 hosts中,内容如下
[jin@rhel801 ~]$ cat hosts
rhel802
rhel803
[jin@rhel801 ~]$
这里一行一台主机,我们在使用ansible或ansible-playbook命令时,指定的主机名必须 是这个名称才行。要确保能解析rhel802和rhel8803,写成相应的IP也可以
如果环境中被管理的主机很多,把主机一台台地写进去太冗繁,所以可以改成如下写法
[jin@rhel801 ~]$ cat hosts
rhel802
rhel803
rhel8[10:15]
[jin@rhel801 ~]$
这里加了一行rhel8[10:15],表示 rhel810到 rhel815,这样在清单文件中就写了8台主 机(需要注意的是,在我们的练习环境中rhel810到rhel815不存在)
如果在执行ansible命令时只是想在部分主机上执行,那么在清单文件中可以对主机进行 分组。定义主机组时,组名写在中括号“[]”中,在[下面写的主机名都属于这个组,直到定 义下一个组的位置为止。修改清单文件的内容如下
[jin@rhel801 ~]$ cat hosts
rhel802
rhel803
rhel8[10:15][db1]
rhel80[2:5][db2]
rhel806
rhel807
[jin@rhel801 ~]$
这里定义了两个主机组db1和db2,db1组中包括的主机有rhel802到rhel805,db2组中包 括的主机有rhel806和 rhel807
如果想定义一个主机组,这个组中包括db1和db2两个主机组的主机,可以用 children关 键字,修改hosts的内容如下
[jin@rhel801 ~]$ cat hosts
rhel802
rhel803
rhel8[10:15][db1]
rhel80[2:5][db2]
rhel806
rhel807[db3:children]
db1
db2
[jin@rhel801 ~]$
这里定义了一个主机组db3,但是后面加了“:children",则这个主机组下面的db1和db2 就不再表示主机了,而是表示主机组。所以,db3这个主机组中所包括的主机是rhel802到 rhel805及rhel806和 rhel807这6台主机
下面查看每个主机组中有多少主机。首先查看主机组db1中的主机
[jin@rhel801 ~]$ ansible db1 --list-hostshosts (4):rhel802rhel803rhel804rhel805
[jin@rhel801 ~]$
共4台主机。查看主机组db2中的主机
[jin@rhel801 ~]$ ansible db2 --list-hostshosts (2):rhel806rhel807
[jin@rhel801 ~]$
共2台主机。查看主机组 db3中的主机
[jin@rhel801 ~]$ ansible db3 --list-hostshosts (6):rhel802rhel803rhel804rhel805rhel806rhel807
[jin@rhel801 ~]$
共6台主机,与分析的是一样的。还有一个内置主机组叫作all,表示所有主机
了解了清单文件的写法之后,最终把清单文件写成如下内容
[jin@rhel801 ~]$ cat hosts
rhel802
rhel803[db]
rhel802
rhel804
[jin@rhel801 ~]$
1.2 ansible的基本用法
ansible的基本用法如下
ansible 机器名 ‐m 模块× ‐a "模块的参数"
这里的机器名必须出现在清单文件中,整体的意思是在指定的机器上执行模块x。例如,在 rhel802上执行hostname命令,命令如下
[jin@rhel801 ~]$ ansible rhel802 -m shell -a "hostname"
rhel802 | CHANGED | rc=0 >>
rhel802
[jin@rhel801 ~]$
shell模块用于执行操作系统命令,执行的命令就作为shell模块的参数,这里在-a中写要执行的系统命令。所以,上面的命令就是在rhel802上执行hostname命令,显示的结果是rhel802.rhce.cc
要完成不同的任务就需要调用不同的模块来实现,系统中存在的所有 ansible模块可以通过ansible-doc -l来查看
不同的模块有不同的参数,模块的参数及使用方法可以通过“ansible-doc模块名”来查看
相关文章:
RHEL8中ansible的使用
编写ansible.cfg和清单文件ansible的基本用法 本章实验三台RHEL8系统(rhel801,rhel802,rhel803),其中rhel801是ansible主机 这里要确保ansible主机能够解析所有被管理的机器,这里通过配置/etc/hosts来实现…...

【1.6计算机组成与体系结构】存储系统
目录 1.层次化存储结构2.Cache2.1 Cache的介绍2.2 局部性原理2.3 Cache应用 1.层次化存储结构 由 ⬆ CPU:寄存器。 快 ⬆ Cache:按内容存取(相联存储器)。 到 ⬆内存(主存):DRAM。 慢 ⬆ 外存(辅存&#…...

TCP/UDP 协议
目录 一.TCP协议 1.介绍 2.报文格式 编辑 确认号 控制位 窗口大小 3.TCP特性 二.TCP协议的三次握手 1.tcp 三次握手的过程 三.四次挥手 2.有限状态机 四.tcp协议和udp协议的区别 五.udp协议 UDP特性 六.telnet协议 一.TCP协议 1.介绍 TCP(Transm…...
如何正确理解和使用 Golang 中 nil ?
目录 指针中的 nil 切片中的 nil map 中的 nil 通道中的 nil 函数中的 nil 接口中的 nil 避免 nil 相关问题的最佳实践 小结 在 Golang 中,nil 是一个预定义的标识符,在不同的上下文环境中有不同的含义,但通常表示“无”、“空”或“…...

IDEA新建jdk8 spring boot项目
今天新建spring boot项目发现JDK版本最低可选17。 但是目前用的最多的还是JDK8啊。 解决办法 Server URL中设置: https://start.aliyun.com/设置完成后,又可以愉快的用jdk8创建项目了。 参考 https://blog.csdn.net/imbzz/article/details/13469117…...

Qt/C++音视频开发59-使用mdk-sdk组件/原qtav作者力作/性能凶残/超级跨平台
一、前言 最近一个月一直在研究mdk-sdk音视频组件,这个组件是原qtav作者的最新力作,提供了各种各样的示例demo,不仅限于支持C,其他各种比如java/flutter/web/android等全部支持,性能上也是杠杠的,目前大概…...

智安网络|企业网络安全工具对比:云桌面与堡垒机,哪个更适合您的需求
随着云计算技术的快速发展,越来越多的企业开始采用云计算解决方案来提高效率和灵活性。在云计算环境下,云桌面和堡垒机被广泛应用于企业网络安全和办公环境中。尽管它们都有助于提升企业的安全和效率,但云桌面和堡垒机在功能和应用方面存在着…...

Git忽略已经提交的文件
原理类似于 Android修改submodule的lib包名...
MVVM和MVC以及MVP的原理以及它们的区别
MVVM、MVC 和 MVP 都是前端架构模式,它们各自有不同的原理和特点。 MVC(Model-View-Controller) 原理:MVC 将应用程序分为三个部分:模型(Model)、视图(View)和控制器&a…...

WeChatMsg: 导出微信聊天记录 | 开源日报 No.108
Mozilla-Ocho/llamafile Stars: 3.5k License: NOASSERTION llamafile 是一个开源项目,旨在通过将 lama.cpp 与 Cosmopolitan Libc 结合成一个框架,将 LLM (Large Language Models) 的复杂性折叠到单个文件可执行程序中,并使其能够在大多数…...
Python学习之复习MySQL-Day3(DQL)
目录 文章声明⭐⭐⭐让我们开始今天的学习吧!DQL简介基本查询查询多个/全部字段设置别名去除重复记录 条件查询条件查询介绍实例演示 聚合函数什么是聚合函数?常见的聚合函数实例演示 分组查询分组查询语法where 和 having 的区别实例演示 排序查询语法实…...

AI超级个体:ChatGPT与AIGC实战指南
目录 前言 一、ChatGPT在日常工作中的应用场景 1. 客户服务与支持 2. 内部沟通与协作 3. 创新与问题解决 二、巧用ChatGPT提升工作效率 1. 自动化工作流程 2. 信息整合与共享 3. 提高决策效率 三、巧用ChatGPT创造价值 1. 优化产品和服务 2. 提高员工满意度和留任率…...
SpringBoot集成websocket(5)|(使用OkHttpClient实现websocket以及详细介绍)
SpringBoot集成websocket(5)|(使用OkHttpClient实现websocket以及详细介绍) 文章目录 SpringBoot集成websocket(5)|(使用OkHttpClient实现websocket以及详细介绍)[TOC] 前言一、初始…...

Kafka-Kafka基本原理与集群快速搭建(实践)
Kafka单机搭建 下载Kafka Apache Download Mirrors 解压 tar -zxvf kafka_2.12-3.4.0.tgz -C /usr/local/src/software/kafkakafka内部bin目录下有个内置的zookeeper(用于单机) 启动zookeeper(在后台启动) nohup bin/zookeeper-server-start.sh conf…...

Elasticsearch 进阶(索引、类型、字段、分片、副本、集群等详细说明)-06
笔记来源:Elasticsearch Elasticsearch进阶 进阶-核心概念 索引Index 一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。一个索引由一个名字…...

hive的分区表和分桶表详解
分区表 Hive中的分区就是把一张大表的数据按照业务需要分散的存储到多个目录,每个目录就称为该表的一个分区。在查询时通过where子句中的表达式选择查询所需要的分区,这样的查询效率会提高很多。 静态分区表基本语法 创建分区表 create table dept_p…...

verilog语法进阶-分布式ram
概述: FPGA的LUT查找表是用RAM设计的,所以LUT可以当成ram来使用,也并不是所有的LUT都可以当成ram来使用,sliceM的ram可以当成分布式ram来使用,而sliceL的ram只能当成rom来使用,也就是只能读,不能写&#x…...

HarmonyOS使用HTTP访问网络
HTTP数据请求 1 概述 日常生活中我们使用应用程序看新闻、发送消息等,都需要连接到互联网,从服务端获取数据。例如,新闻应用可以从新闻服务器中获取最新的热点新闻,从而给用户打造更加丰富、更加实用的体验。 那么要实现这样一种…...

GZ015 机器人系统集成应用技术样题1-学生赛
2023年全国职业院校技能大赛 高职组“机器人系统集成应用技术”赛项 竞赛任务书(学生赛) 样题1 选手须知: 本任务书共 25页,如出现任务书缺页、字迹不清等问题,请及时向裁判示意,并进行任务书的更换。参赛队…...

计算机毕业设计 基于SpringBoot的日常办公用品直售推荐系统的设计与实现 Java实战项目 附源码+文档+视频讲解
博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
怎么让Comfyui导出的图像不包含工作流信息,
为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐) 在 save_images 方法中,删除或注释掉所有与 metadata …...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...

企业大模型服务合规指南:深度解析备案与登记制度
伴随AI技术的爆炸式发展,尤其是大模型(LLM)在各行各业的深度应用和整合,企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者,还是积极拥抱AI转型的传统企业,在面向公众…...
加密通信 + 行为分析:运营商行业安全防御体系重构
在数字经济蓬勃发展的时代,运营商作为信息通信网络的核心枢纽,承载着海量用户数据与关键业务传输,其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级,传统安全防护体系逐渐暴露出局限性&a…...