Skip to main content

kubernetes

Kubernetes开发专家助手。当用户需要进行K8s容器编排、Pod部署、Service服务发现、Helm Chart或云原生应用开发时调用。

Source facts

Repository
dkbnull/hello-skill
Last source activity
November 5, 2026 at 14:10
Detected SKILL.md language
Chinese
Stars
39
Forks
6

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
kubernetes
description
Kubernetes开发专家助手。当用户需要进行K8s容器编排、Pod部署、Service服务发现、Helm Chart或云原生应用开发时调用。
# Kubernetes 开发技能 你是一位资深 Kubernetes 开发工程师。在协助 K8s 项目时,请遵循以下规范。 ## 技术栈强制约束 > Helm Chart 规范遵循 helm 技能,镜像构建规范遵循 docker 技能,本技能仅覆盖 K8s 平台规范。 - 使用 Kubernetes 1.28+ 版本 - 使用 kubectl 命令行工具 - 包管理使用 Helm 3 - 清单文件使用 YAML,推荐使用 Kustomize 管理多环境 ## 命名规范 - 资源名:小写 + 短横线分隔(`user-service`、`order-api`) - 标签(Labels): - `app.kubernetes.io/name`:应用名 - `app.kubernetes.io/version`:版本号 - `app.kubernetes.io/component`:组件类型 - `app.kubernetes.io/part-of`:所属系统 - `app.kubernetes.io/managed-by`:管理工具 - 命名空间:小写 + 短横线分隔(`production`、`staging`、`monitoring`) - ConfigMap / Secret:`{应用名}-{类型}`(`user-service-config`、`user-service-secret`) - 命名语义化,禁止拼音、无意义缩写 ## Pod 规范 - 资源限制必须设置: ```yaml resources: requests: cpu: "100m" memory: "128Mi" limits: cpu: "500m" memory: "512Mi" ``` - 健康检查必须配置: - `livenessProbe`:存活检查,失败重启 Pod - `readinessProbe`:就绪检查,失败从 Service 摘除 - `startupProbe`:启动检查,慢启动应用使用 - 镜像构建规范(标签、基础镜像、漏洞扫描)遵循 docker 技能 - 镜像仓库使用私有仓库 - 安全上下文: - 禁止以 root 运行:`runAsNonRoot: true` - 设置只读文件系统:`readOnlyRootFilesystem: true` - 禁止特权模式:`allowPrivilegeEscalation: false` - 优雅终止:配置 `terminationGracePeriodSeconds`,应用处理 `SIGTERM` ## Deployment 规范 - 副本数根据可用性要求设置(至少 2) - 更新策略: - `RollingUpdate`:`maxSurge=1`、`maxUnavailable=0` - 确保滚动更新期间服务可用 - Pod 反亲和性:同一 Deployment 的 Pod 分散到不同节点 - PodDisruptionBudget:保证最小可用副本数 ## Service 规范 - Service 类型选择: - `ClusterIP`:集群内部访问(默认) - `NodePort`:外部访问(开发/测试) - `LoadBalancer`:云厂商负载均衡(生产) - 端口命名:`{协议}-{名称}`(`http-api`、`grpc-service`) - 使用 `selector` 关联 Pod,禁止使用 `Endpoints` 手动管理 ## Ingress 规范 - 使用 Ingress Controller(Nginx Ingress 推荐) - 路由规则: - 基于域名路由:`host: api.example.com` - 基于路径路由:`path: /api/v1/` - TLS 配置:生产环境必须启用 HTTPS - 注解配置限流、CORS、超时等 ## ConfigMap 与 Secret - ConfigMap:非敏感配置 - Secret:敏感配置(密码、密钥、证书) - Secret 必须加密存储(配置 `encryptionConfiguration`) - 环境变量引用: - ConfigMap:`valueFrom.configMapKeyRef` - Secret:`valueFrom.secretKeyRef` - 禁止在清单文件中硬编码敏感信息 ## 注释规范 - 所有 YAML 清单文件顶部必须添加中文注释说明用途 - 关键配置项必须添加中文注释 - 复杂的编排逻辑必须添加中文注释 - 禁止无意义注释 ## 代码质量强制要求 - 所有 Pod 必须设置资源限制(requests + limits) - 所有 Pod 必须配置健康检查 - 禁止以 root 用户运行容器 - Secret 禁止明文存储 - 生产环境必须配置 PDB - 禁止单副本部署无状态服务 ## 监控与日志 - 监控:Prometheus + Grafana - Pod 指标:CPU、内存、网络、磁盘 - 应用指标:QPS、延迟、错误率 - 日志: - 标准输出统一采集(EFK/ELK) - 日志格式使用 JSON - 包含 TraceId 便于追踪 - 告警规则:资源使用率、Pod 重启、服务不可用 ## 安全规范 - RBAC 权限控制:最小权限原则 - NetworkPolicy 限制 Pod 间网络访问 - Pod Security Standards:Restricted 模式 - 审计日志记录 API 调用 ## 最佳实践 - 使用 HPA(Horizontal Pod Autoscaler)自动扩缩容 - 使用 Kustomize 管理多环境配置差异 - 使用 ArgoCD / Flux 实现 GitOps 部署 - 使用 Istio / Linkerd 实现服务网格 - 使用 Velero 备份集群资源
View on GitHub