【运维】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

目录
打赏
0
2
2
0
1249
分享
相关文章
Ansible与Jenkins:自动化工具的对比
Ansible和Jenkins是自动化领域的两大巨头。Ansible专注于配置管理和任务自动化,采用无代理架构,使用YAML定义配置,具有幂等性和可扩展性。Jenkins则擅长持续集成和持续交付(CI/CD),支持丰富的插件生态系统,适用于自动化构建、测试和部署。两者各有优势,Ansible适合配置管理与大规模部署,Jenkins则在CI/CD方面表现出色。结合使用可创建更强大的自动化工作流,提升团队生产力和软件质量。选择工具时应根据具体需求决定。
FilmAgent:多智能体共同协作制作电影,哈工大联合清华推出 AI 驱动的自动化电影制作工具
FilmAgent 是由哈工大与清华联合推出的AI电影自动化制作工具,通过多智能体协作实现从剧本生成到虚拟拍摄的全流程自动化。
371 10
FilmAgent:多智能体共同协作制作电影,哈工大联合清华推出 AI 驱动的自动化电影制作工具
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
本文介绍如何设置和查看域名或证书监控。步骤1:根据证书状态选择新增域名或证书监控,线上部署推荐域名监控,未部署选择证书监控。步骤2:查询监控记录详情。步骤3:在详情页查看每日定时检测结果或手动测试。
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
HTTPS 证书自动化运维:https证书管理系统-自动化部署
本指南介绍如何部署Linux服务器节点。首先复制生成的Linux脚本命令,然后将其粘贴到目标服务器上运行。接着刷新页面查看节点记录,并点击“配置证书”选择证书以自动部署。最后,节点部署完成,后续将自动调度,无需人工干预。
HTTPS 证书自动化运维:https证书管理系统-自动化部署
HTTPS 证书自动化运维:https证书管理系统之自动化签发
通过访问【https://www.lingyanspace.com】注册账户,进入证书服务菜单并新增证书。填写域名(单域名、多域名或泛域名),创建订单后添加云解析DNS记录进行质检。确认完成后可下载证书,并支持后续查看、更新和定时更新功能。证书过期前15天自动更新,需配置邮箱接收通知。
HTTPS 证书自动化运维:https证书管理系统之自动化签发
自动化AutoTalk第十一期-应知必会的自动化工具之阿里云配额中心
本次分享主题为“应知必会的自动化工具之阿里云配额中心”,课程围绕三个方面展开:1) 认识配额及其作用;2) 配额管理的意义与方法;3) 阿里云配额中心的功能和使用场景。通过学习,了解如何有效管理和监控配额,避免资源限制影响业务,并实现自动化集成,提升运维效率。
53 10
AutoTalk第十三期-应知必会的自动化工具-阿里云SDK支持策略(一)
AutoTalk第十三期探讨阿里云SDK支持策略,涵盖四大方面:发布策略、版本规范、更新策略及停止支持策略。重点介绍SDK的及时性、完整性、测试覆盖度和版本命名规范;并以Python部分语言版本停止支持为案例,帮助开发者了解维护策略,确保平稳过渡到新版本。
自动化AutoTalk第十期:应知必会的自动化工具-阿里云SDK
本期《自动化AutoTalk》第十期聚焦应知必会的自动化工具——阿里云SDK。主要内容分为三部分:1. 阿里云SDK概述,介绍其支持的300多款云产品和8种主流编程语言;2. 快速生成SDK示例,以Java语言为例展示如何通过OpenAPI门户快速生成并下载SDK工程;3. 进阶特性介绍,涵盖签名算法、Endpoint配置、代理设置、HTTPS请求配置、超时机制及异常处理等重要功能。通过这些内容,帮助开发者更高效、安全地使用阿里云SDK。
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
104 4
基于AI的自动化服务器管理:解锁运维的未来
基于AI的自动化服务器管理:解锁运维的未来
27 0