helm使用

helm是cncf基金会下的一个云原生管理程序

helm2和helm3有些区别,helm3去掉了服务端,本文主要是使用helm3

安装

macos

brew install helm

脚本安装

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh

应用

搜索应用

在hub中搜索

helm search hub <应用>

在本地的repo中搜索

helm search repo <应用>
安装应用
helm install <名字> <仓库>

# 指定ns下安装
helm install <名字> <仓库> --namespace <namespace>
  • 指定ns并创建
helm install <名字> <仓库>  --namespace <namespace> --create-namespace 
  • 查看helm chart的values文件
helm show values <仓库> > values.yaml
  • 通过values来设置参数
helm install <名字> <仓库> --namespace <namespace> --create-namespace -f values.yaml
  • 通过命令行来设置参数,–set参数可以有多个用户指定多个参数,其指定的参数就是values里的
helm install <名字> <仓库> --namespace <namespace> --create-namespace --set <key>:<value>
  • –dry-run参数不执行安装可以将要安装yaml打印出来
helm install <名字> <仓库> --namespace <namespace>  --create-namespace --debug --dry-run > resource.yaml
查看应用

显示当前ns下

helm list

显示当前ns下

helm list -n <namespace>

显示所有ns

helm list -A
升级应用

获取安装时的设置值

helm get values <应用> > tmp.yaml

升级配置或者版本

helm upgrade <应用> <应用仓库> -f tmp.yaml

升级指定版本

helm upgrade <应用> <应用仓库> --version vx.y.z

例子

helm get values cilium > tmp.yaml
helm upgrade cilium cilium/cilium -f tmp.yaml
回滚应用
helm rollback <应用>
卸载应用
helm uninstall <名字>
下载应用包

将在本地生成一个包里面是这个应用得chart文件

helm fetch <应用仓库>

本地直接生成模版

  • 常常用在离线安装或者本地开发当中
helm template <解压后chart包> -f <values文件>

仓库操作

添加仓库
helm repo add <仓库地址>
查看仓库
helm repo list
升级仓库
helm repo update
删除仓库
helm remove <仓库名字>

参考资料

http://blog.naturelr.cc
https://helm.sh/docs