ansible自动化运维工具

ansible 详解 文章目录一、ansible 简介1.1 ansible 是什么?1.2 ansible 特点1.3 ansible 架构图二、ansible 任务执行2.1 ansible 任务执行模式2.2 ansible 执行流程2.3 ansible 命令执行过程三、ansible 配置详解3.1 ansible 安装方式3.1.1 使用 pip(python的包管理模块)安装3.1.2 使用 yum 安装3.2 ansible 程序结构3.3 ansible配置文件3.4 ansuble主机清单四、ansible 阅读详情

一、ansible自动运维工具简介

1.ansible

Ansible 与 Saltstack 均是基于 Python 语言开发,Ansible 只需要在一台普通的服务器上运行即可,不需要在客户端服务器上安装客户端。因为 Ansible 是基于 SSH 远程管理,而Linux服务器大都离不开SSH,所以Ansible不需要为配置工作添加额外的支持。
Ansible 安装使用非常简单,而且基于上千个插件和模块实现各种软件、平台、版本的管理,支持虚拟容器多层级的部署。很多读者在使用 Ansible 工具时,认为 Ansible比 Saltstatck 执行效率慢,其实不是软件本身慢,是由于 SSH 服务慢,可以优化 SSH 连接速度及使用 Ansible 加速模块,满足企业上万台服务器的维护和管理。

2.ansible原理

Ansible分为控制端和被控端,主要是基于SSH协议去管理客户端,被控端是无需安装Agent插件的,Ansible会读取控制端hosts文件,根据文件中定义IP列表信息,调取本地的各个模块对被控端机器实现批量、并发的配置管理和维护,如果任务比较复杂可以写成PlayBook剧本进行分发管理;

Ansible 自动运维管理工具优点:

  • 轻量级,更新时,只需要在操作机上进行一次更新即可;
  • 采用 SSH 协议;
  • 不需要去客户端安装 agent;
  • 批量任务执行可以写成脚本,而且不用分发到远程就可以执行;
  • 使用 python 编写的,维护更简单;
  • 支持 sudo 普通用户命令;
  • 去中心化管理。

二、ansible部署安装

ansible(192.168.220.110)

systemctl stop firewalld.service 
setenforce 0
hostnamectl set-hostname ansible
su -
yum install -y epel-release
yum install -y ansible
ansible --version
yum install -y tree

[root@ansible ~] # tree /etc/ansible/
/etc/ansible/
├── ansible.cfg
├── hosts
└── roles
1 directory, 2 files

vim /etc/ansible/hosts
####在里边添加####
[pyy]
192.168.220.120
[ppp]
192.168.220.130
####esc->  shift+:  ->wq####

ssh-keygen -t rsa
密码两遍
ssh-copy-id root@192.168.220.120
yes
密码
ssh-copy-id root@192.168.220.130
ssh-agent bash
[root@ansible ~]# ssh-add
Enter passphrase for /root/.ssh/id_rsa: (密码)
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)
[root@ansible ~]# ansible pyy -m command -a 'date'
192.168.220.120 | CHANGED | rc=0 >>
2021年 04月 07日 星期三 15:24:38 CST
[root@ansible ~]# ansible ppp -m command -a 'date'
192.168.220.130 | CHANGED | rc=0 >>
2021年 04月 07日 星期三 15:24:46 CST

pyy(192.168.220.120)

systemctl stop firewalld.service 
setenforce 0
hostnamectl set-hostname pyy
su -

ppp(192.168.220.130)

systemctl stop firewalld.service 
setenforce 0
hostnamectl set-hostname ppp
su -

三、ansible命令模块

注:以下所有操作前提必须使用agent代理

ssh-agent bash
ssh-add
(输入密码)

1.command模块

命令格式:ansible [主机] [-m 模块] [-a args]

#列出所有已安装的模块,按q退出
ansible-doc -l    		

#所有主机执行data命令,其中all可以换成IP或者分类名称
ansible all -m command -a 'date'   

#不加-m模块,则默认使用command模块
ansible all -a 'date'
ansible all -a 'ls /root'

在这里插入图片描述
在这里插入图片描述

2.cron模块

两种状态(state):present表示添加(可以省略),absent表示移除

#查看cron模块信息
ansible-doc -s cron

#pyy:分类  -m指定模块 -a输出模块内的指令  分钟:每分钟,工作:输出yoyoyo,工作名称:yby
ansible pyy -m cron -a 'minute="*/1" job="/usr/bin/echo yoyoyo" name="yby"'

#查看计划性任务命令
ansible pyy -a 'crontab -l'

#移除计划性任务
ansible pyy -m cron -a 'name="yby" state=absent'

在这里插入图片描述

3.user模块

user模块有三条指令:useradd,userdel,usermod

#模块信息,按q退出
ansible-doc -s user

#weisuoyou 创建用户
ansible all -m user -a 'name=abc'

#查看用户账户信息
ansible all -m 'command' -a 'tail -1 /etc/passwd'

#移除指令
ansible all -m user -a 'name="abc" state=absent'

在这里插入图片描述

4.group模块

group模块请求groupadd、groupdel、groupmod模块

#查看模块信息
ansible-doc -s group

#system=yes 创建系统组
ansible ppp -m group -a 'name=mysql gid=306 system=yes'

#查看组账户信息
ansible ppp -a 'tail -1 /etc/group'
#创建用户并加入组
ansible ppp -m user -a 'name=abcd uid=306 group=mysql system=yes'

#查看用户的用户id和组id信息
ansible ppp -a 'id abcd'

在这里插入图片描述

5.copy模块

对文件进行有效的复制

ansible-doc -s copy

ansible ppp -m copy -a 'src=/etc/fstab dest=/opt/fstab.back'

ansible ppp -a 'ls /opt'
ansible ppp -a 'cat /opt/fstab.back'

ansible ppp -m copy -a 'content="hello pyy" dest=/opt/qwe.txt'
ansible ppp -a 'cat /opt/qwe.txt'

在这里插入图片描述

在这里插入图片描述

6.file模块

ansible-doc -s file

ansible ppp -m user -a 'name=ppp system=yes'

ansible ppp -m file -a 'owner=ppp group=ppp mode=600 path=/opt/qwe.txt'
ansible ppp -a 'ls -l /opt/qwe.txt'

#创建
ansible ppp -m file -a 'src=/opt/qwe.txt path=/opt/qwe.txt.link state=link'
ansible ppp -a 'ls -l /opt'

#移除文件/opt/test.txt
ansible ppp -m file -a 'path=/opt/qwe.txt state=absent'

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.ping模块

ansible all -m ping 

在这里插入图片描述

8.service模块

ansible-doc -s service

##192.168.220.120
yum -y install httpd

ansible pyy -a 'systemctl status httpd'

ansible pyy -m service -a 'enabled=true name=httpd state=started'



systemctl status httpd
systemctl is-enabled httpd

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.shell模块

ansible-doc -s shell

ansible ppp -m user -a 'name=abc'
ansible ppp -m shell -a 'echo 990928 | passwd --stdin abc'

在这里插入图片描述

10.script模块

ansible-doc -s script

vim hy.sh
#!/bin/bash
echo '一袋米哟扛几楼' > /opt/script.txt

chmod +x hy.sh
ansible all -m script -a 'hy.sh'

ansible all -a 'cat /opt/script.txt'

在这里插入图片描述

11.yum模块

ansible-doc -s yum

ansible ppp -m yum -a 'name=httpd'
ansible ppp -a 'rpm -q httpd'

ansible ppp -m yum -a 'name=httpd state=absent'
ansible ppp -a 'rpm -q httpd'

在这里插入图片描述
在这里插入图片描述

12.setup模块

ansible-doc -s setup

#获取ppp组主机的facts信息
ansible ppp -m setup   
Ansible facts 是远程系统的信息,主要包含IP地址,操作系统,以太网设备,mac 地址,时间/日期相关数据,硬件信息等信息。
Ansible自动化运维工具 可能的值包括:all(全部)、min(最小集合)、hardware(硬件信息)、network(网络信息)、virtual(虚拟化信息)、ohai(类似Chef Ohai的扩展信息)、facter(使用Facter收集的信息)。special_time:特殊的时间范围,参数:reboot(重启时),annually(每年),monthly(每月),weekly(每周),daily(每天),hourly(每小时)另一种是目标软链接已存在,需要先取消之前的软链,然后创建新的软链,有两个选项:yes。 阅读详情

相关推荐

Ansible自动化运维

Ansible 是一种简单而强大的自动化工具,用于配置管理、应用部署、任务执行和编排。它通过 SSH 协议与远程机器通信,默认不需要在客户端安装额外的代理软件,这使得它的部署和使用相对简单。

m_2076的博客 2049

非常好的Ansible入门教程(超简单)

Ansible是一个配置管理和配置工具,类似于Chef,Puppet或Salt。这是一款很简单也很容易入门的部署工具,它使用SSH连接到服务器并运行配置的任务,服务器上不用安装任何多余的软件,只需要开启ssh,所有工作都交给client端的ansible负责。 关于Ansible的一个好处是,将bash脚本转换为可执行任务是非常容易的。我们可以编写自己的配置程序,但是Ansible更加干净,因为它

pushiqiang的博客 15万+

Lattice CrosslinkNx LIFCL-40实战解析:MIPI D-PHY硬核IP配置与CSI-2数据解析全流程

本文详细解析了Lattice CrosslinkNx LIFCL-40 FPGA中MIPI D-PHY硬核IP的配置与CSI-2数据解析全流程。通过实战案例,介绍了硬件环境搭建、寄存器配置、数据包结构解析及视频流重构技巧,帮助开发者快速掌握高速图像采集系统的设计与优化方法。

weixin_29159613的博客 198

Ansible的简介及部署

1. ansible简介 1.1 什么是ansible ansible是一款开源自动化平台,是一个配置管理工具,自动化运维工具 1.2 ansible的优点 跨平台支持 人类可读自动化: ansible提供linux,Windows,unix和网络设备的无代理支持,适用于物理、虚拟、云和容器环境 完美描述应用:playbook 轻松管理版本控制:playbook是纯文本,可视作源代码...

Rainable 1万+

2025软考信息安全工程师真题

2025信息安全工程师软考真题

qq_40424393的博客 1707

深度学习模型设计的方法和技巧

设计神经网络模型是一个迭代的过程,需要不断试验和调整各个组成部分,以达到最佳性能。同时,遵循良好的工程实践,如模块化设计、版本控制、文档记录等,也是成功的关键。

xw555666的博客 4026

自动化运维工具-ansible详解

一、ansible简介 ansible是一种基于python开发的自动化运维工具,它只需要在服务端安装ansible,无需在每个客户端安装客户端程序,通过ssh的方式来进行客户端服务器的管理,基于模块来实现批量数据配置、批量设备部署以及批量命令执行。 ansible大致模块工作原理见下图: 大致工作原理就是ansible程序调用读取/etc/ansible/ansible.cfg配置文件获取主机列表清单/etc/ansible/hosts文件,获取所要处理的主机列表,然后查看剧本任务,在根据剧本.

m0_64496909的博客 2万+

Blender点云渲染实战:用Geometry Nodes快速搞定论文配图(附Cycles渲染技巧)

本文详细介绍了如何利用Blender的Geometry Nodes系统,高效地将三维点云数据转化为高质量的科研论文配图。通过实战步骤,从数据导入、节点化几何处理、材质赋予到Cycles渲染引擎的优化设置,手把手教你制作出专业、美观的可视化图像,助力科研成果展示。

hp777的博客 265

Ansible部署和模块应用

Ansible其中一个比较鲜明的特性是Agentless,即无Agent的存在,它就像普通命令一样,并非C/S软件,也只需在某个作为控制节点的主机上安装一次Ansible即可,通常它基于ssh连接来控制远程主机,远程主机上不需要安装Ansible或其它额外的服务。Ansible是基于模块工作的,它只是提供了一种运行框架,它本身没有完成任务的能力,真正执行操作的是Ansible的模块, 比如copy模块用于拷贝文件到远程主机上,service模块用于管理服务的启动、停止、重启等。

qq_51574973的博客 1589

DC-DC BUCK电路 PCB 布局布线 5 要点:以 XL4015 12V转5V 为例解析噪声控制

本文以XL4015 12V转5V降压电路为例,详细解析DC-DC BUCK电路PCB布局布线的5个关键要点,重点探讨噪声控制策略。通过功率回路最小化、热管理与接地优化、电感电容布局、反馈网络防干扰设计以及实测验证技巧,帮助工程师实现高效稳定的电源设计,显著降低输出纹波和电磁干扰。

weixin_29165725的博客 369

agent实战专栏|日程管理Agent:智能时间管家

在快节奏的现代生活中,时间管理已成为每个人面临的核心挑战。根据全球知名调研机构 Gallup 的统计数据,现代职场人平均每天仅能有效专注工作 2 小时 23 分钟,剩余时间被会议、邮件、碎片化事务大量占据。微软的另一项研究显示,知识工作者平均每天需要处理 200 多条日程相关的信息,包括会议邀请、日历变更、提醒通知等。传统的日历工具(如 Google Calendar、Outlook Calendar、Apple Calendar)虽然在可视化展示和基础提醒方面表现出色,但在智能化方面仍存在明显短板:日程管

2201_76125393的博客 52

自动化运维工具—ansible详解

playbook 是 ansible 用于配置,部署,和管理被控节点的剧本。通过 playbook 的详细描述,执行其中的一系列 tasks ,可以让远端主机达到预期的状态。playbook 就像 Ansible 控制器给被控节点列出的的一系列 to-do-list ,而被控节点必须要完成。也可以这么理解,playbook 字面意思,即剧本,现实中由演员按照剧本表演,在Ansible中,这次由计算机进行表演,由计算机安装,部署应用,提供对外服务,以及组织计算机处理各种各样的事情。

Aaron599的博客 4267

YOLOv8+BiFPN双向特征金字塔:多尺度目标检测精度提升28%的实战教程

双向特征金字塔网络(BiFPN)是一种强化多尺度特征融合支持“自顶向下+自底向上”的双向特征流动,同时保留不同尺度的细节信息;引入加权融合机制,自动学习不同特征的重要性权重;裁剪冗余节点,在轻量化的同时提升融合效率。

m0_64661770的博客 492

『运维备忘录』之 Ansible 自动化运维工具

Ansible是基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能的自动化运维工具,广泛用于配置管理、应用部署以及任务协调等领域。

流浪字节的博客 2502

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Ansible-自动化运维工具

Ansible是一款使用Python开发,模块化,依赖于ssh协议实现的自动化统一配置管理工具,自动化主要体现在Ansible集成了丰富模块以及功能组件,可以通过一个命令完成一系列的操作,进而能减少重复性的工作和维护成本,可以提高工作效率。集合了众多老牌运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

秋的博客 4261

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

自动化运维工具之Ansible

本文介绍ansible自动化运维工具,介绍了xshell的多会话同时操作功能,Ansible简介、Ansible特点及优势、Ansible核心程序、Ansible工作原理及流程、部署Ansible自动化运维工具、Ansible常用模块、组嵌套使用、组变量使用、主机变量的使用

云计算之路 2745

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

运维自动化之ansible工具

本文主要介绍运维自动化工具ansible的使用方法,如ansible常用命令、ansible常用模块等,希望对你有帮助!

十七拾的博客 4528

Ansible自动化运维实战

本文详细介绍了Ansible自动化运维工具和Zabbix监控系统的安装配置过程。主要内容包括:1)通过YUM源安装Ansible及相关组件;2)配置MariaDB数据库并导入Zabbix表结构;3)部署Zabbix服务端和Web界面;4)配置客户端Agent实现主机监控;5)详解监控项、触发器、动作等核心功能配置;6)介绍Web监控场景设置和主动/被动监控模式。文档提供了完整的操作命令和配置文件修改示例,涵盖从基础环境搭建到高级监控功能实现的完整流程,适合运维人员参考实施自动化监控系统。

qq_62839871的博客 2600

Ansible实现自动化运维

在当今快速发展的IT环境中,自动化运维已经成为提高效率、减少人为错误和确保系统一致性的关键手段。随着服务器数量的增加和配置的复杂化,手动管理变得越来越不可行。Ansible作为一款强大的自动化运维工具,因其简单易用、无需客户端代理、基于SSH通信等特点,成为了众多运维工程师的首选。本文将详细介绍Ansible的基本概念、运行机制、安装部署以及基础命令和模块操作,帮助您快速上手并掌握如何使用Ansible进行集中化的服务器管理。无论您是初学者还是有经验的运维人员,本文都将为您提供有价值的指导和参考。

m0_46460826的博客 2031

运维自动化-Ansible

ansible 的认识和用法 模块

qq_57093716的博客 1791

Ansible 自动化运维

Ansible 自动化运维

weixin_61428407的博客 6335
上一篇: docker cgroup
下一篇: kubernetes简单了解
我有一瓢酒,可以慰风尘。
博客等级 码龄6年 34粉丝 76原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值