Helm官网
安装
# 安装插件
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3|bash
# 安装helm-push插件
helm plugin install https://github.com/chartmuseum/helm-push
helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com
- nginx做一个共享目录/或者通过nexus自建yum仓库
- 需要手动下载二进制包(https://github.com/helm/helm/releases)
# 安装插件
wget -Oq https//share.btpoc.com/tools/helm3 /usr/local/bin/helm /usr/local/bin/helm
# 安装helm-push插件
helm plugin install https://github.com/chartmuseum/helm-push
# 添加源
helm repo add stable http://mirror.azure.cn/kubernetes/charts
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add aliyuncs https://apphub.aliyuncs.com
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
helm repo add monocular https://helm.github.io/monocular
helm repo add gitlab https://charts.gitlab.io
helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com
验证安装
$ helm version
version.BuildInfo{Version:"v3.0.2", GitCommit:"19e47ee3283ae98139d98460de796c1be1e3975f", GitTreeState:"clean", GoVersion:"go1.13.5"}
查看
$ helm search repo tomcat
NAME CHART VERSION APP VERSION DESCRIPTION
aliyuncs/tomcat 6.0.5 9.0.27 Chart for Apache Tomcat
bitnami/tomcat 6.1.3 9.0.30 Chart for Apache Tomcat
stable/tomcat 0.4.0 7.0 Deploy a basic tomcat application server with s...
$ helm pull bitnami/tomcat --untar
$ ls
helm-v3.0.3-linux-amd64.tar.gz tomcat
$ tree tomcat
tomcat
|-- Chart.yaml
|-- ci
| `-- values-with-ingress-and-initcontainers.yaml
|-- README.md
|-- templates
| |-- deployment.yaml
| |-- _helpers.tpl
| |-- ingress.yaml
| |-- NOTES.txt
| |-- pvc.yaml
| |-- secrets.yaml
| `-- svc.yaml
`-- values.yaml
# 最关键的是tomcat/values.yaml文件
# 直接查看values.yaml内容
$ helm inspect values bitnami/tomcat
Helm 默认使用和 kubectl 命令相同的配置访问 Kubernetes 集群,其配置默认在 ~/.kube/config 中
升级,回退,查看版本记录
# 临时修改
helm upgrade --set service.nodePort=80 myapp stable/myapp
helm rollback myapp 1
helm hisotry myapp
其他
# 创建charts(自动创建一个helm chart标准化模板)
$ helm create myapp
# 更新repo仓库资源(类似于yum update)
$ helm repo update
# 测试本地修改后的helm chart正确与否
$ helm lint
# 严格模式
$ helm lint --strict
# 打包charts
$ cd myapp&& helm package ./
# 查看生成的yaml文件
$ helm template myapp-1.0.0.tgz