Python 运维自动化教程
面向 运维 / DevOps / SRE 的 Python 实战教程。目标不是成为语言专家,而是能独立写出可维护、可交付的自动化脚本与小型运维服务。
环境与包管理推荐使用 uv(工作日志)。
你将学到什么
- 用 Python 处理日志、配置、资产表
- 封装
kubectl/docker/systemctl等系统命令 - SSH 批量操作、HTTP/API 对接 GitLab / Harbor / K8s
- 线程池批量巡检、FastAPI 暴露运维接口
- 落地巡检平台、K8s 运维平台、镜像同步等综合项目
学习路线(九阶段)
| 阶段 | 目录 | 能力目标 |
|---|---|---|
| 1 | 01-python-basics | 语法与函数,写出结构化脚本 |
| 2 | 02-python-data-processing | 字符串/文件/JSON/YAML/表格 |
| 3 | 03-system-automation | 系统命令、进程、巡检 |
| 4 | 04-network-automation | HTTP、SSH、API |
| 5 | 05-devops-automation | GitLab / Harbor / Nexus / Docker / K8s |
| 6 | 06-concurrency | 线程池与异步,批量提速 |
| 7 | 07-python-service | FastAPI 服务与 Webhook |
| 8 | 08-project | 综合实战项目 |
| 9 | 09-production-engineering | 测试、可靠任务、部署、观测与供应链 |
建议按阶段顺序学习;已有 Python 基础可从第二、三阶段加速进入。
环境准备
# 1. 安装 uv(详见工作日志 uv 文档)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. 创建教程练习项目
mkdir -p ~/python-for-ops && cd ~/python-for-ops
uv init
uv python pin 3.12
# 3. 后续章节按需添加依赖,例如:
# uv add httpx paramiko pyyaml openpyxl fastapi uvicorn
提示
示例默认 Python 3.10+。密钥、Token 一律用环境变量或本地未入库配置,文档中只用占位符。
目录约定
docs/automation/python/
├── intro.md # 本页(导读)
├── 01-python-basics/
├── 02-python-data-processing/
├── 03-system-automation/
├── 04-network-automation/
├── 05-devops-automation/
├── 06-concurrency/
├── 07-python-service/
├── 08-project/
└── 09-production-engineering/
从左侧侧栏进入 第一阶段:Python 基础能力 开始学习。完成综合项目后,务必继续学习第九阶段:它决定脚本和服务能否在生产环境被安全、稳定地交付和运行。