mcpField
H
helm-chart-patterns

helm-chart-patterns

github.com/nickcrew云与 DevOps62179 次安装17 周前更新
代码仓库

关于 helm-chart-patterns

为 Kubernetes 开发者提供生产级 Helm Chart 编写指导,涵盖结构、模板、多环境配置、依赖、测试与分发。通过主题参考文档和开发流程支持从搭建到发布。

主要功能

  1. 01Chart 结构与配置模式
  2. 02Go 模板与辅助函数
  3. 03多环境及依赖管理
  4. 04生命周期钩子
  5. 05验证、测试与分发

适用场景

  1. 01创建可复用的应用 Chart
  2. 02配置开发、预发布和生产环境
  3. 03测试并打包 Chart 以供发布

安装

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

$npx skills add https://github.com/nickcrew/claude-cortex --skill helm-chart-patterns

安装后在 Claude Code 中输入/helm-chart-patterns确认已加载。

包含的文件

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

references/
best-practices.md
chart-structure.md
dependencies.md
helmfile.md
hooks.md
packaging.md
template-patterns.md
testing.md
values-patterns.md

详细介绍

Helm 图表模式

关于开发生产级 Helm 图表的专家指南,涵盖图表结构、模板模式、多环境配置、依赖项管理、测试策略,以及 Kubernetes 应用打包的分发工作流。

何时使用此技能

  • 为应用和服务创建可复用的 Helm 图表
  • 构建应用目录和图表仓库
  • 管理多环境部署(开发、预发布、生产)
  • 使用条件语句和循环实现高级模板
  • 管理图表依赖项和子图表
  • 实现用于生命周期管理的图表钩子
  • 测试和验证图表模板
  • 通过仓库打包和分发图表
  • 使用 Helmfile 编排多个图表

核心概念

图表类型
  • 应用图表:用于部署服务的标准图表
  • 库图表:可复用的模板辅助函数(不能直接安装)
关键文件
文件用途
Chart.yaml元数据、版本、依赖项
values.yaml默认配置
values.schema.json输入验证
templates/_helpers.tpl可复用的模板函数
templates/*.yamlKubernetes 清单
模板基础
  • 为字符串添加引号:{{ .Values.name | quote }}
  • 正确缩进:{{- toYaml . | nindent 4 }}
  • 使用辅助函数:{{ include "my-app.fullname" . }}
  • 检查 nil 值:{{- if .Values.optional }}

快速参考

任务加载参考文档
图表结构和 Chart.yamlskills/helm-chart-patterns/references/chart-structure.md
Values 文件模式skills/helm-chart-patterns/references/values-patterns.md
模板模式和函数skills/helm-chart-patterns/references/template-patterns.md
依赖项和子图表skills/helm-chart-patterns/references/dependencies.md
钩子和生命周期skills/helm-chart-patterns/references/hooks.md
测试模式skills/helm-chart-patterns/references/testing.md
打包和分发skills/helm-chart-patterns/references/packaging.md
Helmfile 多图表skills/helm-chart-patterns/references/helmfile.md
最佳实践检查清单skills/helm-chart-patterns/references/best-practices.md

工作流

  1. 构建结构 - 创建包含 Chart.yaml 和 values.yaml 的图表目录
  2. 编写模板 - 使用 Go 模板创建 Kubernetes 清单
  3. 辅助函数 - 将通用模式提取到 _helpers.tpl 中
  4. 验证 - 使用 values.schema.json 验证输入
  5. 测试 - 执行 lint、模板渲染和图表测试
  6. 打包 - 创建 .tgz 并发布到仓库

必备命令

# Development
helm create my-app          # Scaffold new chart
helm lint ./my-app          # Validate chart
helm template my-app ./my-app  # Render templates

# Dependencies
helm dependency update      # Download dependencies
helm dependency list        # Show dependencies

# Testing
helm install my-app ./my-app --dry-run --debug
helm test my-app

# Distribution
helm package ./my-app
helm repo index . --url https://charts.example.com
helm push my-app-1.0.0.tgz oci://registry.example.com/charts

常见错误

  • 忘记在模板中为字符串添加引号
  • 未使用 nindent 实现正确的 YAML 格式
  • 将机密提交到 values 文件中
  • 缺少安全上下文(runAsNonRoot、drop capabilities)
  • 未固定依赖项版本
  • 跳过 values.schema.json 验证
  • 未测试从先前版本升级

资源

评论

支持 Markdown