Helm 部署

安装前准备

官网:https://helm.sh/

想成功和正确地使用Helm,需要以下前置条件:

  • 一个 Kubernetes 集群
  • 确定你安装版本的安全配置
  • 安装和配置Helm。
  • Helm版本支持策略 :https://helm.sh/zh/docs/topics/version_skew/

使用Helm,需要一个Kubernetes集群。对于Helm的最新版本,我们建议使用Kubernetes的最新稳定版, 在大多数情况下,它是倒数第二个次版本。
您也应该有一个本地的 kubectl

开始安装Helm

用二进制版本安装

下载地址:https://get.helm.sh/helm-v3.12.1-linux-amd64.tar.gz
安装方法

tar -zxvf helm-v3.12.1-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm

## 安装还以后查看版本
helm version
# version.BuildInfo{Version:"v3.12.1", GitCommit:"f32a527a060157990e2aa86bf45010dfb3cc8b8d", GitTreeState:"clean", GoVersion:"go1.20.4"}

常用命令

官网推荐的源:https://artifacthub.io/packages/search?kind=0

仓库管理

添加helm源

helm repo add bitnami https://charts.bitnami.com/bitnami

删除 helm 源

helm repo update

当添加完成,您将可以看到可以被您安装的charts列表:

helm search repo bitnami

查看所有添加过的源

helm repo list 

更新源

helm repo update 

Helm的基本操作命令

查看helm的版本

helm version

查看环境变量

helm env

查看某一个chart 的所有版本

## 不加 -l 就是查询
helm search repo ingress -l

据关键字检索 chart 包

helm search repo keyword

安装 chart

## -n prod 指定K8S命名空间
helm install --name redis bitnami/redis -n prod

安装完成后查看状态

helm status redis

卸载

helm uninstall redis -n prod
## 或者
helm delete redis -n prod

升级

helm upgrade releaseName chartName

回滚

helm rollback releaseName revision

查看发布历史

helm history releaseName

下载

## 下载最新版
helm pull ingress-nginx/ingress-nginx

## 指定版本下载
helm pull ingress-nginx/ingress-nginx --version 2.0.0

# 解压
tar -xf ingress-nginx-4.7.0.tgz
# 解压以后安装  (解压以后 values.yaml 这个是配置文件)
helm install  ingress-nginx -n ingress-nginx .

查看chart包文件内容

helm show chart chartName  #查看chart包中的chart.yaml文件内容
helm show values chartName    #查看chart包中的values.yaml文件内容
helm show readme chartName     #查看chart包中README文件内容
helm show all chartName   #查看chart包中chart.yaml、values.yaml、README文件内容
helm get notes releaseName      #查看release的说明信息(相当于chart中的NOTES.TXT)
helm get manifest releaseName   #查看release在k8s中创建出来的资源
helm get hooks releaseName      #查看release的回调创建资源
helm get values releaseName     #查看release的values配置
helm get all releaseName        #查看上述所有内容