mcpField
M
managing-infra

managing-infra

github.com/julianobarbosa云与 DevOps14114 次安装2 天前更新
代码仓库

关于 managing-infra

面向使用 Kubernetes、Terraform、CI/CD 和容器的团队的基础设施模式技能,帮助为常见任务选择工具,并提供安全默认设置、工作流模式、模板及操作注意事项。

主要功能

  1. 01基础设施任务的工具选型
  2. 02Kubernetes 安全默认设置
  3. 03GitHub Actions CI/CD 模式
  4. 04参考资料与现成模板
  5. 05常见工具的操作注意事项

适用场景

  1. 01在 Kustomize 与 Helm 间选择
  2. 02规划 Terraform 云资源变更
  3. 03构建 CI 与多架构发布
  4. 04检查 Kubernetes 工作负载安全

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/julianobarbosa/claude-code-skills --skill managing-infra

安装后在 Claude Code 中输入/managing-infra确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

DOCKERFILE.md
GITHUB-ACTIONS.md
KUBERNETES.md
MAKEFILE.md
TERRAFORM.md
templates/
ci.yml
deployment.yaml
release.yml

详细介绍

基础设施模式

如何选择

工具适用场景
Raw K8s YAML简单部署、一次性资源
Kustomize环境差异、无需模板化的覆盖配置
Helm复杂应用、第三方 chart、大量模板化
Terraform云资源、基础设施生命周期
GitHub ActionsCI/CD、自动化测试、发布
Makefile构建自动化、自描述目标
Dockerfile容器构建、多阶段、多架构

快速决策

适用于 Kustomize 的场景:环境差异简单、清单易读、需要修补 YAML 适用于 Helm 的场景:模板复杂、第三方 chart、发布管理

K8s 安全默认设置

每个工作负载都应使用:非 root 用户、只读文件系统、禁止权限提升、移除 capabilities、网络策略。

GitHub Actions 模式

  • CI 工作流:在 PR 上执行 lint、测试和编译(同时在 x86 和 ARM 上运行)
  • 发布工作流:在标签上构建多架构 Docker 镜像(使用原生 ARM 运行器)
  • 按 SHA 固定 Actions,并采用最小权限

参考资料

命令

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