用途:为基础设施与部署配置提供选型与模式参考,覆盖 Kubernetes、Terraform、Helm、Kustomize、GitHub Actions,以及 Makefile 与 Dockerfile。
主要能力与选型建议:原始 K8s YAML 适合简单部署与一次性资源;Kustomize 适合环境差异、叠加层与无模板化改动;Helm 适合复杂应用、第三方 chart 与大量模板;Terraform 管理云资源与基础设施生命周期;GitHub Actions 负责 CI/CD、自动化测试与发布;Makefile 用于构建自动化;Dockerfile 用于多阶段、多架构容器构建。选择上,环境差异简单、清单需可读、以 YAML 打补丁为主时用 Kustomize;复杂模板、第三方 chart、发布管理时用 Helm。
安全默认:每个工作负载应使用非 root 用户、只读文件系统、禁止权限提升、丢弃能力并配置网络策略。
GitHub Actions 模式:CI 在 PR 上执行 lint、测试、编译(同时跑 x86 与 ARM);发布在 tag 上做多架构 Docker 构建(使用原生 ARM runner);动作按 SHA 固定,权限最小化。
使用方式:kubectl apply -k ./ 应用 kustomize;helm upgrade --install NAME . 安装或升级 chart;terraform plan && terraform apply。参考文件包括 KUBERNETES.md、TERRAFORM.md、GITHUB-ACTIONS.md、MAKEFILE.md、DOCKERFILE.md 及模板目录。
限制与常见问题:Terraform 状态锁默认超时 10 分钟,锁持有进程挂起时延长超时无效,需确认进程已死后才强制解锁;Helm 对已卸载但未清除的 release 复用同名会因“already exists”安装失败;Kustomize 补丁若未匹配到任何内容会静默生成空差异,应每次用 kustomize build 验证;对计算值使用 for_each 会强制 apply 时计数,可能在多次 plan 间产生资源重建;helm upgrade --install 在 values schema 变化时可能静默丢弃不再匹配的字段,应对比渲染输出;服务端与客户端 apply 混用时,客户端 last-applied-config 可能无报错地遮蔽服务端管理字段。资料未提供具体收费、价格或平台支持信息。