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

相关文章
|
2天前
|
运维 安全 应用服务中间件
自动化运维之宝:使用Ansible实现批量配置管理
【8月更文挑战第45天】在现代IT运维领域,自动化工具的运用如同给运维人员装备了一副翅膀。本文将介绍如何利用Ansible这一强大的自动化工具来简化和加速日常的运维任务,特别是批量配置管理的实战技巧。通过实际案例,我们将深入探讨如何编写Ansible Playbook,以及如何使用它来自动化软件部署、系统配置和安全性强化。你将学会如何从重复繁琐的任务中解放出来,提升效率,保障系统的稳定性与安全性。
40 21
|
2天前
|
运维 应用服务中间件 Linux
自动化运维的利剑——Ansible在配置管理中的应用
【9月更文挑战第13天】 随着IT基础设施的日益复杂,手动进行系统配置和管理变得越来越低效且容易出错。Ansible,一个开源的IT自动化工具,因其简单易用和高效的特性成为运维工程师的新宠。本文将通过浅显易懂的语言和具体案例,带你了解如何利用Ansible简化日常的运维任务,实现快速、一致的配置部署与管理。
|
2天前
|
运维 应用服务中间件 网络安全
自动化运维:使用Ansible进行服务器配置管理
【9月更文挑战第13天】在IT运维领域,自动化工具的应用日益成为提升效率、降低错误率的关键。本文将介绍如何使用Ansible这一流行的自动化工具来简化和加速服务器的配置管理工作,通过实际案例展示其应用,并分享一些最佳实践。文章旨在帮助读者理解Ansible的核心概念,掌握基本使用方法,并鼓励大家探索更多可能的应用场景。
|
2天前
|
运维 应用服务中间件 网络安全
自动化运维的魔法:使用Ansible进行服务器配置管理
【9月更文挑战第13天】在这篇文章中,我们深入探讨如何利用Ansible这一强大的自动化工具来简化和加速你的服务器配置管理工作。我们将从基础概念出发,逐步引导你了解如何使用Ansible编写Playbooks,实现对服务器群的快速部署、配置更新与维护任务。通过实际案例,你将看到Ansible如何节省时间、减少人为错误并提高运维效率。无论你是初学者还是有经验的运维工程师,这篇文章都将带给你新的视角和启发。
|
1天前
|
存储 运维 监控
构建高效运维体系:从监控到自动化的全方位实践
在当今信息技术飞速发展的时代,运维作为保障信息系统稳定运行的关键环节,其重要性不言而喻。本文将围绕如何构建一个高效的运维体系进行深入探讨,内容涵盖从监控、日志分析到自动化运维工具的选择与应用,以及在实际工作中的经验和案例分享。通过本文的介绍,读者将能够了解到如何在复杂多变的技术环境中,确保系统的高可用性、高性能和安全性,为业务连续性提供坚实保障。
|
2天前
|
运维 监控 数据可视化
高效运维的秘密武器:自动化工具链的构建与实践在当今数字化时代,IT系统的复杂性和规模不断增加,使得传统的手动运维方式难以应对日益增长的业务需求。因此,构建一套高效的自动化工具链成为现代运维的重要任务。本文将深入探讨如何通过自动化工具链提升IT运维效率,确保系统稳定运行,并实现快速响应和故障恢复。
随着企业IT架构的不断扩展和复杂化,传统的手动运维已无法满足业务需求。自动化工具链的构建成为解决这一问题的关键。本文介绍了自动化工具链的核心概念、常用工具及其选择依据,并通过实际案例展示了自动化工具链在提升运维效率、减少人为错误、优化资源配置等方面的显著效果。从监控系统到自动化运维平台,再到持续集成/持续部署(CI/CD)的流程,我们将一步步揭示如何成功实施自动化工具链,助力企业实现高效、稳定、可靠的IT运维管理。
|
2天前
|
机器学习/深度学习 人工智能 运维
构建高效运维体系:从自动化到智能化的演进
在当今数字化时代,运维作为保障信息系统稳定运行的关键环节,正经历着前所未有的变革。本文深入探讨了自动化运维向智能化运维演进的过程,分析了这一转变背后的驱动力、实现路径以及面临的挑战,并展望了未来智能运维的发展趋势。通过阐述自动化运维的现状与不足,揭示智能化运维的必要性;详细介绍智能化运维的关键技术,如大数据、人工智能在运维中的应用;探讨如何构建一个既高效又具备自我学习和适应能力的智能运维平台;最后,分析当前企业在实施智能运维过程中遇到的主要障碍,并提出相应的解决策略。文章旨在为运维专业人士提供一套从理论到实践的指导框架,帮助他们把握技术发展脉络,有效推进运维工作的智能化升级。
7 0
|
10天前
|
运维 Ubuntu Devops
自动化运维工具的魅力:Ansible入门
【9月更文挑战第5天】在快速变化的IT世界里,自动化运维不再是可选项,而是必需品。Ansible,一款简单却强大的自动化工具,正成为众多DevOps工程师的首选。本文将带你了解Ansible的基本概念、安装步骤以及如何编写简单的Playbook,从而开启你的自动化之旅。
58 35
|
7天前
|
存储 弹性计算 运维
自动化监控和响应ECS系统事件
阿里云提供的ECS系统事件用于记录云资源信息,如实例启停、到期通知等。为实现自动化运维,如故障处理与动态调度,可使用云助手插件`ecs-tool-event`。该插件定时获取并转化ECS事件为日志存储,便于监控与响应,无需额外开发,适用于大规模集群管理。详情及示例可见链接文档。
|
3天前
|
机器学习/深度学习 运维 监控
构建高效运维体系:从自动化到智能化的演进
在当今信息技术飞速发展的时代,运维领域正经历着从传统手动操作向高度自动化和智能化转变。本文旨在探讨如何通过集成自动化工具、实施持续集成与持续部署(CI/CD)、采用容器化技术和探索AIOps实践,构建一个高效、可靠的运维体系。我们将分析这些技术如何相互配合,提升运维效率,降低系统故障率,并实现快速响应市场变化的能力。通过案例分析和最佳实践的分享,本文将为IT专业人员提供一套实用的指南,帮助他们在数字化转型的浪潮中,保持运维工作的前瞻性和竞争力。