使用 Python 和 Excel 进行基于风险的动态更新
来源:dev.to
时间:2024-12-15 20:00:59 280浏览 收藏
今天golang学习网给大家带来了《使用 Python 和 Excel 进行基于风险的动态更新》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~
使用 python 和 excel 进行基于风险的动态更新”
在本博客中,我们将采用一个简单的 ansible 服务器更新脚本,并将其转变为基于风险的更新系统。在这里,风险最低的服务器首先得到修补,使我们有机会在转向更高优先级的系统之前进行彻底的测试。
-
ansible 自动化:
- 使用 python 和 excel 进行基于风险的动态更新”
- 主机文件
- 动态主机列表
- 为什么不使用主机文件?
秘方?设置明确的组以使此过程无缝进行。但真正的问题是:我们能否在不对上次的 ansible 脚本进行重大更改的情况下实现这一目标?让我们来看看吧!
主机文件
主机文件是此更改的核心。在上一篇文章中,我们使用了按服务器类型分组的静态文件。现在,我们添加了按风险级别分组的第二层 - 这确实增加了主机文件的复杂性。
但问题在于:如果我们的主机文件可以从更通用的源动态生成怎么办?这将使事情保持灵活性并使我们免于无休止的文件编辑!
动态主机列表
ansible 可以使用动态创建的主机文件,这为我们提供了更灵活的方式来跟踪服务器。在此示例中,我们将使用 excel 文件来组织我们的主机。
hosts_data.xlsx 结构示例:
host name | server environment | ansible user | server type | dns | notes |
---|---|---|---|---|---|
mint | dev | richard | desktop | desktop.sebostech.local | mint desk top |
ansible_node | dev | ansible_admin | ansible | ansible_node.sebostech.local | development server; only updates monthly |
clone_master | dev | ansible_admin | clone | clone.dev.sebostech.local | development server; only updates monthly |
mele | staging | richard | nas | nas.stage.sebostech.local | testing server; used for application testing |
pbs | production | root | backup server | pbs.prod.sebostech.local | testing server; used for application testing |
pve | production | root | hypervisor | api.stage.sebostech.local | testing server; used for application testing |
samba | production | richard | nas | nas.prod.sebostech.local | critical server; requires daily backup |
firewall | production | richard | firewall | firewall.sebostech.local | critical server; requires daily backup |
大多数 it 部门已经将服务器列表存储在 excel 文件中,那么为什么不充分利用它呢?这种方法可以轻松地使我们的 ansible 主机保持井井有条并保持最新状态,而无需不断进行手动更新。
但是 ansible 是如何使用 excel 文件的呢?让我们深入研究如何将这些数据转换为可用的动态库存!
## this will run agains all host ansible-playbook -i dynamic_inventory.py playbook.yml
您还可以根据服务器环境、服务器类型甚至两者的组合,使用环境变量选项来定位特定组:
## Just production SERVER_ENVIRONMENT="production" ansible-playbook -i dynamic_inventory.py playbook.yml --limit "high:web" ## Just nas SERVER_TYPE="nas" ansible-playbook -i dynamic_inventory.py playbook.yml --limit "high:web" ## production nas SERVER_ENVIRONMENT="production" SERVER_TYPE="nas" ansible-playbook -i dynamic_inventory.py playbook.yml --limit "high:web"
需要新群组吗?只需更新 excel 文件并相应调整 python 脚本 - 就这么简单!
要查看 python 代码,请参阅此处。
为什么不使用主机文件?
当我第一次开始使用 ansible 时,hosts 文件是我的首选。但随着我添加更多服务器,尤其是具有双重角色的服务器,该文件变得越来越复杂。
您可以使用传统的主机文件来实现此目的吗?当然可以,但是有一些缺点。
使用主机文件,您可能最终会得到重复的条目或附加变量来捕获您需要的所有结构。另一方面,excel 文件提供了干净、易于维护的结构,使内容保持井井有条。
在企业环境中,很可能已经至少有一个包含服务器列表的 excel 文件,那么为什么不利用它呢?
如果您希望我更深入地研究 python 代码,请告诉我!
本篇关于《使用 Python 和 Excel 进行基于风险的动态更新》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
369 收藏
-
248 收藏
-
192 收藏
-
178 收藏
-
361 收藏
-
241 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习