Linux——ansible的应用

要让ansible管理业务里的主机

1.得先知道,有哪些主机

  用IP地址,用主机名

2.知道了有哪些主机以后,精细、细分管理

  主机要用某些办法,分组管理

在ansible里,要用一个东西:清单->inventory

inventory

这个东西的存在形式

ansible是为了人方便使用,为了简单

所以,inventory,就是个文本文件

最简单的写法

每行也一个,写很多行,可以写IP地址,也可以写主机名(需要DNS)

进一步,进行简单的分组

按照人的思路,头上加个“标题”,在这个标题下写很多行

[组名]

列出主机

分组很灵活,并不强制每个主机必须在某一个组里

任意分组之间,没有冲突,完全看需求

比如:可以同时按照多种条件去同时写很多分组

      1)按照服务器的类型分:web服务器、db服务器、storage服务器……

      2)同时,有可以按照位置:A机房的一组,B机房的一组

再比如,可以分组套分组

在inventory文件,先按照其他条件分好了组

然后,以“组名”为成员,再分组

如果是套着写,通常写在文件末尾

不论是分组,还是成员,写法也可以灵活

按照上面写的,通常是IP或主机名

能不能写范围?

可以写匹配范围,比如字符串的匹配,比如IP地址的网段和范围

servera,serverb……serverf

192.168.1.1……192.168.1.200

上面这种,就可以用范围表示,比如用 [ ]

假设,写好了inventory文件,怎么查看?

1)直接看文件

   但是,如果这个文件内容特别多,写的很长……

2)用ansible的命令去看,给你列出,比如某个组有哪些主机

   ansible 组名 --list-hosts

举个例子……

比如,有以下主机:

servera 192.168.1.101

serverb 192.168.1.102

serverc 192.168.1.103

可以分组

[webserver] 下面服务器,运行web,作为web服务器

serverb

[dbserver] 下面这个主机运行了数据库,作为dbserver

servera

[storageserver] 下面这个服务器,是存储服务器

serverc

[servers] 包含所有的服务器,可以写范围

servera

serverb

serverc

或写成

server[a:c]

[discuz:children] 按照业务分组套分组

webserver

dbserver

以上分组,是为了业务和用途

在对不同目标,做不同操作时,调用不同分组

最后,上面咱知道了inventory怎么写,问题来了,这个文件放哪儿?

说直白点

将来你想用哪个目录作为ansible工作目录,那就把inventory放哪……

比如:建立一个目录,专用于ansible,/var/zidonghua

就可以在/var/dizonghua/目录下,vim编辑一个叫做inventory的文件

可以在不同用途的工作目录下,写不同的inventory,然后各自执行

关于ansible的配置文件

1.并不是像其他服务一样用一个统一的守护进程或服务

  于是,这个东西配置文件,可以同时出现在不同位置

2.ansible配置文件

  ansible.cfg

  位置:

  1)/etc全局使用的

  2)每个Linux用户的主目录下,都可以放一个

  3)在每个ansible的工作目录里,都可以放一个

3.用途以及相关原因

  1)“越精确,范围越小,越优先”

每个工作目录,优先使用本目录下的配置文件

  2)ansible可以根据不同的任务分类,使用完全不同的工作目录

     这些工作目录之间也可以相配合补充

  3)还可以想更多办法,优化、组织ansible的工作目录

     可以目录套目录

     这些目录,还可以分别打包

4.配置文件的内容

  1)管理机要写明,连接到客户机时,要用客户机的哪个用户进行ssh登录

     以及,登录时候,要不要应答密码

     通常,在管理机和客户机之间,提前做好ssh免密登录

     需要注意

     为了保证服务器安全,通常是使用普通账户进行ssh访问

     然后,再想办法切换到root账户,做管理性的操作

  2)ansible就是为了自动化做管理性配置,于是,通常要切换到root用户

     在客户机上,要切换到root,再进行后续工作

     要指明,是否要切换root,是否要密码

用什么办法切换(su?sudo?)

             通常使用sudo方法,但是,需要在客户机提前配置好sudo

-m 的运用

接下来

已经有了主机的清单,要管理谁

也有了配置文件,连接以及切换root的方法

可以去让ansible执行“操作”

ansible这个东西,本身,并不一定非得写剧本才能操作

  有很多一次性操作,可以像执行命令一样,直接做

于是:运行临时命令

对于临时命令,不一定要保证“幂等性”

通常,会有哪些操作

比如:ping测试,收集客户机当前的信息、状态

举个栗子

#ansible  servera  -m  ping

对servera这台主机,发起一个ansible的临时操作

这个操作,调用了一个模块叫做ping

并不是说,用ansible执行ping命令……

servera,SUCCESS成功,这次操作本身成功了

但是,下面,changed是false,不是说操作失败或者写错东西

  而是说,这一次操作,没有造成客户机的状态的变更,和之前没变化

于是,有了一个问题:

我哪知道ansible有啥模块?我上哪知道模块咋用?

怎么解决

看内置的官方文档

查看当前内置有哪些模块

ansible-doc -l

找到目标模块,查看这个模块怎么用

ansible-doc 模块名

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Tensorflow入门实战 T04-猴痘识别

本篇文章主要:tensorflow 运行环境:本地cpu 运行epoch:50 1、tensorflow官网 tensorflow的官网教程。初学者的 TensorFlow 2.0 教程 | TensorFlow Core 官网上有图像分类的相关详细描述还有代码示例。 2、完整代码展示 from tensorflo…

探索Napier:Kotlin Multiplatform的日志记录库

探索Napier:Kotlin Multiplatform的日志记录库 在现代软件开发中,日志记录是不可或缺的部分,它帮助开发者追踪应用的行为和调试问题。对于Kotlin Multiplatform项目而言,能够在多个平台上统一日志记录的方法显得尤为重要。Napier…

远程开发端口转发

应用推荐场景: 1.服务器跑后台,本地出前端应用。 比如Stable Diffusion的大模型打标应用。 2.Docker容器服务器。 对于本地服务想要转出去,跑出来前端。该项能克服虚拟机的端口与ip访问问题。 正文: 涉及的软件: …

Petalinux由于网络原因产生的编译错误(3)-qemu-xilinx-system-native 失败

1 获取qemu-xilinx-system-native 失败 编译时遇到qemu-xilinx-system-native 包获取失败,如下图所示: 解决这种错误方法如下: 进入Petalinux 工程,编辑工程下的 project-spec/meta-user/conf/petalinuxbsp.conf 文件&#xff0…

苹果AI来了,ios18史诗级发布

今天凌晨1点,苹果举行了WWDC开发者大会,正式发布了 全新iOS 18、iPadOS 18、watchOS 11、tvOS 18、macOS 等以及Apple Intelligence的个人化智能系统 苏音给大家汇总下,ios18的更新内容以及苹果的AI。 本次更新,官方带来的title…

小白如何入门编程?零基础入门指南,助你一步步成为编程达人!

零基础编程入门先学什么?编程语言有几百种,我们应该怎么选择。想学习编程,加入互联网行业,哪一个更有前途?在小白学习编程会有各种各样的问题,今天小编我就来为你解答。 一、程序员的类别 程序员从事的人…

GenICam标准(一)

系列文章目录 GenICam标准(一) GenICam标准(二) 文章目录 系列文章目录1、概述GenApiGenTLSFNC(标准特征命名约定)CLProtocolGenCP 参考 emva 1、概述 如今的数码摄相机包含了很多的功能,而不仅…

数据预处理——调整方差、标准化、归一化(Matlab、python)

对数据的预处理: (a)、调整数据的方差; (b)、标准化:将数据标准化为具有零均值和单位方差;(均值方差归一化(Standardization)) (c)、最值归一化,也称为离差标准化,是对原始数据的…

MultiTrust:首个综合统一的多模态信任度基准(上)

随着我们迈向人工通用智能(AGI)的时代,出现了开创性的大语言模型(LLMs)。凭借它们强大的语言理解和推理能力,已经无缝地将其他模态(例如视觉)整合到LLMs中,以理解不同的输…

JavaScript 基础 - 第2天【函数】

文章目录 前言一、声明和调用1、声明(定义)2、调用 二、参数三、返回值四、作用域1、全局作用域2、局部作用域 五、匿名函数1、函数表达式2、立即执行函数 前言 理解封装的意义,能够通过函数的声明实现逻辑的封装,知道对象数据类…

遗传算法求解车间调度问题(附python代码)

背景介绍 车间调度问题(Job Shop Scheduling Problem, JSSP)是一类经典的组合优化问题,它在制造业和生产管理中有着广泛的应用。JSSP 的目标是对车间中的一系列作业进行排程,以使得作业在不同机器上的加工顺序是最优的&#xff0…

重生之 SpringBoot3 入门保姆级学习(21、场景整合 Redis 定制对象序列化存储)

重生之 SpringBoot3 入门保姆级学习(21、场景整合 Redis 定制对象序列化存储) 6.4 定制化 6.4 定制化 需求:保存一个 Person 对象到 redis 创建 Person 类 package com.zhong.redis.entity;import lombok.AllArgsConstructor; import lombok…

为什么Mamba模型被拒?

Mamba模型问世 最近,国际学习表征会议(ICLR)公布了2024年会议的最终决定,其中引起广泛关注的是一个名为Mamba的模型。这个模型最初被认为是对抗著名的Transformer架构进行语言建模任务的主要竞争者,但最终被拒绝&…

HTML制作一个超迷人的科技之眼

大家好,今天制作一个科技之眼! 先看具体效果: 要制作一个超迷人的“科技之眼”网页效果,你可以结合HTML、CSS和JavaScript来实现。下面是一个简单的步骤指南和示例代码,帮助你开始这个项目。 1. 设计概念 首先&…

Nginx 搭建 lnmp

一.编译安装Nginx 1.新建用户前期准备 官网下载nginx安装包 https://nginx.org/en/download.html yum -y install gcc pcre-devel openssl-devel zlib-devel openssl openssl-devel #安装依赖包 useradd -M -s /sbin/nologin nginx #新建nginx用户便于管理 2.切换到/opt…

大屏幕互动系统PHP源码 附动态背景图和配乐素材 含搭建教程

最新大屏幕互动系统PHP源码 附动态背景图和配乐素材 含搭建教程 测试环境:apachePHP7.3MySQL5.7 源码免费下载地址抄笔记 (chaobiji.cn)

家里满是“飞尘、毛絮”怎么办?用空气净化器,干净又卫生!

随着气温的升高,家中的毛絮和飞尘问题愈发严重,这些细小的颗粒常常聚集在房间的角落,即使每日清洁,似乎也难以彻底清除,反而可能使情况恶化。特别是对于养宠物的家庭来说,毛絮问题尤为突出,即使…

一键安全体检!亚信安全携手鼎捷软件推出企业安全体检活动 正式上线

亚信安全联合鼎捷软件股份有限公司(以下简称“鼎捷软件”)正式推出“一键安全体检”服务。亚信安全网络安全专家将携手鼎捷软件数据安全专家,围绕企业的数智安全状况,进行问题探索与治愈、新问题预测与预警,在全面筛查…

MPT(merkle Patricia trie )及理解solidity里的storage

what? MPT树是一种数据结构,用于在以太坊区块链中高效地存储和检索账户状态、交易历史和其他重要数据。MPT树的设计旨在结合Merkle树和Patricia树的优点,以提供高效的数据存储和验证 MPT树由四种类型的节点组成: **扩展节点&…

Redis的缓存击穿、缓存穿透和缓存雪崩是什么?怎么预防?

Redis的缓存击穿、缓存穿透和缓存雪崩是什么?怎么预防? 前言缓存击穿定义解决思路实现加锁设置过期时间Lua脚本刷新锁 缓存穿透定义实现 缓存雪崩定义解决思路 总结 前言 最近在CSDN上看到了一篇博客,Redis缓存击穿、雪崩、穿透!…