Linux——ansible的应用

news2024/11/24 12:30:05

要让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 模块名

 

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

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

相关文章

C学习自学笔记-会陆续完善对应章节编程经典例子

C学习笔记 0>C语言概述 为什么学习C语言 1)C的起源和发展------了解即可 B语言、C语言、C语言的产生地:都出自 美国贝尔实验室 2)C的特点 优点:代码量小、速度快、功能强大 缺点:危险性高、开发周期长、可移植性…

POC EXP | woodpecker插件编写

woodpecker插件编写 目录 woodpecker介绍woodpecker使用插件编写 安装环境 woodpecker-sdkwoodpecker-request 创建Maven项目 Confluence OGNL表达式注入漏洞插件编写 创建Package包和Class类编写POC 漏洞POC代码编写导出jar包将jar包放入woodpecker的plugin目录运行woodpeck…

2.2 抽头

目录 为什么要抽头 什么是抽头 接入系数 怎么抽头 信号源端抽头 负载端抽头 例题分析 要点总结 为什么要抽头 阻抗转换,使信号源内阻Rs与负载电阻RL变得很大,分流小,再使用并联方式。 什么是抽头 接入系数 电容越大,分压越…

Hadoop 2.0:主流开源云架构(四)

目录 五、Hadoop 2.0访问接口(一)访问接口综述(二)浏览器接口(三)命令行接口 六、Hadoop 2.0编程接口(一)HDFS编程(二)Yarn编程 五、Hadoop 2.0访问接口 &am…

最大连续子序列和问题详解

最大连续子序列和问题如下:给定一个数字序列,求i,j,使得最大,输出这个最大和。 这个问题如果用暴力来做,枚举左端点和右端点,需要的复杂度,而计算需要的复杂度,因此总时间复杂度为。…

表面声波滤波器——压电材料(2)

声表面波压电材料 压电效应: 1880年,法国物理学家居里兄弟(PCunie 和J.Curie)发现将重物置于α石英晶体上,品体部分表面会产生电荷,电荷量与所受压力成正比正压电效应:外加压力作应下在表面间产生电位差。 和逆压电效&#xff1a…

14 学习PID--步进电机梯形加减速实现原理

步进电机加减速使用的场景有那些呢?为什么要使用加减速呢? 硬件驱动细分器与软件的细分参数或定时器分频参数设置不当时启动电机时,会遇见步进电机有啸叫声但是不会转动,这是因为软件产生脉冲的频率大于步进电机的启动频率&#x…

Iptables深入浅出

1、iptables的基本概念 众所周知iptables是Linux系统下自带免费的包过滤防火墙。其实不然,iptables其实不是真正的防火墙,我们可以把它理解成一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的”安全框架”…

【Oracle APEX开发小技巧1】转换类型实现显示小数点前的 0 以 及常见类型转换

在 apex 交互式式网格中,有一数值类型为 NUMBER,保留小数点后两位的项,在 展示时小数点前的 0 不显示。 效果如下: 转换前: m.WEIGHT_COEFFICIENT 解决方案: 将 NUMBER(20,2&#xf…

Python进阶:从函数到文件的编程艺术!!!

第二章:Python进阶 模块概述 函数是一段可重复使用的代码块,它接受输入参数并返回一个结果。函数可以用于执行特定的任务、计算结果、修改数据等,使得代码更具模块化和可重用性。 模块是一组相关函数、类和变量的集合,它们被封…

Android Media Framework(六)插件式编程与OMXStore

OpenMAX IL Spec阅读到上一节就结束了,这一节开始正式进入到Framework阅读阶段,我们将了解OpenMAX框架是如何与Android Framework连接的。 1、插件式编程 插件式编程(Plugin-based Programming)是一种软件开发模式,它…

docker login 报错: http: server gave HTTP response to HTTPS client

环境: 自建 Harbor、Docker 1. 问题分析 # 命令,这里用的是 IP,可以为域名 docker login -u test 172.16.51.182:31120 # 输入密码 Password:# 报错如下: Error response from daemon: Get "https://172.16.51.182:31120/…

Flutter IOS 打包上架踩坑

前言 Flutter 作为一款跨平台的移动应用开发框架,凭借其高效、灵活和美观的特性,受到了越来越多开发者的青睐。 然而,当开发者们倾注心血完成 Flutter iOS 应用开发后,如何将应用成功上架至苹果商店(App Store&#…

关于QTcreator,19年大学时写的文章了,之前写在印象笔记现在拉过来,往事如烟呐

1.初来乍到,先按照书本写一个基础列程理解一下原理。 这里创建工程的时候选择Qdialog基类,dialog.h头文件,并且勾选了创建界面 (勾选之后可以通过手动添加组块并且可以自生成他们的函数定义,如果没有勾选,…

R 初级教程之一

IT的发展目前已经相当的内卷,到处都在说24年是将来4年最难的一年!确实是,眼下各大厂商都在疯狂的裁员砍掉不营利的业务,收紧业务,不再盲目的扩张。小公司更是水深火热,无以言表。近期有个医院联系让使用R给…

uniapp中unicloud接入支付宝订阅消息完整教程

经过无数次的尝试,终于还是让我做出来了 准备工作 设置接口加签方式 使用支付宝小程序订阅消息,首先要设置接口加签方式,需要下载支付宝开放平台密钥工具,按照步骤生成秘钥,然后按照支付宝设置密钥加签方式添加接口加签方式。 有一点需要注意的,因为要在云函数中使用,…

MyBatis源码--04:MyBatis缓存实现

缓存作用: 在程序访问数据库这个过程中,存在几个性能瓶颈: 网络通信非关系型数据库将数据存储在硬盘当中,需要进行硬盘操作Java对象复用问题(Connection连接池,Statement对象) 缓存在程序和数…

Python猫周刊赠书规则与书单

△△请给“Python猫”加星标 ,以免错过文章推送 你好,我是猫哥。在创作《Python潮流周刊》一年多的时间里,我已累计通过抽奖赠书 80 本!早期周刊是免费分享,所以参与人数很多,现在周刊转为付费后&#xff0…

Vue50-mixin混入

一、为什么要使用 mixin混入 两个组件共享一个配置。 二、使用 mixin混入 2-1、创建一个混合js文件 2-2、引入混合js文件 1、局部混合 在每个组件中都引入混合js文件 注意: 混合就是复用配置,vm实例中的所有的配置项,都能在混合.js文件中写…

springboot与flowable(10):网关服务(排他网关)

一、绘制流程图 排他网关用于对流程中的决策建模。当执行到这个网关时,会按照所有出口顺序流定义的顺序对它们进行计算。选择第一个条件为true的顺序流继续流程。例如员工请假时,小于等于3天由组长审批,大于3天由总监审批。流程案例&#xff…