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

 

作者主页:点击! 

Ansible专栏:点击!

创作时间:2024年5月18日15点46分


 💯趣站推荐💯

前些天发现了一个巨牛的🤖人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家,人工智能, 机器算法等......  点击跳转网页!icon-default.png?t=N7T8https://www.captainbed.cn/sis

在Ansible自动化运维中,service 模块用于管理系统服务,包括启动、停止、重新启动服务等操作。

service模块的优点

易于使用:

  • 语法简单易懂,无需编写复杂脚本
  • 支持多种Linux发行版和服务管理系统
  • 可通过Ansible ad-hoc命令或Playbook进行调用

功能强大:

  • 支持启动、停止、重启、启用、禁用和检查服务状态
  • 可以设置服务运行用户、重新加载守护进程配置等参数
  • 支持使用模式匹配来管理多个服务

灵活可扩展:

  • 可以通过自定义模块扩展service模块的功能
  • 可以将service模块与其他Ansible模块组合使用,实现更复杂的自动化任务

使用场景

  • 批量管理服务:可以使用service模块在多个主机上批量启动、停止或重启服务,例如在部署新软件之前停止相关服务,或者在升级软件之后重新加载服务配置。
  • 确保服务可用性:可以使用service模块定期检查服务状态,并自动重启或修复出现问题的服务,确保关键服务始终处于运行状态。
  • 服务配置管理:可以使用service模块来管理服务的配置文件,例如设置服务运行参数或环境变量。
  • 自动化部署流程:可以使用service模块将服务管理任务纳入自动化部署流程中,提高部署效率和一致性。

实例

 启动一个服务

- name: Start Apache service
  service:
    name: apache2
    state: started

  停止一个服务

- name: Stop Apache service
  service:
    name: apache2
    state: stopped

 重新启动一个服务

- name: Restart Apache service
  service:
    name: apache2
    state: restarted

 重载一个服务配置

- name: Reload Apache service
  service:
    name: apache2
    state: reloaded

 禁用一个服务

- name: Disable Apache service
  service:
    name: apache2
    enabled: no

 启用一个服务

- name: Enable Apache service
  service:
    name: apache2
    enabled: yes

检查服务状态

- name: Check Apache service status
  service_facts:
  - debug:
      var: ansible_facts.services['apache2'].state

实验

通过一台安装ansible服务器来通过service模块

启动两台服务器安装httpd的网站服务器

帮助命令

ansible-doc service
1.增加主机组

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

 附注事项:

  • 确保正确的 Ansible 配置以连接到 webServers 组(通常使用基于 SSH 密钥的身份验证)。

2.开启服务
[root@ansible ~]# ansible webServers -m service -a 'name=httpd state=started'
  • webServers :这指定要面向的主机组。此组中的主机应在 Ansible 清单文件中定义。
  • -m service :这告诉 Ansible 使用该 service 模块来管理目标主机上的服务。
  • -a 'name=httpd state=started' :这定义 service 了模块的参数。以下是每个参数的含义:
    • name=httpd :这指定要管理的服务的名称, httpd 在本例中为(通常用于 Apache Web 服务器)。
    • state=started :这将设置所需的服务状态。在这里,您指示 Ansible 确保在所有目标 Web 服务器上启动服务 httpd

客户端查看是否开启

3.设置开机自启

给httpd服务设置开机自启

默认是关闭的状态

[root@ansible ~]# ansible webServers -m service -a 'name=httpd state=started enabled=yes'
  • webServers :这指定了 Ansible 清单文件中定义的目标主机组。
  • -m service :这告诉 Ansible 使用该 service 模块来管理服务。
  • -a 'name=httpd state=started enabled=yes' :这些是模块的 service 参数:
    • name=httpd :指定要管理的服务 httpd ,即(通常用于 Apache Web 服务器)。
    • state=started :确保 httpd 服务在所有目标 Web 服务器上运行。
    • enabled=yes :将服务设置为在引导时自动启动。

客户端查看成功

以上我举几个例子

下面的参数请参考

关闭服务

[root@ansible ~]# ansible webServers -m service -a 'name=httpd state=stopped'

-a 'name=httpd state=stopped' :这些是模块的 service 参数:

  • name=httpd :指定要管理的服务 httpd ,即(通常用于 Apache Web 服务器)。
  • state=stopped :确保在所有目标 Web 服务器上停止 httpd 服务。

’重启服务

[root@ansible ~]# ansible webServers -m service -a 'name=httpd state=restarted'

-a 'name=httpd state=restarted' :这些是模块的 service 参数:

  • name=httpd :指定要管理的服务 httpd ,即(通常用于 Apache Web 服务器)。
  • state=restarted :这将指示 service 模块执行 httpd 服务的重新启动。

  • 164
    点赞
  • 141
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 136
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 136
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神秘泣男子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值