【运维】Ansible 自动化运维工具配置及模块使用

简介: 【运维】Ansible 自动化运维工具配置及模块使用

ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppetcheffuncfabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

ansible是基于 paramiko 开发的,并且基于模块化工作,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远

程主机通讯的。

官方文档教程https://docs.ansible.com/

 

测试网络拓扑

image.png

ansible安装

配置所需安装yum源,我使用了阿里的centos7

[root@server yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-7.repo
[root@server yum.repos.d]# yum clean all&&yum makecache
[root@server yum.repos.d]# yum -y install ansible

image.jpeg

 

ansible 配置公私钥

ansible server中创建ssh的密钥对

[root@server ansible]# ssh-keygen

image.png

 

ssh的公钥下发,实现ansible服务器与其余服务器的ssh免密登陆

[root@server ansible]# ssh-copy-id root@192.168.2.131
[root@server ansible]# ssh-copy-id root@192.168.2.132

image.jpeg

测试ssh免密登陆

image.png

 

配置hosts文件

备份默认的hosts文件,新建hosts,写入被操作端的服务器IP地址,主机组名为test

[root@server ansible]# mv hosts hosts.bak
[root@server ansible]# vim hosts
[test]
192.168.2.131
192.168.2.132

 

测试

执行ping模块,成功测试主机连通性

[root@server ansible]# ansible test -m ping

image.png

到此为止已经部署好ansible主控端,被控端无需任何配置

 

ansible-doc查询命令使用

1.查询可执行模块,用法同vim,可直接输入查找

[root@server ansible]# ansible-doc -l

image.jpeg

 

-s 查看模块的具体参数

[root@server ansible]# ansible-doc -s yum

#查看yum模块的具体用法

image.jpeg

 

 

ansible命令使用

常用语法

ansible  <主机组/IP地址/IP地址通配符>  -m <模块名>  -a <模块参数>
-t 日志输出
-u 指定用户名
-k 指定密码
-I 指定ansible的hosts文件位置
-f 连接并发数

image.png

 

ansible常用模块

setup检索系统信息

#检索系统全部信息,可加参数filter过滤所需要的信息字段

[root@server ansible]# ansible test -m setup

image.png

 

image.png

 

command&shell 命令执行

commandshell模块都可以执行命令

image.png

区别在于shell支持shell的语法,如|&;><

command不支持

image.png

user用户管理

#新建用户,设置用户名为admin,密码为加密后的123

[root@server ansible]# ansible test -m user -a 'name=tao password=mAuu0XQsSEPJg'

image.jpeg

测试

ssh登陆

image.png

 

#删除用户,状态state=absent

[root@server ansible]# ansible test -m user -a 'name=admin state=absent'
[root@server ansible]# ansible test -m user -a 'name=admin state=absent'

image.png

测试

查询系统用户admin,返回空,用户已经删除

image.png

 

copy文件分发上传

#分发文件,文件为本地/opt/test.txt,目标路径为/root/

[root@server ansible]# ansible test -m copy -a 'src=/opt/test.txt dest=/root'

image.png

 

#强制覆盖上传文件,force=yes

[root@server ansible]# ansible test -m copy -a 'src=/opt/test.txt dest=/root force=yes'

image.jpeg

 

#创建备份,当同名文件内容发生变化,将之前存在文件备份为时间日期

[root@server ansible]# ansible test -m copy -a 'src=/opt/test.txt dest=/root backup=yes'

image.jpeg

 

#直接写入创建文件,修改文件权限

[root@server ansible]# ansible test -m copy -a 'content="systemctl restart network" dest=/root/excute.sh mode=777'

image.jpeg

 

测试

有上传的txt

有上传前备份的test

有上传写入权限777sh文件

image.jpeg

 

yum安装管理

#test组中的服务器,yum安装ftp

[root@server ansible]# ansible test -m yum -a 'name=ftp'

image.jpeg

 

#yum卸载ftp, state=absent

[root@server ansible]# ansible test -m yum -a 'name=ftp state=absent'

image.jpeg

 

 

service服务管理

#启动服务mariadb,设置开机自启

# state有四种状态, started-启动服务,stopped停止服务, restarted重启服务,reloaded重载配置

[root@server ansible]# ansible test -m service -a 'name=mariadb state=started enabled=yes'

image.jpeg

检测

检测3306端口开启,服务已经正常启动

image.png

相关文章
|
12月前
|
人工智能 Ubuntu 前端开发
Dify部署全栈指南:AI从Ubuntu配置到HTTPS自动化的10倍秘籍
本文档介绍如何部署Dify后端服务及前端界面,涵盖系统环境要求、依赖安装、代码拉取、环境变量配置、服务启动、数据库管理及常见问题解决方案,适用于开发与生产环境部署。
1914 1
|
12月前
|
机器学习/深度学习 人工智能 测试技术
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
EdgeMark是一个面向嵌入式AI的自动化部署与基准测试系统,支持TensorFlow Lite Micro、Edge Impulse等主流工具,通过模块化架构实现模型生成、优化、转换与部署全流程自动化,并提供跨平台性能对比,助力开发者在资源受限设备上高效选择与部署AI模型。
890 9
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
|
11月前
|
人工智能 运维 监控
运维安全还能靠“人盯人”?别闹了,聊聊自动化处理的真功夫
运维安全还能靠“人盯人”?别闹了,聊聊自动化处理的真功夫
365 17
|
11月前
|
人工智能 搜索推荐 UED
一个牛逼的国产AI自动化工具,开源了 !
AiPy是国产开源AI工具,结合大语言模型与Python,支持本地部署。用户只需用自然语言描述需求,即可自动生成并执行代码,轻松实现数据分析、清洗、可视化等任务,零基础也能玩转编程,被誉为程序员的智能助手。
|
12月前
|
Java 测试技术 API
自动化测试工具集成及实践
自动化测试用例的覆盖度及关键点最佳实践、自动化测试工具、集成方法、自动化脚本编写等(兼容多语言(Java、Python、Go、C++、C#等)、多框架(Spring、React、Vue等))
854 6
|
12月前
|
Java 测试技术 数据安全/隐私保护
通过yaml文件配置自动化测试程序
通过yaml文件可以将自动化测试环境,测试数据和测试行为分开,请看一下案例
445 4
|
人工智能 供应链 数据可视化
工作流梳理工具实战教程:手把手教你绘制第一张自动化流程图
本文剖析了团队因流程混乱导致重复劳动和效率低下的问题,提出通过工作流梳理提升协作效率的解决方案。总结了流程梳理的六大核心需求,并深度测评了6款主流工具,国内有板栗看板那,国外有kiss flow结合团队规模与需求提供选型建议,助力企业高效落地流程优化。
|
11月前
|
人工智能 缓存 自然语言处理
86_自动化提示:AutoPrompt工具
在当今人工智能领域,提示工程(Prompt Engineering)已成为释放大语言模型(LLM)潜能的关键技术。随着LLM规模和能力的不断增长,如何设计高效、精确的提示词成为研究和应用的焦点。然而,传统的手工提示工程面临着巨大挑战
730 0
|
12月前
|
安全 搜索推荐 机器人
风险规则引擎-RPA 作为自动化依赖业务决策流程的强大工具
机器人流程自动化(RPA)是一种通过软件“机器人”自动执行重复性任务的技术,能大幅提升工作效率。它适用于财务、电商等领域的标准化流程,如账单处理和退货管理。然而,RPA在复杂决策场景中存在局限,需结合决策模型(DMN)和业务规则管理系统(BRMS)实现流程与决策的协同自动化,从而增强灵活性与业务价值。
|
数据采集 机器学习/深度学习 人工智能
运维人的“福音”?AI 驱动的自动化网络监控到底香不香!
运维人的“福音”?AI 驱动的自动化网络监控到底香不香!
1381 0