开发与运维工具链
Ansible
厂商/来源:
Red Hat (开源)
核心功能:
批量固件升级、批量修改配置文件、批量收集日志
| 架构支持 | 控制端:Linux/macOS (Python) 被控端 (边缘设备):只需有 SSH 和 Python 环境即可 (无需安装 Agent)。 |
| 核心价值 | 无 Agent (Agentless):这是 Ansible 比 SaltStack 更适合 IoT 的原因。边缘设备资源宝贵,不需要再装一个常驻内存的 Agent 进程,只要 SSH 能通就能管。 |
| 情报秘技 | 针对 IoT 的优化 1. host_key_checking = False:关闭 SSH 指纹验证,否则换个板子就报错。 2. pipelining = True:开启管道加速,减少 SSH 连接次数(某些 4G 模组建立连接很慢)。 |
| 避坑指南 | [弱网环境噩梦] 1. 超时问题:Ansible 默认超时较短。在 4G/NB-IoT 网络下,务必将 timeout 设为 60秒以上,并使用 async (异步) 模式执行耗时任务,否则脚本会一直卡死重试。 2. Python 版本分裂:老旧设备(如 OpenWrt 18)可能只有 Python 2.7,而新设备是 Python 3.9。编写 Playbook 时必须使用兼容写法,或者通过 ansible_python_interpreter 变量动态指定解释器路径。 |
| 推荐搭配 | [Jenkins] [GitLab] [任何开启 SSH 的设备] |