mcpField
H
helm-release-management

helm-release-management

github.com/laurigates云与 DevOps5968 次安装1 天前更新
代码仓库

关于 helm-release-management

该技能为 Helm chart 的日常发布管理提供操作指引,面向负责 Kubernetes 发布的开发和运维人员。内容涵盖安装、升级、卸载、状态查询、版本历史与发布列表。

主要功能

  1. 01安装并配置 Helm release
  2. 02升级现有 release 并处理值覆盖
  3. 03卸载 release,可选择保留历史
  4. 04按命名空间列出 release
  5. 05查看状态、资源、清单和值
  6. 06查询 release 修订历史

适用场景

  1. 01在指定命名空间部署 Helm chart
  2. 02升级 chart 版本或调整配置值
  3. 03检查 release 状态和部署资源
  4. 04跨命名空间查看发布及历史

安装

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

$npx skills add https://github.com/laurigates/claude-plugins --skill helm-release-management

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

附带文件REFERENCE.md

详细介绍

Helm 发布管理

全面介绍日常 Helm 发布操作,包括安装、升级、卸载和发布跟踪。

何时使用此技能

在以下情况下使用此技能……在以下情况下改用 ……
运行 helm install、helm upgrade、helm uninstall 或列出发布升级失败且需要回滚或恢复卡住的状态时,使用 helm-release-recovery
检查发布状态、历史记录或推出新的 Chart 版本重点在于跨环境配置值时,使用 helm-values-management
将现有 Chart 从预发布环境提升到生产环境编写要安装的 Chart 时,使用 helm-chart-development

何时使用

在以下情况下自动使用此技能:

  • 用户请求部署或安装 Helm Chart
  • 用户提到升级或更新 Helm 发布
  • 用户想要列出或管理跨命名空间的发布
  • 用户需要检查发布历史记录或状态
  • 用户请求卸载或移除发布

核心发布操作

安装新发布
# Basic install
helm install <release-name> <chart> --namespace <namespace> --create-namespace

# Install with custom values
helm install myapp bitnami/nginx \
  --namespace production \
  --create-namespace \
  --values values.yaml \
  --set replicaCount=3

# Install with atomic rollback on failure
helm install myapp ./mychart \
  --namespace staging \
  --atomic \
  --timeout 5m \
  --wait

# Install from repository with specific version
helm install mydb bitnami/postgresql \
  --namespace database \
  --version 12.1.9 \
  --values db-values.yaml

# Dry-run before actual install
helm install myapp ./chart \
  --namespace prod \
  --dry-run \
  --debug

关键标志:

  • --namespace - 目标命名空间(务必明确指定)
  • --create-namespace - 如果命名空间不存在,则创建
  • --values / -f - 指定值文件
  • --set - 覆盖单个值
  • --atomic - 失败时自动回滚(推荐)
  • --wait - 等待资源就绪
  • --timeout - 最长等待时间(默认 5m)
  • --dry-run --debug - 预览但不安装
升级现有发布
# Basic upgrade with new values
helm upgrade myapp ./mychart \
  --namespace production \
  --values values.yaml

# Upgrade with value overrides
helm upgrade myapp bitnami/nginx \
  --namespace prod \
  --reuse-values \
  --set image.tag=1.21.0

# Upgrade with new chart version
helm upgrade mydb bitnami/postgresql \
  --namespace database \
  --version 12.2.0 \
  --atomic \
  --wait

# Install if not exists, upgrade if exists
helm upgrade --install myapp ./chart \
  --namespace staging \
  --create-namespace \
  --values values.yaml

# Force upgrade (recreate resources)
helm upgrade myapp ./chart \
  --namespace prod \
  --force \
  --recreate-pods

关键标志:

  • --reuse-values - 重用现有值,并与新值合并
  • --reset-values - 重置为 Chart 默认值,忽略现有值
  • --install - 如果发布不存在,则安装
  • --force - 强制更新资源(谨慎使用)
  • --recreate-pods - 即使没有变更也重新创建 Pod
  • --cleanup-on-fail - 升级失败时删除新资源

值覆盖优先级(从低到高):

  1. Chart 默认值(Chart 中的 values.yaml)
  2. 之前的发布值(使用 --reuse-values 时)
  3. 父 Chart 值
  4. 用户指定的值文件(-f values.yaml)
  5. 单个值覆盖(--set key=value)
卸载发布
# Basic uninstall
helm uninstall myapp --namespace production

# Uninstall but keep history (allows rollback)
helm uninstall myapp \
  --namespace staging \
  --keep-history

# Uninstall with timeout
helm uninstall myapp \
  --namespace prod \
  --timeout 10m \
  --wait
列出发布
# List releases in namespace
helm list --namespace production

# List all releases across all namespaces
helm list --all-namespaces

# List with additional details
helm list \
  --all-namespaces \
  --output yaml \
  --max 50

# List including uninstalled releases
helm list --namespace staging --uninstalled

# Filter releases by name pattern
helm list --filter '^my.*' --namespace prod

关键标志:

  • --all-namespaces / -A - 列出所有命名空间中的发布
  • --all - 显示所有发布,包括失败的发布
  • --uninstalled - 显示已卸载的发布
  • --failed - 仅显示失败的发布
  • --pending - 显示待处理的发布
  • --filter - 按发布名称筛选(正则表达式)

发布信息与历史记录

检查发布状态
# Get release status
helm status myapp --namespace production

# Show deployed resources
helm status myapp \
  --namespace prod \
  --show-resources
查看发布历史记录
# View revision history
helm history myapp --namespace production

# View detailed history
helm history myapp \
  --namespace prod \
  --output yaml \
  --max 10
检查发布
# Get deployed manifest
helm get manifest myapp --namespace production

# Get deployed values
helm get values myapp --namespace production

# Get all values (including defaults)
helm get values myapp --namespace prod --all

# Get release metadata
helm get metadata myapp --namespace production

# Get release notes
helm get notes myapp --namespace production

# Get everything
helm get all myapp --namespace production

有关常见工作流(部署新应用、更新配置、升级 Chart 版本、多环境部署)、最佳实践、故障排查以及与其他工具的集成,请参阅 REFERENCE.md。

Agent 优化

场景命令
列出发布(结构化)helm list -n <ns> -o json
发布历史记录(结构化)helm history <release> -n <ns> --output json
发布状态(结构化)helm status <release> -n <ns> -o json
值(结构化)helm get values <release> -n <ns> -o json
失败的发布helm list -n <ns> --failed -o json

相关技能

  • Helm 调试 - 排查部署失败问题
  • Helm 值管理 - 高级值配置
  • Helm 发布恢复 - 回滚和恢复策略
  • ArgoCD CLI 登录 - 与 ArgoCD 集成 GitOps
  • Kubernetes 操作 - 管理已部署的资源

参考资料

评论

支持 Markdown