在Kubernetes(K8s)中,Helm 是一个用于简化Kubernetes应用程序部署和管理的包管理工具。它采用了声明式配置和模板化的概念,使得Kubernetes资源的打包、安装、升级、回滚等操作变得更加方便和高效。
Helm 主要由两个核心组件构成:
-
Helm CLI(命令行接口): 提供了一系列命令,让用户能够在本地与Kubernetes集群交互,处理Helm Chart和Release。
-
Chart:这是Helm的基本构建块,它是一个打包好的目录结构,包含了一组描述Kubernetes资源的YAML文件,以及一个描述应用配置选项的values.yaml
文件。Chart也可以有依赖关系,这样就可以轻松管理复杂应用的多层依赖。
Helm 的使用步骤一般如下:
1.安装Helm
2.对于Helm 3(当前推荐版本):
| # 下载适用于您操作系统的Helm客户端 |
| curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 |
| chmod 700 get_helm.sh |
| ./get_helm.sh |
| |
| # 或者通过各自平台的包管理器安装(以macOS为例) |
| brew install helm |
3.初始化Helm (Helm 2.x版本需要此步骤,Helm 3.x不需要初始化)
| # Helm 2.x版本需要初始化Tiller(Helm 3已废弃Tiller) |
| helm init --upgrade # 在Helm 2.x版本中升级或初始化Tiller |
4.添加Helm仓库
| helm repo add stable https://charts.helm.sh/stable # 添加官方稳定仓库 |
| helm repo update # 更新仓库索引 |
5.搜索Chart
| helm search repo <chart-name> # 搜索仓库中的可用Chart |
6.下载并查看Chart
| helm pull stable/<chart-name> --untar # 下载并解压Chart到当前目录 |
| tree <chart-name> # 查看Chart的目录结构 |
7.安装Chart
| helm install <release-name> <chart-name> \ |
| --create-namespace \ |
| --namespace <target-namespace> \ |
| --values=my-values.yaml # 如果有自定义配置文件 |
8.升级Chart
| helm upgrade <release-name> <chart-name> \ |
| --values=new-values.yaml # 使用新配置文件升级 |
9.卸载Chart
| helm uninstall <release-name> |
10.查看已安装的Chart
| helm list [-a] # 显示已安装的Release,默认只显示活动状态的,-a参数显示所有状态 |
11.查看Release详细信息
| helm status <release-name> |
12.回滚Chart
| helm rollback <release-name> <revision> # 回滚到指定修订版本 |
13.创建和管理自己的Chart
- 创建一个新的Chart工程结构,可以使用
helm create <chart-name>
命令。
- 修改Chart的模板和
values.yaml
文件来适应你的应用需求。
- 测试Chart,使用
helm template <chart-name>
生成Kubernetes资源配置清单。
- 构建Chart包,使用
helm package <chart-directory>
。
综上所述,以上是一些基本的Helm操作,具体的使用可能需要根据实际情况调整命令参数。通过Helm,你可以便捷地管理和分发Kubernetes应用,极大地提升了大规模应用部署和维护的效率。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步