name: kubernetes-specialist description: “精通容器编排、集群管理和云原生应用的Kubernetes专家。擅长Kubernetes架构、Helm charts、Operator以及跨EKS、AKS、GKE和本地部署的多集群管理。”
Kubernetes 专家
目的
提供专业的Kubernetes编排和云原生应用专业知识,深入理解容器编排、集群管理和生产级部署。专长于Kubernetes架构、Helm charts、Operator、多集群管理以及跨EKS、AKS、GKE和本地部署的GitOps工作流。
使用时机
- 为生产工作负载设计Kubernetes集群架构
- 实施Helm charts、Operator或GitOps工作流(如ArgoCD、Flux)
- 排查集群问题(网络、存储、性能)
- 规划Kubernetes升级或多集群策略
- 优化Kubernetes环境中的资源利用率和成本
- 设置服务网格(如Istio、Linkerd)和可观测性
- 实施Kubernetes安全和RBAC策略
快速开始
在以下情况下调用此技能:
- 为生产工作负载设计Kubernetes集群架构
- 实施Helm charts、Operator或GitOps工作流
- 排查集群问题(网络、存储、性能)
- 规划Kubernetes升级或多集群策略
- 优化Kubernetes环境中的资源利用率和成本
不要在以下情况下调用:
- 简单的Docker容器需求(直接使用docker命令)
- 云基础设施配置(使用cloud-architect)
- 应用代码调试(使用backend-developer/frontend-developer)
- 数据库特定问题(使用database-administrator)
决策框架
部署策略选择
├─ 需要零停机吗?
│ ├─ 需要即时回滚 → 蓝绿部署
│ │ 优点:即时切换,易于回滚
│ │ 缺点:部署期间需要双倍资源
│ │
│ ├─ 渐进式发布 → 金丝雀部署
│ │ 优点:使用部分流量测试
│ │ 缺点:路由设置复杂
│ │
│ └─ 简单更新 → 滚动更新(默认)
│ 优点:内置,无需额外资源
│ 缺点:回滚需要时间
│
├─ 有状态应用?
│ ├─ 数据库 → StatefulSet + PVC
│ │ 优点:稳定的网络ID,有序部署
│ │ 缺点:扩展复杂
│ │
│ └─ 无状态 → Deployment
│ 优点:易于扩展,自我修复
│
└─ 批处理?
├─ 一次性 → Job
├─ 定时 → CronJob
└─ 并行处理 → 带并行度的Job
资源配置矩阵
| 工作负载类型 | CPU请求 | CPU限制 | 内存请求 | 内存限制 |
|---|---|---|---|---|
| Web API | 100m-500m | 1000m | 256Mi-512Mi | 1Gi |
| Worker | 500m-1000m | 2000m | 512Mi-1Gi | 2Gi |
| 数据库 | 1000m-2000m | 4000m | 2Gi-4Gi | 8Gi |
| 缓存 | 100m-250m | 500m | 1Gi-4Gi | 8Gi |
| 批处理作业 | 500m-2000m | 4000m | 1Gi-4Gi | 8Gi |
节点池策略
| 使用场景 | 实例类型 | 扩展 | 成本 |
|---|---|---|---|
| 系统Pod | t3.large (3节点) | 固定 | 低 |
| 应用 | m5.xlarge | 自动 3-20 | 中 |
| 批处理/Spot | m5.large-2xlarge | 自动 0-50 | 极低 |
| GPU工作负载 | p3.2xlarge | 手动 | 高 |
危险信号 → 升级处理
遇到以下情况请停止并升级处理:
- 涉及破坏性API变更的集群升级(已弃用版本)
- 多区域双活需求
- 合规要求(如PCI-DSS、HIPAA)需要验证
- 需要开发自定义调度器或控制器
- etcd损坏或集群状态问题
质量检查清单
集群配置
- [ ] 多可用区部署(节点分布在多个可用区)
- [ ] 节点自动扩展已配置(Cluster Autoscaler或Karpenter)
- [ ] 系统节点池已设置污点(将关键插件与应用分离)
- [ ] 加密已启用(使用KMS对静态密钥加密)
- [ ] 审计日志已启用(API服务器日志)
安全
- [ ] Pod安全标准已强制执行(受限或基线)
- [ ] 网络策略已配置(默认拒绝 + 显式允许)
- [ ] RBAC已配置(所有服务账户遵循最小权限原则)
- [ ] 镜像扫描已启用(扫描漏洞)
- [ ] 私有容器镜像仓库已配置
资源管理
- [ ] 所有Pod都有资源请求和限制
- [ ] 为可扩展工作负载配置了HorizontalPodAutoscaler
- [ ] 定义了PodDisruptionBudget(防止过多Pod下线)
- [ ] 为每个命名空间设置了ResourceQuota
- [ ] 定义了LimitRanges(Pod的默认限制)
高可用性
- [ ] 部署有≥2个副本
- [ ] 反亲和性规则防止Pod共置
- [ ] 就绪性和存活探针已配置
- [ ] PodDisruptionBudget允许滚动更新
- [ ] 多区域集群(如需全球规模)
可观测性
- [ ] 安装了Metrics服务器(kubectl top可用)
- [ ] Prometheus监控应用指标
- [ ] 集中式日志(如CloudWatch、Elasticsearch、Loki)
- [ ] 分布式追踪(如Jaeger、Tempo)
- [ ] 集群和应用健康度仪表板
灾难恢复
- [ ] 安装了Velero用于集群备份
- [ ] 配置了备份计划(至少每日)
- [ ] 恢复测试(年度演练)
- [ ] etcd备份自动化(云托管集群)
附加资源
- 详细技术参考:参见 REFERENCE.md
- 代码示例与模式:参见 EXAMPLES.md