用途:将容器化应用部署到 Kubernetes(EKS、GKE、AKS 或自建),并从 Docker Compose、传统虚拟机迁移到容器编排;实现零停机滚动更新与回滚,管理配置与密钥,搭建多环境部署,或制作可复用 Helm Chart。
主要能力与流程:先创建命名空间、ResourceQuota、LimitRange 和带最小权限 RBAC 的 ServiceAccount;再用 ConfigMap 与 Secret 外部化配置和凭据,并创建 TLS Secret 供 Ingress 使用;随后编写 Deployment,配置 RollingUpdate(maxUnavailable: 0)、liveness/readiness/startup 探针、资源 requests/limits、安全上下文和镜像拉取密钥;用 Service 与 LoadBalancer 暴露应用;用 HorizontalPodAutoscaler 按 CPU/内存自动扩缩(需 metrics-server);最后用 helm create 打包为可在多环境复用的 Chart。相关命令包括 kubectl create namespace myapp-prod、kubectl apply -f deployment.yaml、kubectl rollout status deployment/myapp -n myapp-prod、kubectl top pods、helm create myapp-chart 等。
适用场景:新应用上线、迁移到编排平台、多环境发布、基于 Helm 的分发。
限制与注意:资料未提供具体集群版本、价格、平台差异或性能数据。若 Deployment 由 HPA 管理副本数,应刻意省略 replicas 字段,否则客户端 kubectl apply 会重置副本数并与自动扩缩器冲突,服务端 apply 则可能遇到 .spec.replicas 字段冲突。常见陷阱还包括缺少就绪探针、启动探针超时过短、未设资源限制、硬编码配置、使用默认 ServiceAccount、未用 RollingUpdate、密钥入库、缺少 PodDisruptionBudget。