# Helm Chart 脚手架实施手册
此文件包含该技能引用的详细模式、检查清单和代码示例。
# Helm Chart 脚手架
为创建、组织和管理用于打包及部署 Kubernetes 应用的 Helm Chart 提供全面指导。
## 目的
本技能提供构建生产级 Helm Chart 的分步说明,包括 Chart 结构、模板模式、值管理和验证策略。
## 使用此技能的场景
当你需要执行以下操作时使用此技能:
- 从零开始创建新的 Helm Chart
- 打包 Kubernetes 应用以进行分发
- 使用 Helm 管理多环境部署
- 为可重用的 Kubernetes 清单实现模板化
- 设置 Helm Chart 仓库
- 遵循 Helm 最佳实践和约定
## Helm 概述
**Helm** 是 Kubernetes 的包管理器,它能够:
- 模板化 Kubernetes 清单以实现可重用性
- 管理应用发布和回滚
- 处理 Chart 之间的依赖关系
- 提供部署的版本控制
- 简化跨环境的配置管理
## 分步工作流
### 1. 初始化 Chart 结构
**创建新 Chart:**
bash
helm create my-app
**标准 Chart 结构:**
my-app/
├── Chart.yaml # Chart 元数据
├── values.yaml # 默认配置值
├── charts/ # Chart 依赖
├── templates/ # Kubernetes 清单模板
│ ├── NOTES.txt # 安装后说明
│ ├── _helpers.tpl # 模板辅助函数
│ ├── deployment.yaml
│ ├── service.yaml
│ ├── ingress.yaml
│ ├── serviceaccount.yaml
│ ├── hpa.yaml
│ └── tests/
│ └── test-connection.yaml
└── .helmignore # 忽略的文件
### 2. 配置 Chart.yaml
**Chart 元数据定义了包信息:**
yaml
apiVersion: v2
name: my-app
description: A Helm chart for My Application
type: application
version: 1.0.0 # Chart 版本
appVersion: "2.1.0" # 应用版本
# 用于 Chart 发现的关键字
keywords:
- web
- api
- backend
# 维护者信息
maintainers:
- name: DevOps Team
email:
[email protected]
url: https://github.com/example/my-app
# 源代码仓库
sources:
- https://github.com/example/my-app
# 主页
home: https://example.com
# Chart 图标
icon: https://example.com/icon.png
# 依赖
dependencies:
- name: postgresql
version: "12.0.0"
repository: "https://charts.