自动化运维工具—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

目录
打赏
0
0
0
0
11
分享
相关文章
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
60 14
GitHub 热门开源运维工具 Websoft9:如何实现服务器管理效率翻倍?
Websoft9 提供 200+ 开源应用一键部署,支持容器化隔离、GitOps 自动化和企业级安全防护,助力服务器管理效率提升 80%。
53 1
2025年销售自动化工具选型指南
本文探讨了企业在数字经济时代选择合适CRM系统的重要性,分析了选型的5大核心维度:AI能力、全流程闭环管理、生态集成能力、数据安全合规及供应商综合实力。同时对比了5家国内外CRM厂商,如Salesforce、纷享销客、Hubspot等,并指出企业常遇的3大选型误区,包括功能冗余、忽视数据迁移成本和迷信行业模板。文章强调,适合企业的CRM需与战略、管理和业务流程深度适配,而非单纯追求技术堆砌。最终提醒管理者,选择CRM时应以实际需求为导向,而非盲目迷信国际品牌。
Ansible与Jenkins:自动化工具的对比
Ansible和Jenkins是自动化领域的两大巨头。Ansible专注于配置管理和任务自动化,采用无代理架构,使用YAML定义配置,具有幂等性和可扩展性。Jenkins则擅长持续集成和持续交付(CI/CD),支持丰富的插件生态系统,适用于自动化构建、测试和部署。两者各有优势,Ansible适合配置管理与大规模部署,Jenkins则在CI/CD方面表现出色。结合使用可创建更强大的自动化工作流,提升团队生产力和软件质量。选择工具时应根据具体需求决定。
FilmAgent:多智能体共同协作制作电影,哈工大联合清华推出 AI 驱动的自动化电影制作工具
FilmAgent 是由哈工大与清华联合推出的AI电影自动化制作工具,通过多智能体协作实现从剧本生成到虚拟拍摄的全流程自动化。
646 10
FilmAgent:多智能体共同协作制作电影,哈工大联合清华推出 AI 驱动的自动化电影制作工具
基于AI的自动化服务器管理:解锁运维的未来
基于AI的自动化服务器管理:解锁运维的未来
82 0
运维联盟 SOMA 评测系统正式发布,让你的运维工具跑分更丝滑
通过对特定的业务系统进行故障注入,将不同的运维工具放在一起进行评估和评测。
基于AI的自动化事件响应:智慧运维新时代
基于AI的自动化事件响应:智慧运维新时代
148 11
自动化AutoTalk第十一期-应知必会的自动化工具之阿里云配额中心
本次分享主题为“应知必会的自动化工具之阿里云配额中心”,课程围绕三个方面展开:1) 认识配额及其作用;2) 配额管理的意义与方法;3) 阿里云配额中心的功能和使用场景。通过学习,了解如何有效管理和监控配额,避免资源限制影响业务,并实现自动化集成,提升运维效率。
62 10
AutoTalk第十三期-应知必会的自动化工具-阿里云SDK支持策略(一)
AutoTalk第十三期探讨阿里云SDK支持策略,涵盖四大方面:发布策略、版本规范、更新策略及停止支持策略。重点介绍SDK的及时性、完整性、测试覆盖度和版本命名规范;并以Python部分语言版本停止支持为案例,帮助开发者了解维护策略,确保平稳过渡到新版本。

热门文章

最新文章