在K8S中,helm是什么?如何使用?
在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应用,极大地提升了大规模应用部署和维护的效率。