🗒️快速了解并上手 Helm
00 分钟
2024-4-4
2024-4-4
type
status
date
slug
summary
tags
category
icon

1:Helm 简介

2:Helm 安装

命令
说明
completion
为指定的 shell 生成自动补全脚本
create
创建一个新的 chart
dependency
管理 charts 的依赖关系
env
helm 客户端环境变量信息
get
下载指定版本的 release
history
获取 release 历史记录
install
安装一个 chart
lint
检查 Chart 是否可能存在问题
list
列出发布的 release
package
将 Chart 目录打包成 chart 包
plugin
安装、列出或卸载 Helm 插件
pull
从仓库下载 chart 到本地可以选择解压
push
将 chart 包推送到远端仓库
registry
登录或者登出仓库
repo
添加、列出、删除、更新和索引 chart 存储库
rollback
将版本回滚到以前的修订版
search
在 charts 中搜索关键字
show
显示 chart 的信息
status
显示指定 release 的状态
template
本地渲染模板
test
运行版本测试
uninstall
卸载一个 release 的发布
upgrade
更新一个 release 的发布
verify
验证指定路径上的 chart 是否已签名且有效
version
打印 Helm 的版本

3:Helm 使用

4:Helm Chart

4.1:文件结构

4.2:Chart.yaml 文件

4.3:version 版本

4.4:apiVersion 字段

4.5:appVersion 字段

4.6:弃用 Charts

4.7:Chart 类型

4.8:LICENSE,README 和 NOTES

4.9:依赖

4.10:TEMPLATES 和 VALUIES

说明
Release.Name
release 的名称(不是 chart 的名称)
Release.Namespace
release 被安装到的名称空间
Release.Service
渲染当前模板的服务,在 Helm 上,实际上该值始终为 Helm
Release.IsUpgrade
如果当前操作是升级或者回滚,则该值为 true
Release.IsInstall
如果当前操作是安装,则该值为 true
Chart
Chart.yaml 文件的内容,可以通过 Chart.Version 来获取到 Chart 的版本,通过 Chart.Maintainers 来获取维护者信息
Files
一个包含了 chart 中所有非特殊文件的 map 对象,这不会给访问模板的权限,但是会给你访问存在的其他文件的权限(除非使用 .helmignore 来排除它们),可以使用 {{ index.Files "file.name"}} 或者 {{ .Files.Get name }} 或者 {{ .Files.GetString name }} 函数来访问文件,还可以使用 {{ .Files.GetBytes }} 一 []byte 的形式来获取访问文件的内容
Capabilities
也是一个类 map 对象,其中包含了有关 kubernetes 版本 {{ .Capabilities.KubeVersion }} 和支持的 Kubernetes API 版本 {{ .Capabilities.APIVersions.Has "batch/v1" }} 信息

4.11:Schema 文件

5:CRDS

6:使用 Helm 管理 Charts