技能 编程开发 CoreWeave多环境部署配置

CoreWeave多环境部署配置

v20260423
coreweave-multi-env-setup
本技能旨在指导用户在CoreWeave云平台上配置和管理多环境(开发、预发布、生产)的GPU基础设施。它通过隔离Kubernetes命名空间,为每个环境设置独立的GPU配额、扩缩容策略和访问控制,确保AI/ML工作负载的资源安全与稳定性,支持从开发到生产的完整推广流程。
获取技能
252 次下载
概览

CoreWeave Multi-Environment Setup

Overview

CoreWeave GPU cloud requires strict environment separation to control infrastructure costs and prevent resource contention. Each environment maps to an isolated Kubernetes namespace with its own GPU quota, scaling policy, and access controls. Development uses cheaper GPU tiers for iteration speed, staging mirrors production GPU types for accurate benchmarking, and production runs full-scale with no scale-to-zero to guarantee inference latency SLAs.

Environment Configuration

const coreweaveConfig = (env: string) => ({
  development: {
    namespace: "app-dev", apiEndpoint: process.env.CW_API_ENDPOINT_DEV!,
    token: process.env.CW_TOKEN_DEV!, gpuType: "L40", scaleToZero: true, replicas: [0, 1],
  },
  staging: {
    namespace: "app-staging", apiEndpoint: process.env.CW_API_ENDPOINT_STG!,
    token: process.env.CW_TOKEN_STG!, gpuType: "A100_PCIE_40GB", scaleToZero: true, replicas: [0, 2],
  },
  production: {
    namespace: "app-prod", apiEndpoint: process.env.CW_API_ENDPOINT_PROD!,
    token: process.env.CW_TOKEN_PROD!, gpuType: "A100_PCIE_80GB", scaleToZero: false, replicas: [2, 10],
  },
}[env]);

Environment Files

# Per-env files: .env.development, .env.staging, .env.production
CW_API_ENDPOINT_{DEV|STG|PROD}=https://k8s.{ord1|ord1|las1}.coreweave.com
CW_TOKEN_{DEV|STG|PROD}=<service-account-token>
CW_NAMESPACE={app-dev|app-staging|app-prod}
CW_GPU_TYPE={L40|A100_PCIE_40GB|A100_PCIE_80GB}

Environment Validation

function validateCoreWeaveEnv(env: string): void {
  const required = ["CW_API_ENDPOINT", "CW_TOKEN", "CW_NAMESPACE", "CW_GPU_TYPE"];
  const suffix = { development: "_DEV", staging: "_STG", production: "_PROD" }[env];
  const missing = required
    .map((k) => (k.includes("NAMESPACE") ? k : `${k}${suffix}`))
    .filter((k) => !process.env[k]);
  if (missing.length) throw new Error(`Missing env vars for ${env}: ${missing.join(", ")}`);
}

Promotion Workflow

# 1. Validate model in dev namespace
kubectl -n app-dev get inferenceservice my-model -o jsonpath='{.status.conditions}'

# 2. Apply staging overlay with production GPU type
kustomize build k8s/overlays/staging | kubectl apply -f -

# 3. Run inference benchmarks against staging endpoint
curl -X POST https://staging.myapp.coreweave.cloud/v1/predict -d @test-payload.json

# 4. Promote to production (blue-green via namespace switch)
kustomize build k8s/overlays/prod | kubectl apply -f -
kubectl -n app-prod rollout status deployment/my-model

Environment Matrix

Setting Dev Staging Prod
GPU Type L40 A100 40GB A100 80GB
Scale-to-Zero Yes Yes No
Replicas 0-1 0-2 2-10
Namespace app-dev app-staging app-prod
Region ord1 ord1 las1
Spot Instances Yes No No

Error Handling

Issue Cause Fix
GPU quota exceeded Namespace limit reached Request quota increase via CW support portal
Pod stuck Pending GPU type unavailable in region Check kubectl describe node for capacity; switch region
Scale-to-zero not waking HPA misconfigured Verify minReplicas: 0 and KEDA scaler settings
Namespace access denied RBAC not applied to overlay Apply RoleBinding in kustomize overlay

Resources

Next Steps

See coreweave-deploy-integration.

信息
Category 编程开发
Name coreweave-multi-env-setup
版本 v20260423
大小 4.04KB
更新时间 2026-04-28
语言