自动化运维工具—Ansible概述及命令行模块(下)

简介: 自动化运维三剑客:saltstackpubbetansible


3.10 yum模块

在远程主机上安装与卸载软件包, 需要被管理端配置好yum源。

主要的参数如下:

参数 说明
name 指定安装软件包名或软件包URL
state 指定yum对应的方法,present(默认)、installed表示安装、latest表示安装最新版本软件包;absent、removed表示卸载。支持多程序一起安装,用逗号隔开。
enablerepo 允许从哪些仓库获取软件
disablerepo 禁止从哪些仓库获取软件
exclude 排除某些软件包,例如kernel
download_only 仅下载软件包,不安装
disable_gpg_check 不进行gpg检测
update_cache 可以在安装包的同时更新yum缓存


示例:

ansible-doc -s yum     #查看yum模块包含的操作动作
 ansible dbservers -m yum -a 'name=httpd'     #安装httpd服务
 ansible dbservers -m yum -a 'name=httpd state=absent'   #卸载httpd服务
 #yum一次性卸载所有主机的httpd服务
 ansible all -m yum -a "name=httpd state=absent"
复制代码


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|

网络异常,图片无法展示
|



网络异常,图片无法展示
|


3.11 service/systemd 模块

用于管理远程主机上的服务的运行状态。

主要参数如下:

参数 说明
name 指定需要控制的服务名称
state 指定服务状态,其值可以为stopped、started、reloaded、restarted、status
enabled 指定服务是否为开机启动,yes为启动,no为不启动
daemon_reload yes:重启systemd服务,让unit文件生效


示例:

ansible-doc -s service     #查看service模块包含的操作动作
 #查看web服务器httpd运行状态
 ansible webservers -a 'systemctl status httpd'
 #启动httpd服务,并设置为开机自启
 ansible webservers -m service -a 'name=httpd state=started enabled=true'
复制代码


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


3.12 script 模块

实现远程批量运行本地的shell脚本。

注意:script模块不具有幂等性。所以建议用剧本来执行。

ansible-doc -s script
 #在本地写一个脚本
 vim test.sh
 #!/bin/bash
 echo "hello ansible from script" > /data/script.txt
 chmod +x test.sh                              #给脚本执行权限
 ansible dbservers -m script -a 'test.sh'      #远程运行本地脚本
 ansible dbservers -a 'cat /data/script.txt'   #查看生成的文件内容是否为指导内容
 #再次运行相同脚本,状态为changed,而不是successs,因为script模块不具有幂等性
 ansible dbservers -m script -a 'test.sh'
复制代码


网络异常,图片无法展示
|


注意:script模块不具有幂等性。

网络异常,图片无法展示
|


3.13 setup 模块

facts组件是用来收集被管理节点信息的,使用setup 模块可以获取这些信息。

ansible-doc -s setup   #查看setup模块包含的操作动作
 #获取dbservers组主机的facts信息
 ansible dbservers -m setup
 #使用filter参数可以筛选指定的facts信息
 ansible dbservers -m setup -a 'filter=*ipv4'
复制代码



网络异常,图片无法展示
|



网络异常,图片无法展示
|


总结

Ansible的特性:

(1)Ansible其中一个比较鲜明的特性Agentless,即无Agent的存在,只需在某个作为控制节点的主机上安装一次Ansible即可,通常它基于ssh连接来控制远程主机,远程主机上不需要安装Ansible或其它额外的服务。

(2)Ansible的另一个比较鲜明的特性是它的绝大多数模块都具备幂等性(idempotence)。所谓幂等性,指的是多次操作或多次执行对系统资源的影响是一致的。

相关文章
|
1月前
|
运维 应用服务中间件 Linux
自动化运维的利器:Ansible在配置管理中的应用
【10月更文挑战第39天】本文旨在通过深入浅出的方式,向读者展示如何利用Ansible这一强大的自动化工具来优化日常的运维工作。我们将从基础概念讲起,逐步深入到实战操作,不仅涵盖Ansible的核心功能,还会分享一些高级技巧和最佳实践。无论你是初学者还是有经验的运维人员,这篇文章都会为你提供有价值的信息,帮助你提升工作效率。
|
24天前
|
运维 Ubuntu 应用服务中间件
自动化运维之路:使用Ansible进行服务器管理
在现代IT基础设施中,自动化运维已成为提高效率和可靠性的关键。本文将引导您通过使用Ansible这一强大的自动化工具来简化日常的服务器管理任务。我们将一起探索如何配置Ansible、编写Playbook以及执行自动化任务,旨在为读者提供一条清晰的路径,从而步入自动化运维的世界。
|
22天前
|
运维 网络安全 Python
自动化运维:使用Ansible实现批量服务器配置
在快速迭代的IT环境中,高效、可靠的服务器管理变得至关重要。本文将介绍如何使用Ansible这一强大的自动化工具,来简化和加速批量服务器配置过程。我们将从基础开始,逐步深入到更复杂的应用场景,确保即使是新手也能跟上节奏。文章将不包含代码示例,而是通过清晰的步骤和逻辑结构,引导读者理解自动化运维的核心概念及其在实际操作中的应用。
|
23天前
|
运维 Ubuntu 网络协议
自动化运维:使用Ansible进行服务器配置管理
在现代IT架构中,自动化运维已成为提升效率、减少人为错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化和标准化服务器的配置管理过程。通过具体的代码示例和操作步骤,我们将展示如何快速部署应用、管理配置以及自动化日常任务,从而确保环境的一致性和可靠性。
|
1月前
|
运维 监控 安全
自动化运维的利剑:Ansible在现代IT架构中的应用
在数字化浪潮中,企业对IT系统的敏捷性和可靠性要求日益提高。Ansible,一种简单但强大的自动化运维工具,正成为现代IT架构中不可或缺的一部分。它通过声明式编程语言YAM,简化了系统配置、应用部署和任务自动化的过程,显著提升了运维效率和准确性。本文将深入探讨Ansible的核心特性、应用场景以及如何有效整合进现有IT环境,为读者揭示其在自动化运维中的实用价值和未来发展潜力。
|
1月前
|
运维 安全 Ubuntu
自动化运维:使用Ansible进行服务器配置管理
在现代IT基础设施中,自动化运维是确保高效、稳定和安全服务的关键。本文将深入介绍如何使用Ansible这一开源工具来简化服务器配置管理工作,从基础安装到高级应用,我们将一步步展示如何通过Ansible Playbooks实现自动化部署和维护,旨在帮助读者构建更加灵活和可扩展的运维体系。
43 7
|
1月前
|
运维 Ubuntu Linux
自动化运维:使用Ansible简化日常任务
在快节奏的IT世界中,时间就是一切。本文将揭示如何通过Ansible这一强大的自动化工具来节省宝贵的时间,从而提高效率和减少人为错误。我们将深入探讨Ansible的核心概念、安装过程以及如何编写简单的playbook来自动执行常见运维任务。无论你是新手还是有经验的系统管理员,这篇文章都将为你提供实用的知识和技能,让你能够更好地控制你的服务器环境。
|
1月前
|
运维 Devops 应用服务中间件
自动化运维的利剑:Ansible在现代IT架构中的应用
【10月更文挑战第42天】本文旨在揭示自动化运维工具Ansible如何革新现代IT架构,通过简化配置管理和部署流程,提升效率和可靠性。我们将探索Ansible的核心功能、语言特性以及其在DevOps文化中的角色。文章还将展示如何借助Ansible构建模块化和可重用的配置代码,实现快速迭代与部署,并确保系统一致性。通过阅读本文,运维人员将了解如何利用Ansible优化日常任务,加速产品上线速度,同时提高系统的稳健性。
43 5
|
1月前
|
运维 监控 应用服务中间件
自动化运维的利器:Ansible实战应用
【10月更文挑战第41天】在现代IT运维领域,自动化已成为提高效率、减少错误的关键。Ansible作为一种简单而强大的自动化工具,正被越来越多的企业采纳。本文将通过实际案例,展示如何使用Ansible简化日常运维任务,包括配置管理和批量部署等,旨在为读者提供一种清晰、易懂的自动化解决方案。
28 1
|
1月前
|
运维 安全 应用服务中间件
自动化运维的利剑:Ansible在配置管理中的应用
【10月更文挑战第37天】本文将深入探讨如何利用Ansible简化和自动化复杂的IT基础设施管理任务。我们将通过实际案例,展示如何用Ansible编写可重用的配置代码,以及这些代码如何帮助运维团队提高效率和减少人为错误。文章还将讨论如何构建Ansible playbook来自动部署应用、管理系统更新和执行常规维护任务。准备好深入了解这个强大的工具,让你的运维工作更加轻松吧!
41 2