name: devops description: 在Cloudflare(Workers、R2、D1、KV、Pages、Durable Objects、Browser Rendering)、Docker容器和Google Cloud Platform(Compute Engine、GKE、Cloud Run、App Engine、Cloud Storage)上部署和管理云基础设施。适用于将服务器less函数部署到边缘、配置边缘计算解决方案、管理Docker容器和镜像、设置CI/CD管道、优化云基础设施成本、实施全局缓存策略、使用云数据库或构建云原生应用。 license: MIT version: 1.0.0
DevOps 技能
全面指南,用于在Cloudflare边缘平台、Docker容器化和Google Cloud Platform上部署和管理云基础设施。
何时使用此技能
在以下情况下使用此技能:
- 将服务器less应用部署到Cloudflare Workers
- 使用Docker容器化应用
- 使用gcloud CLI管理Google Cloud基础设施
- 跨平台设置CI/CD管道
- 优化云基础设施成本
- 实施多区域部署
- 构建边缘优先架构
- 使用Kubernetes管理容器编排
- 配置云存储解决方案(R2、Cloud Storage)
- 使用脚本和IaC自动化基础设施
平台选择指南
何时使用Cloudflare
最佳适用于:
- 边缘优先的全球分布式应用
- 超低延迟要求(<50ms)
- 带服务器less函数的静态站点
- 零出口成本场景(R2存储)
- WebSocket/实时应用(Durable Objects)
- 边缘AI/ML(Workers AI)
关键产品:
- Workers(服务器less函数)
- R2(对象存储,S3兼容)
- D1(带全局复制的SQLite数据库)
- KV(键值存储)
- Pages(静态托管 + 函数)
- Durable Objects(有状态计算)
- Browser Rendering(无头浏览器自动化)
成本概况: 按请求付费,慷慨的免费层级,零出口费用
何时使用Docker
最佳适用于:
- 本地开发一致性
- 微服务架构
- 多语言栈应用
- 传统VPS/VM部署
- Kubernetes编排
- CI/CD构建环境
- 数据库容器化(开发/测试)
关键能力:
- 应用隔离和可移植性
- 多阶段构建以优化
- Docker Compose用于多容器应用
- 卷管理以持久化数据
- 网络配置和服务发现
- 跨平台兼容性(amd64、arm64)
成本概况: 仅基础设施成本(计算 + 存储)
何时使用Google Cloud
最佳适用于:
- 企业级应用
- 数据分析和ML管道(BigQuery、Vertex AI)
- 混合/多云部署
- 大规模Kubernetes(GKE)
- 托管数据库(Cloud SQL、Firestore、Spanner)
- 复杂IAM和合规要求
关键服务:
- Compute Engine(VMs)
- GKE(托管Kubernetes)
- Cloud Run(容器化服务器less)
- App Engine(PaaS)
- Cloud Storage(对象存储)
- Cloud SQL(托管数据库)
成本概况: 多样化定价,持续使用折扣,承诺使用合同
快速开始
Cloudflare Workers
# 安装Wrangler CLI
npm install -g wrangler
# 创建和部署Worker
wrangler init my-worker
cd my-worker
wrangler deploy
参见:references/cloudflare-workers-basics.md
Docker 容器
# 创建Dockerfile
cat > Dockerfile <<EOF
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]
EOF
# 构建和运行
docker build -t myapp .
docker run -p 3000:3000 myapp
参见:references/docker-basics.md
Google Cloud 部署
# 安装和认证
curl https://sdk.cloud.google.com | bash
gcloud init
gcloud auth login
# 部署到Cloud Run
gcloud run deploy my-service \
--image gcr.io/project/image \
--region us-central1
参见:references/gcloud-platform.md
参考导航
Cloudflare 平台
cloudflare-platform.md- 边缘计算概述,关键组件cloudflare-workers-basics.md- 入门指南,处理器类型,基本模式cloudflare-workers-advanced.md- 高级模式,性能,优化cloudflare-workers-apis.md- 运行时API,绑定,集成cloudflare-r2-storage.md- R2对象存储,S3兼容性,最佳实践cloudflare-d1-kv.md- D1 SQLite数据库,KV存储,用例browser-rendering.md- 在Cloudflare上的Puppeteer/Playwright自动化
Docker 容器化
docker-basics.md- 核心概念,Dockerfile,镜像,容器docker-compose.md- 多容器应用,网络,卷
Google Cloud Platform
gcloud-platform.md- GCP概述,gcloud CLI,认证gcloud-services.md- Compute Engine,GKE,Cloud Run,App Engine
Python 工具
scripts/cloudflare-deploy.py- 自动化Cloudflare Worker部署scripts/docker-optimize.py- 分析和优化Dockerfile
常见工作流
边缘 + 容器混合
# Cloudflare Workers(API网关)
# -> Docker容器在Cloud Run上(后端服务)
# -> R2(对象存储)
# 好处:
# - 边缘缓存和路由
# - 容器化业务逻辑
# - 全球分布
多阶段Docker构建
# 构建阶段
FROM node:20-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
# 生产阶段
FROM node:20-alpine
WORKDIR /app
COPY --from=build /app/dist ./dist
COPY --from=build /app/node_modules ./node_modules
USER node
CMD ["node", "dist/server.js"]
CI/CD 管道模式
# 1. 构建:Docker多阶段构建
# 2. 测试:在容器中运行测试
# 3. 推送:推送到注册表(GCR,Docker Hub)
# 4. 部署:部署到Cloudflare Workers / Cloud Run
# 5. 验证:健康检查和冒烟测试
最佳实践
安全
- 以非root用户运行容器
- 使用服务账号模拟(GCP)
- 将秘密存储在环境变量中,而非代码
- 扫描镜像以查找漏洞(Docker Scout)
- 使用最小权限的API令牌
性能
- 多阶段Docker构建以减小镜像大小
- 使用Cloudflare KV进行边缘缓存
- 使用R2实现零出口成本存储
- 为容器实施健康检查
- 设置适当的超时和资源限制
成本优化
- 使用Cloudflare R2替代S3以降低出口成本
- 实施缓存策略(边缘 + KV)
- 适当调整容器资源
- 使用持续使用折扣(GCP)
- 使用云提供商仪表板监控使用情况
开发
- 使用Docker Compose进行本地开发
- Wrangler dev用于本地Worker测试
- 为多环境命名gcloud配置
- 版本控制基础设施代码
- 在CI/CD中实施自动化测试
决策矩阵
| 需求 | 选择 |
|---|---|
| 全球低于50ms延迟 | Cloudflare Workers |
| 大文件存储(零出口) | Cloudflare R2 |
| SQL数据库(全局读取) | Cloudflare D1 |
| 容器化工作负载 | Docker + Cloud Run/GKE |
| 企业级Kubernetes | GKE |
| 托管关系型数据库 | Cloud SQL |
| 静态站点 + API | Cloudflare Pages |
| WebSocket/实时 | Cloudflare Durable Objects |
| ML/AI管道 | GCP Vertex AI |
| 浏览器自动化 | Cloudflare Browser Rendering |
资源
- Cloudflare 文档: https://developers.cloudflare.com
- Docker 文档: https://docs.docker.com
- GCP 文档: https://cloud.google.com/docs
- Wrangler CLI: https://developers.cloudflare.com/workers/wrangler/
- gcloud CLI: https://cloud.google.com/sdk/gcloud
实施清单
Cloudflare Workers
- [ ] 安装Wrangler CLI
- [ ] 创建Worker项目
- [ ] 配置wrangler.toml(绑定,路由)
- [ ] 使用
wrangler dev本地测试 - [ ] 使用
wrangler deploy部署
Docker
- [ ] 编写带多阶段构建的Dockerfile
- [ ] 创建.dockerignore文件
- [ ] 本地测试构建
- [ ] 推送到注册表
- [ ] 部署到目标平台
Google Cloud
- [ ] 安装gcloud CLI
- [ ] 使用服务账号认证
- [ ] 创建项目并启用API
- [ ] 配置IAM权限
- [ ] 部署和监控资源