DevOps技能Skill devops

此技能用于部署和管理云基础设施,涵盖Cloudflare边缘平台、Docker容器化和Google Cloud平台。适用于服务器less函数边缘部署、容器配置、CI/CD管道设置、成本优化等,支持构建云原生应用和边缘优先架构。关键词:云部署、DevOps、Cloudflare、Docker、Google Cloud、CI/CD、边缘计算。

DevOps 0 次安装 0 次浏览 更新于 3/15/2026

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 Workers

  • [ ] 安装Wrangler CLI
  • [ ] 创建Worker项目
  • [ ] 配置wrangler.toml(绑定,路由)
  • [ ] 使用wrangler dev本地测试
  • [ ] 使用wrangler deploy部署

Docker

  • [ ] 编写带多阶段构建的Dockerfile
  • [ ] 创建.dockerignore文件
  • [ ] 本地测试构建
  • [ ] 推送到注册表
  • [ ] 部署到目标平台

Google Cloud

  • [ ] 安装gcloud CLI
  • [ ] 使用服务账号认证
  • [ ] 创建项目并启用API
  • [ ] 配置IAM权限
  • [ ] 部署和监控资源