跳到主要内容

Python 运维自动化教程

面向 运维 / DevOps / SRE 的 Python 实战教程。目标不是成为语言专家,而是能独立写出可维护、可交付的自动化脚本与小型运维服务。

环境与包管理推荐使用 uv(工作日志)。


你将学到什么

  • 用 Python 处理日志、配置、资产表
  • 封装 kubectl / docker / systemctl 等系统命令
  • SSH 批量操作、HTTP/API 对接 GitLab / Harbor / K8s
  • 线程池批量巡检、FastAPI 暴露运维接口
  • 落地巡检平台、K8s 运维平台、镜像同步等综合项目

学习路线(九阶段)

阶段目录能力目标
101-python-basics语法与函数,写出结构化脚本
202-python-data-processing字符串/文件/JSON/YAML/表格
303-system-automation系统命令、进程、巡检
404-network-automationHTTP、SSH、API
505-devops-automationGitLab / Harbor / Nexus / Docker / K8s
606-concurrency线程池与异步,批量提速
707-python-serviceFastAPI 服务与 Webhook
808-project综合实战项目
909-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 基础能力 开始学习。完成综合项目后,务必继续学习第九阶段:它决定脚本和服务能否在生产环境被安全、稳定地交付和运行。