自动化运维工具—Ansible-3

简介: 自动化运维工具—Ansible

(8)hostname 模块

//用于管理远程主机上的主机名
ansible dbservers -m hostname -a "name=mysql01"

91253d32550342b3a34ac5e4b6fca3f1.png


(9)ping 模块

//检测远程主机的连通性
ansible all -m ping

efa1b5892bd748c29a81f5510abc3556.png


(10)yum 模块

//在远程主机上安装与卸载软件包
ansible-doc -s yum
ansible webservers -m yum -a 'name=httpd'         #安装服务
ansible webservers -m yum -a 'name=httpd state=absent'    #卸载服务

d7a3daf062ae4166aed7b78f746ec30e.png

74ca76038c0a43148907455ac2d3c538.png

9bf433bda74b40cc91b84a2f15e98c8d.png


fa3b7ceae8e94bd1bb3362243a358627.png


(11)service/systemd 模块

//用于管理远程主机上的管理服务的运行状态
ansible-doc -s service

7d9a7d70645e47d8a1a41b54e080cd8b.png


常用的参数:


参数 说明
name 被管理的服务名称
state=started / stopped / restarted 动作包含启动关闭或者重启
enabled=yes / no 表示是否设置该服务开机自启
runlevel 如果设定了enabled开机自启去,则要定义在哪些运行目标下自启动
ansible webservers -a 'systemctl status httpd'      #查看web服务器httpd运行状态
ansible webservers -m service -a 'enabled=true name=httpd state=started'      #启动httpd服务

9ddd586c179b456784492a17978ebe9f.png

4ccf8d459c3a43eba3f94e5467e304eb.png


(12)script 模块

//实现远程批量运行本地的 shell 脚本
ansible-doc -s script

dbdc316bbd6e47bbb290f1ac3ae75617.png


vim test.sh
#!/bin/bash
echo "hello ansible from script" > /opt/script.txt
chmod +x test.sh
ansible webservers -m script -a 'test.sh'
ansible webservers -a 'cat /opt/script.txt'

beac26cbaaf7403e8eb64011d490b93a.png


97f26b4334dd47dda61d352085628cc1.png

(13)setup 模块

//facts 组件是用来收集被管理节点信息的,使用 setup 模块可以获取这些信息
ansible-doc -s setup
ansible dbservers -m setup        #获取mysql组主机的facts信息
ansible dbservers -m setup -a 'filter=*ipv4'    #使用filter可以筛选指定的facts信息

bff8db4532c547c2a49084f8a6a69a49.png395d7fa87b774dcd9feeb9aae0e2c64c.png

3af2ef7527064891bc46e54be6760dfa.png


四、inventory 主机清单


Inventory支持对主机进行分组,每个组内可以定义多个主机,每个主机都可以定义在任何一个或多个主机组内。


如果是名称类似的主机,可以使用列表的方式标识各个主机。


vim /etc/ansible/hosts
[webservers]
192.168.147.106:2222    #冒号后定义远程连接端口,默认是 ssh 的 22 端口
192.168.147.10[2:5]
[dbservers]
db-[a:f].example.org  #支持匹配 a~f

inventory 中的变量


image.png


(1)主机变量

[webservers]
192.168.147.105 ansible_port=22 ansible_user=root ansible_password=abc1234

(2)组变量

[webservers:vars]     #表示为 webservers 组内所有主机定义变量
ansible_user=root
ansible_password=abc1234
[all:vars]          #表示为所有组内的所有主机定义变量
ansible_port=22

(3)组嵌套

[nginx]
192.168.147.104
192.168.147.105
192.168.147.106
[apache]
192.168.147.10[0:3]
[webs:children]   #表示为 webs 主机组中包含了 nginx 组和 apache 组内的所有主机
nginx
apache

目录
相关文章
|
6天前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
21 3
|
2天前
|
运维 负载均衡 安全
自动化运维:使用Ansible进行服务器配置管理
【10月更文挑战第15天】在本文中,我们将探讨如何利用Ansible这一强大的自动化工具来简化和加速服务器的配置管理工作。通过实际案例和代码示例,我们将展示Ansible如何帮助运维人员高效地进行软件部署、系统更新和日常维护任务,从而提升工作效率并减少人为错误。
|
8天前
|
运维 关系型数据库 MySQL
自动化运维工具Ansible的实战应用
【10月更文挑战第9天】在现代IT运维领域,效率和可靠性是衡量一个系统是否健康的重要指标。自动化运维工具Ansible因其简洁、易用的特性,成为了众多企业和开发者的首选。本文将通过实际案例,展示如何利用Ansible进行日常的运维任务,包括配置管理、软件部署以及批量操作等,帮助读者深入理解Ansible的应用场景及其带来的效益。
|
4天前
|
JavaScript 前端开发 搜索推荐
Gulp:构建自动化与任务管理的强大工具
【10月更文挑战第13天】Gulp:构建自动化与任务管理的强大工具
16 0
|
23天前
|
运维 应用服务中间件 持续交付
自动化运维的利器:Ansible实战应用
【9月更文挑战第33天】本文将带你深入理解Ansible,一个强大的自动化运维工具。我们将从基础概念开始,逐步探索其配置管理、任务调度等功能,并通过实际案例演示其在自动化部署和批量操作中的应用。文章旨在通过浅显易懂的语言和实例,为读者揭开Ansible的神秘面纱,展示其在简化运维工作中的强大能力。
134 64
|
22天前
|
运维 负载均衡 应用服务中间件
自动化运维:使用Ansible进行服务器配置管理
【9月更文挑战第34天】在现代IT运维工作中,自动化已成为提升效率、减少错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化和加速服务器的配置管理工作。我们将通过实际案例展示如何利用Ansible的Playbooks来自动化常见任务,并讨论其对提高运维团队工作效率的影响。
|
21天前
|
运维 应用服务中间件 网络安全
自动化运维:使用Ansible进行批量服务器配置
【9月更文挑战第35天】在现代IT基础设施管理中,高效、可扩展的自动化工具是提升工作效率的关键。本文将引导您了解如何使用Ansible这一强大的自动化工具来简化和加速服务器的配置过程,确保一致性和可靠性的同时减少人为错误。通过实际案例,我们将展示如何编写Ansible Playbook以实现批量服务器配置,从而让您能够更加轻松地管理和维护您的服务器群。
|
1月前
|
运维 安全 应用服务中间件
自动化运维的利剑:Ansible实战应用
【9月更文挑战第24天】在现代IT基础设施的快速迭代与扩展中,自动化运维成为提升效率、保障稳定性的关键。本文将深入探讨Ansible这一流行的自动化工具,通过实际案例分析其如何简化日常运维任务,优化工作流程,并提高系统的可靠性和安全性。我们将从Ansible的基础概念入手,逐步深入到高级应用技巧,旨在为读者提供一套完整的Ansible应用解决方案。
|
15天前
|
运维 应用服务中间件 数据库
自动化运维:使用Ansible简化日常任务
【10月更文挑战第2天】在快速迭代的软件开发周期中,运维工作往往变得重复而繁琐。本文将介绍如何使用Ansible这一强大的自动化工具来简化日常任务,从而提升效率并减少人为错误。从基础配置到复杂部署,我们将一步步展示如何通过编写简单的Playbook来实现自动化管理。
43 3
|
15天前
|
运维 应用服务中间件 Linux
自动化运维:使用Ansible管理服务器配置
【10月更文挑战第2天】在现代IT运维中,自动化是提高效率和减少错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化日常的服务器管理工作。我们将从基础讲起,逐步深入到高级应用,展示如何通过编写简单的Playbooks来自动化复杂的配置任务。文章还将探讨Ansible的最佳实践,并分享一些实际案例来说明其在实际工作中的应用。