helm

helm是k8s下的资源包管理工具,将资源对象配置文件组织成chart包。helm3通过kubeconfig文件与k8s集群进行通信
 
chart.yml:介绍包的基本信息(只有name和version是必填项)
apiVersion: v2
appVersion: 0.2.0
description: A Helm chart to deploy fluid in Kubernetes
name: fluid
type: application
version: 0.2.0
templates 目录:各类Kubernetes资源的配置模板
Helm采用了Go语言的模板,会将values.yaml中的参数值注入到模板中生成标准的YAML配置文件,引用格式为{{ .Values.fuse.hostPath }},还可以基于判断进行选择引用:
{{- if .Values.fuse.nodeSelector }}
{{ toYaml .Values.fuse.nodeSelector | trim | indent 8  }}
{{- else if .Values.nodeSelector }}
{{ toYaml .Values.nodeSelector | trim | indent 8  }}
{{- end }}
以下值是预定义的,可用于每个模板,并且不能被覆盖:
    Release.Name:release的名称(不是chart的)
    Release.Time:chart版本上次更新的时间。这将匹配Last Released发布对象上的时间。
    Release.Namespace:chart release发布的namespace。
    Release.Service:处理release的服务。通常是Tiller。
    Release.IsUpgrade:如果当前操作是升级或回滚,则设置为true。
    Release.IsInstall:如果当前操作是安装,则设置为true。
    Release.Revision:版本号。它从1开始,并随着每个helm upgrade增加。
 
安装helm后可以添加仓库
$ helm repo add stable https://kubernetes-charts.storage.googleapis.com/
$ helm repo add xxx https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
移除:
$ helm repo remove stable
列举:
$ helm repo list
更新仓库:
$ helm repo update   
搜索可以安装的chart包:
$ helm search repo stable
NAME                                    CHART VERSION   APP VERSION                  DESCRIPTION
stable/acs-engine-autoscaler            2.2.2           2.1.1                        DEPRECATED Scales worker nodes within agent pools
stable/aerospike                        0.2.8           v4.5.0.5                     A Helm chart for Aerospike in Kubernetes
stable/airflow                          4.1.0           1.10.4                       Airflow is a platform to programmatically autho...
stable/ambassador                       4.1.0           0.81.0                       A Helm chart for Datawire Ambassador
# ... and many more
 
只拉取不安装:
$ helm pull
列出已安装的chart:
$ helm list
安装:
$ helm install fluid fluid.tgz
$ helm upgrade fluid fluid.tgz
$ helm uninstall fluid
安装时,使用的安装包可以是tgz包,也可以是已经解压缩的文件夹
 
Chart仓库:由index.yaml文件和任意个打包的Chart的tgz文件组成的HTTP服务器。
往仓库加镜像时,需要先把chart包复制到仓库目录下,再通过如下命令重新生成index.yalm文件:
$ helm repo index /Users/qiulingwei/Projects/chartreg --url 127.0.0.1:8000
原文地址:https://www.cnblogs.com/yangyuliufeng/p/14227350.html