前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ansible自动化运维中YUM模块介绍和应用

Ansible自动化运维中YUM模块介绍和应用

作者头像
神秘奇男子
发布2024-06-03 18:25:09
2260
发布2024-06-03 18:25:09
举报
文章被收录于专栏:运维知识
YUM模块是Ansible中用于管理RPM包的强大工具。它可以用于安装、卸载、更新和查询软件包,以及配置yum仓库。YUM模块是基于yum命令行工具的,因此它支持所有yum的功能。

Ansible YUM模块是Ansible中用于管理Red Hat系Linux发行版软件包的强大工具,它具有以下优点:

  • 易于使用: YUM模块语法简单易懂,易于学习和使用。
  • 功能强大: YUM模块支持安装、卸载、更新、查询软件包等多种操作,并提供了丰富的参数和选项来控制安装行为。
  • 自动化: YUM模块可以轻松地集成到Ansible playbooks中,实现自动化运维任务。
  • 安全: YUM模块可以利用Ansible的权限管理机制,以安全的方式进行软件包管理。
  • 跨平台: YUM模块支持Red Hat系Linux发行版,包括CentOS、RHEL、Fedora等。
应用场景

Ansible YUM模块可用于各种软件包管理场景,以下是一些常见的应用场景:

  • 批量安装软件包: YUM模块可以轻松地批量安装指定版本的软件包到多个主机上,这对于部署新应用或更新现有应用非常方便。
  • 维护软件包依赖: YUM模块可以自动解析和安装软件包的依赖关系,确保软件包能够正常运行。
  • 配置软件包: YUM模块可以配置软件包的配置文件,例如修改配置文件中的参数值或添加新配置项。
  • 管理软件包仓库: YUM模块可以管理软件包仓库,例如添加、删除、启用或禁用软件包仓库。
  • 监控软件包状态: YUM模块可以监控软件包的状态,例如检查软件包是否已安装、是否为最新版本等。
YUM模块的基本用法
  1. 安装软件包
代码语言:javascript
复制
- name: Install a package
  yum:
    name: package_name
    state: present
  1. 卸载软件包
代码语言:javascript
复制
- name: Remove a package
  yum:
    name: package_name
    state: absent
  1. 更新软件包
代码语言:javascript
复制
- name: Update all packages
  yum:
    name: '*'
    state: latest
YUM模块常用参数汇总

参数名

说明

默认值

可选值

name

要安装、卸载或更新的软件包名称

必填

state

软件包的状态

present

present、latest、absent、removed、info

version

要安装的软件包版本

任意版本字符串

disable_repo

禁用指定仓库

仓库名称列表

enable_repo

启用指定仓库

仓库名称列表

force_reinstall

强制重新安装软件包

no

yes

update_cache

更新软件包缓存

yes

yes、no、always

exclude

排除依赖的软件包

软件包名称列表

include

包含依赖的软件包

软件包名称列表

实验应用

使用ansible服务器来控制2两台服务器

1.下载httpd并检测

2.下载vsftp并检测

3.删除部署程序

3.更新所有安装包

1.增加主机组

通过以下配置就是创建一个webServers组 并且加入两个主机 再给组赋予变量 用户名和密码 这样组下的所有主机都可以访问 更加的便捷

2.部署httpd
代码语言:javascript
复制
[root@ansible ~]# ansible webServers -m yum -a 'name=httpd state=latest'

  • webServers :这指定要面向的主机组。这些主机应在 Ansible 清单文件中定义。
  • -m yum :此选项指示 Ansible 使用该 yum 模块,该模块用于管理基于 Red Hat 的 Linux 发行版上的软件包。
  • -a 'name=httpd state=latest' :此选项定义 yum 模块的参数:
    • name=httpd :这指定要管理的软件包,在本例中是这样 httpd
    • state=latest :这将设置包的所需状态。在这里,它设置为 latest 确保安装最新版本。
    • webServers :这指定要面向的主机组。这些主机应在 Ansible 清单文件中定义。
    • -m yum :此选项指示 Ansible 使用该 yum 模块,该模块用于管理基于 Red Hat 的 Linux 发行版上的软件包。
    • -a 'name=httpd state=latest' :此选项定义 yum 模块的参数:
      • name=httpd :这指定要管理的软件包,在本例中是这样 httpd
      • state=latest :这将设置包的所需状态。在这里,它设置为 latest 确保安装最新版本。

提示这些很多的字体是httpd的整个安装过程

这时返回客户端查看是否安装成功

2.部署vsftpd
代码语言:javascript
复制
[root@ansible ~]# ansible webServers -m yum -a 'name=vsftpd state=latest'

详细讲解如上一样不解释了

也是会弹出来一系列的参数

为了大家显而易见的观看 我部署之前先检测并没有安装vsftpd 在服务器上部署完成之后再次查看

3.删除刚部署服务
代码语言:javascript
复制
[root@ansible ~]# ansible webServers -m yum -a 'name=vsftpd state=absent'

执行完命令之后很明显的可以看到正在删除

客户端查看

另外一个httpd的删除实例就留给大家动手吧~

4.更新所有程序
代码语言:javascript
复制
[root@ansible ~]# ansible webServers -m yum -a 'name=* state=latest'

因为是所有的程序更新 需要等待很长的时间~~~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 应用场景
  • YUM模块的基本用法
  • YUM模块常用参数汇总
  • 实验应用
    • 1.增加主机组
      • 2.部署httpd
        • 2.部署vsftpd
          • 3.删除刚部署服务
            • 4.更新所有程序
            相关产品与服务
            云服务器
            云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档