ansible自动化运维

server/2025/2/9 4:55:48/

ansible自动化运维

1、实现远程连接主机

2、批量配置,批量操作,ansible可以对主机进行组划分,也可以把名下所有的主机进行划分,进行批量的操作。

3、远程自动化运维(脚本-------------playbook剧本)

ansible是基于python语言开发的,配置管理和部署应用的工具。

批量的配置,部署,管理“上千台”主机。

ansible只要在一台主机上就可以对其他主机进行操作。

4、ansible的工作模式:没有固定的客户端这一说法,不是c/s。

使用模块来进行工作,ansible的模块有很多,copy shell  真正的目标主机上执行任务的是模块。

5、ansible的特性:

幂等性,计算机中的概念,在幂等操作中,无论执行多少次,结果都是一样的,多次执行相同的操作,不会产生不同的结果。

ansible中,如果你的操作是符合幂等性,那么不会对目标主机产生额外的副作用。

6、ansible的组件:

1、lnventory  主机清单   主机组

2、modules  模块----------学习的重点

3、plugins 插件

4、playbooks  剧本(脚本) ----------重点

ansible的优点:

部署快,只要能上网,或者有源码包,安装部署很简单

基于yaml格式编写的脚本

同一台服务器上多次执行同一个任务没有任何副作用

缺点:

语法要专门学

主机和目标主机必须都是linux,主机和server

命令格式:


ansible all -m command -a 'date'
ansible 固定开头
all:<组名,ip,all,>声明操作的对象
-m 指定模块
command 就是模块名
-a 指定参数(指定操作)

“date”:具体要执行的命令

1、command模块

就是在目标主机执行命令,不支持管道符,也不能使用重定向
chdir=/opt 声明目标主机的目录

creates:判断指定的文件是否存在,如果存在,不执行后续的操作

removes:判断指定的文件是否存在,如果存在,执行后续的操作

2、shell模块

就是command模块的升级,但是可以使用管道符,可以重定向还可以使用连接符链接多个命令。

&&逻辑且,所有的命令必须执行成功才算完成

;逻辑或,失败一个任务不影响全局的执行

3、cron模块
分/时/日/月/周
minute/hour/day/month/weekday

-m cron
name 计划任务的名称

job: 计划的执行的命令

stat:present  表示添加,默认就是添加可以不写

       absent 表示移除

删除定时任务

4、user和group

-m user  

-m group

name 用户名或者组名  必有参数

state=present | absent

           创建          删除

uid

gid

shell:默认就是/nin/bash

create_home yes | no 是否替换用户的家目录

remove=yes | no 删除用户时是否删除家目录

password 创建用户的登入密码

system yes | no 表示该用户是否是系统用户

创建用户

修改家目录

删除用户

创建组

删除组

5、copy复制

dest: 文件复制到目标主机的位置
src:源文件,主机的文件------------》目标主机

如果复制目录,源文件是目录,那么目标主机的路径也是目录

mode:修改目标文件权限

owner:文件的所有者

group:文件的所在组

content:复制输出的内容到目标主机,使用content就不能使用src

复制配置文件到目标主机

将内容重定向追加到目标主机

复制目录

剪切

6、file模块----和copy有相似之处

owner  所有者

group  所在组

mode 权限

path----------->目标主机的文件路径

state------->link作为软连接    touch  创建   absent  删除

src-------------->指定创建的文件为软连接

7、hostname 设置目标主机的主机名

8、ping  测试目标主机的连通性

9、yum/apt 模块      安装和卸载         

10、service模块。

也可以用command或者shell模块-----systemctl 对服务状态进行控制

name=软件名
enabled=true---- 开机自启
state=started stopped restarted  开   停   重启

runlevel=40 设定开机自启动的运行级别。数字越大,级别越高

重启

开机自启

11、iptables------ubuntu和centos

firewalld ------- centos

对端口进行放行和删除策略

ubuntu

centos

放行

删除

12、script模块

指定本地的脚本,然后脚本中的命令在目标主机执行,结果也是输出到目标主机。

13、setup模块 收集节点信息,查看目标主机的配置信息

通过facts组件收集

查看内核

查看系统

可以不用设置免密登入

[defaults]

host_key_checking = False #禁止使用ssh的密钥检查

inventory = /etc/ansible/hosts #指定主机清单的文件

forks = 20 #同时可以对多少主机进行配置,默认是5,可以提高执行的速度

pipelining = True #减少对ssh会话中的操作,提高性能

strategy = free #任务会立即对下一个主机并行执行,不用等待其他主机完成

retry_files_enabled = False #如果任务失败,禁用自动重试的功能

指定ip范围

ansible实操

test1  ansible

test2 目标主机1

test3 目标主机2

test1

安装ansible

apt -y install ansible

设置免密登入

提取出ip地址


http://www.ppmy.cn/server/166127.html

相关文章

自定义飞书Webhook机器人api接口

自定义飞书Webhook机器人api接口 使用方法&#xff1a; 在网站目录新建一个名为api.php的文件&#xff0c;将以上代码粘贴进去即可 然后访问域名/api.php?title洛小柒 - QQ沐编程&content小柒祝大家新年快乐&#xff01;&urlwww.qqmu.com&type1 title是标题 con…

用 HTML、CSS 和 JavaScript 实现抽奖转盘效果

顺序抽奖 前言 这段代码实现了一个简单的抽奖转盘效果。页面上有一个九宫格布局的抽奖区域&#xff0c;周围八个格子分别放置了不同的奖品名称&#xff0c;中间是一个 “开始抽奖” 的按钮。点击按钮后&#xff0c;抽奖区域的格子会快速滚动&#xff0c;颜色不断变化&#xf…

基于ssm的药店管理系统

一、系统架构 前端&#xff1a;jsp | bootstrap | jquery | css | ajax 后端&#xff1a;spring| springmvc | mybatis 环境&#xff1a;jdk1.8 | mysql | maven | tomcat 二、代码及数据 三、功能介绍 01. 注册 02. 登录 03. 管理员-药品基础信息 04.…

DeepSeek 的含金量还在上升

大家好啊&#xff0c;我是董董灿。 最近 DeepSeek 越来越火了。 网上有很多针对 DeepSeek 的推理测评&#xff0c;除此之外&#xff0c;也有很多人从技术的角度来探讨 DeepSeek 带给行业的影响。 比如今天就看到了一篇文章&#xff0c;探讨 DeepSeek 在使用 GPU 进行模型训练…

团体程序设计天梯赛-练习集——L1-034 点赞

前言 20分的题目题目不难&#xff0c;理解也不难&#xff0c;做起来有点问题 L1-034 点赞 微博上有个“点赞”功能&#xff0c;你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签&#xff0c;而你点赞的博文的类型&#xff0c;也间接刻画了你的特性。本…

自定义数据集 使用pytorch框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测,对预测结果计算精确度和召回率及F1分数

自定义数据集&#xff1a;继承 torch.utils.data.Dataset 类创建自定义数据集&#xff0c;并重写 __len__ 和 __getitem__ 方法。 定义逻辑回归模型&#xff1a;继承 nn.Module 类&#xff0c;定义一个线性层&#xff0c;并在 forward 方法中应用sigmoid激活函数。 训…

【高级架构师】计算机网络基础:第二章 计算机网络体系结构(上)

文章目录 第二章 计算机网络体系结构2.1 常用的计算机网络体系结构2.1.1 OSI体系结构2.1.2 具有五层协议的体系结构 2.2 物理层2.2.1 物理层的基本概念2.2.2 传输媒体 2.3 数据链路层2.3.1 数据链路层概述2.3.2 封装成帧2.3.3 透明传输2.3.4 差错校验2.3.4 以太网2.3.5 以太网的…

【2024华为OD-E卷-100分-木板】(题目+思路+JavaC++Python解析)

题目描述 给定一块木板&#xff0c;其长度为 n 个单位。现在需要在这块木板上切割出 m 个长度为 k 的木板段。每次切割只能沿着木板的整数位置进行&#xff0c;并且每次切割的成本为切割位置到木板两端中较近一端的距离。求最小的切割成本总和。 输入 第一行输入一个整数 n&…