关于 managing-infra
面向使用 Kubernetes、Terraform、CI/CD 和容器的团队的基础设施模式技能,帮助为常见任务选择工具,并提供安全默认设置、工作流模式、模板及操作注意事项。
主要功能
- 01基础设施任务的工具选型
- 02Kubernetes 安全默认设置
- 03GitHub Actions CI/CD 模式
- 04参考资料与现成模板
- 05常见工具的操作注意事项
适用场景
- 01在 Kustomize 与 Helm 间选择
- 02规划 Terraform 云资源变更
- 03构建 CI 与多架构发布
- 04检查 Kubernetes 工作负载安全
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ julianobarbosa/ claude-code-skills --skill managing-infra安装后在 Claude Code 中输入/managing-infra确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
DOCKERFILE.mdGITHUB-ACTIONS.mdKUBERNETES.mdMAKEFILE.mdTERRAFORM.mdtemplates/ci.ymldeployment.yamlrelease.yml详细介绍
基础设施模式
如何选择
| 工具 | 适用场景 |
|---|---|
| Raw K8s YAML | 简单部署、一次性资源 |
| Kustomize | 环境差异、无需模板化的覆盖配置 |
| Helm | 复杂应用、第三方 chart、大量模板化 |
| Terraform | 云资源、基础设施生命周期 |
| GitHub Actions | CI/CD、自动化测试、发布 |
| Makefile | 构建自动化、自描述目标 |
| Dockerfile | 容器构建、多阶段、多架构 |
快速决策
适用于 Kustomize 的场景:环境差异简单、清单易读、需要修补 YAML 适用于 Helm 的场景:模板复杂、第三方 chart、发布管理
K8s 安全默认设置
每个工作负载都应使用:非 root 用户、只读文件系统、禁止权限提升、移除 capabilities、网络策略。
GitHub Actions 模式
- CI 工作流:在 PR 上执行 lint、测试和编译(同时在 x86 和 ARM 上运行)
- 发布工作流:在标签上构建多架构 Docker 镜像(使用原生 ARM 运行器)
- 按 SHA 固定 Actions,并采用最小权限
参考资料
- KUBERNETES.md - K8s 资源模式
- TERRAFORM.md - Terraform 模块模式
- GITHUB-ACTIONS.md - CI/CD 工作流模式
- MAKEFILE.md - 构建自动化模式
- DOCKERFILE.md - 容器构建模式
- templates/ - 可直接使用的模板
命令
kubectl apply -k ./ # Apply kustomize
helm upgrade --install NAME . # Install/upgrade chart
terraform plan && terraform apply
注意事项
- Terraform 状态锁争用:默认锁定超时时间为 10 分钟;延长超时时间无法解决锁持有进程挂起的问题——只有确认该进程已终止后,才能强制解锁。
- 已卸载但未清除的 Helm release 名称重用会导致安装失败并提示 "already exists"——使用
--no-hooks并显式清除,或始终使用不同的名称。 - 未匹配到任何内容的 Kustomize 补丁会静默地产生空差异——每次添加补丁后,都使用
kustomize build验证。 - 对计算值使用 Terraform
for_each会将计数推迟到应用时确定——这可能导致资源在不同计划之间被无故重新创建。 - 对于值模式已更改的情况,执行
helm upgrade --install可能会静默丢弃不再匹配的字段——应对比渲染后的输出,而不只是检查 values 文件。 - 同时使用
kubectl apply --server-side和客户端模式会产生冲突:客户端模式的 last-applied-config 可能会在没有报错的情况下遮蔽服务端管理的字段。
评论
支持 Markdown