在K8S中,helm是什么?如何使用?

简介: 在K8S中,helm是什么?如何使用?

在Kubernetes(K8s)中,Helm 是一个用于简化Kubernetes应用程序部署和管理的包管理工具。它采用了声明式配置和模板化的概念,使得Kubernetes资源的打包、安装、升级、回滚等操作变得更加方便和高效。

Helm 主要由两个核心组件构成:

  1. Helm CLI(命令行接口): 提供了一系列命令,让用户能够在本地与Kubernetes集群交互,处理Helm Chart和Release。
  2. 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应用,极大地提升了大规模应用部署和维护的效率。


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
7月前
|
运维
计算巢如何使用fluxcd在ack部署helm chart
为支持helm服务运维管理功能,现在改用fluxcd的方式进行helm chart部署,这里计算巢对fluxcd进行部署helm chart的过程进行了封装,封装成了ROS公共模块MODULE::ACS::ComputeNest::FluxOciHelmDeploy,下面将主要介绍下怎么使用这个模块在计算巢中进行Helm Chart的部署。
|
7月前
|
存储 Kubernetes 容器
百度搜索:蓝易云【Kubernetes使用helm部署NFS Provisioner】
现在,你已经成功使用Helm部署了NFS Provisioner,并且可以在Kubernetes中创建使用NFS存储的PersistentVolumeClaim。
207 10
|
7月前
|
存储 Kubernetes 关系型数据库
在Kubernetes中,helm是什么?如何使用?
【4月更文挑战第9天】在Kubernetes中,helm是什么?如何使用?
485 5
|
Kubernetes 应用服务中间件 Linux
helm安装和使用-通过helm部署k8s应用
helm安装和使用-通过helm部署k8s应用
|
存储 Kubernetes API
【K8S系列】第十一讲:包管理神器-Helm
【K8S系列】第十一讲:包管理神器-Helm
273 0
|
2月前
|
缓存 Kubernetes 应用服务中间件
k8s学习--helm的详细解释及安装和常用命令
k8s学习--helm的详细解释及安装和常用命令
k8s学习--helm的详细解释及安装和常用命令
|
2月前
|
Kubernetes 关系型数据库 MySQL
k8s学习--利用helm部署应用mysql,加深helm的理解
k8s学习--利用helm部署应用mysql,加深helm的理解
213 0
|
4月前
|
存储 Kubernetes 关系型数据库
Helm 简介:Kubernetes 的包管理器
Helm 简介:Kubernetes 的包管理器
117 2
|
4月前
|
Kubernetes 容器
Kubernetes(K8S) helm chart
Kubernetes(K8S) helm chart
34 1
|
4月前
|
Kubernetes Linux Docker
Kubernetes(K8S) helm 安装
Kubernetes(K8S) helm 安装
104 1