使用 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 进行基于风险的动态更新的详细内容,更多请关注昆居客【www.kunjuke.com】。

相关推荐:

V社为 Steam Deck 掌机推送预览 / 测试通道更新:改进创意工坊更新管理逻辑

7 月 12 日消息,Valve 现已为 Steam Deck 客户端的预览 / 测试测试通道推送新版本更新,本次更新聚焦系统功能优化与问题修复,涉及 Steam 创意工坊、远程游玩等多个模块。Steam 创意工坊重新设计了订阅项目更新管理系统,优化更新逻辑远程播放修复了仅输入流模式下鼠标坐标错误问题修复了上一个 Beta 版本引入的部分系统刷新率过低问题Steam Machine在主页游戏卡片和...

“太空出差”近 50 天,神舟二十三号乘组在轨动态更新

感谢网友 不一样的体验 的线索投递! 7 月 12 日消息,中国载人航天办公室今日更新“天宫 TV”,神舟二十三号乘组已经“太空出差”近 50 天,航天员在空间生命科学与人体研究领域开展了多项实验,并同步开展了组合体照料与健康管理。从视频获悉,刚刚过去的一周,神舟二十三号乘组“在轨实验清单”不断更新,在空间生命科学与人体研究领域实验里,航天员两两配合,开展“多人协作界面实验”。围绕运动骨肌受力研究...

《逆水寒手游》武学系统更新内容一览

逆水寒手游武学系统更新内容有什么?逆水寒手游“新世界”版本上线后人气高涨,其中武学系统调整成为玩家讨论焦点。受限于官方披露信息有限,目前仅能依据已公开的演示视频与说明进行梳理。最显著的变化是角色技能栏新增一个主动武学技能位——从UI界面可见底部多出一格技能槽,且该技能在各职业中均存在,属通用型武学配置。 《逆水寒手游》武学系统更新内容一览 结合现有实机演示判断,该新增技能具备明显的位移特性,倾向定...

齐特龙锐评:AI 泡沫风险加剧,微软过去 1 年股价跌 22%

7 月 10 日消息,在接受 CNBC 采访时,埃德 · 齐特龙(Ed Zitron)表示 AI 泡沫风险加剧,微软过去 1 年股价下跌 22%,投资者对其长期人工智能战略的可持续性产生质疑。 查询公开资料,齐特龙是科技界极具影响力的独立科技评论家、EZPR 公关公司首席执行官,以及时事通讯《Where's Your Ed At》的作者。他以直率、尖锐且高度关注财务细节的风格著称,被称为“科技行业...

微信鸿蒙版 App 获 8.0.19.37 正式版更新、8.0.19.38 邀测更新

感谢网友 boston9、雨雪载途、九闲、易团俊、lzx71239、余不完 的线索投递! 7 月 10 日消息,微信鸿蒙版 App 今日推送 8.0.19.37 正式版更新,以及 8.0.19.38 (8393510) 邀请测试更新,官方公告均为“修复了一些已知问题”。截至发稿,微信鸿蒙版 App 安装次数接近 6500 万次。大家在微信号回复“微信”两字,即可获取当前最新官方内部版微信下载。延伸...

《原神》7.0 版本设备性能要求更新,天玑 7030 等可能存在兼容性风险

感谢网友 具体后果、软媒新友2010825、Autumn_Dream 的线索投递! 7 月 9 日消息,米哈游《原神》官方今日发布 7.0 版本设备性能要求预告,7.0 版本新内容在带来更好画面表现(包括但不限于新角色的视觉升级、新的场景材质效果和表现等)的同时,绝大部分配置要求会维持不变。在 7.0 版本中,对比当前维持不变的设备配置有:PC、iOS、鸿蒙、主机端的推荐配置和支持配置;安卓端的推...

Steam 客户端 Beta 版更新发布:修复远程游玩等多项问题

7 月 3 日消息,Valve 近日推送了 Steam 客户端 Beta 版更新,本次更新主要针对远程游玩和 SteamRT3 Beta 功能修复了已知问题。{#image#}远程游玩 修复了离线设备仍会显示为可串流设备的问题SteamRT3 Beta 修复了部分游戏无法启动的问题本次更新仅面向 Steam 客户端 Beta 测试通道用户推送,稳定版用户将在后续获取相关更新。

苹果更新 Final Cut Camera 至 2.3 版:iPhone 17 Pro / Max 新增“纯净 HDMI 输出”

感谢网友 Freddy123、手写的从前 的线索投递! 7 月 2 日消息,苹果公司昨日(7 月 1 日)更新 Final Cut Camera 应用,在最新 2.3 版本中为 iPhone 17 Pro 和 iPhone 17 Pro Max 新增“纯净 HDMI 输出”功能。附上 2.3 版本 Final Cut Camera 更新日志内容如下:使用“纯净 HDMI 输出”,将无叠层的纯净视频...