helm作为k8s的包管理工具,让我们很方便的在k8s上安装部署软件
helm实际上分为几个部分:
1).helm(client)
helm可以把安装chart请求发送给tiller
2).tiller(server)
相当于helm server,部署在集群内部,接收部署请求,调用apiserver完成部署
3).repo
相当于rpm包的yum源,里面存放着一系列包,可以使远程的,也可以是本地目录
4).chart
相当于rpm包,包含服务的一系列配置信息,可以通过远程获取,也可以本地创建
在安装helm之前需要确保本地有安装以及配置好的kubectl,包含kubeconfig文件
1.下载helm
wget https://storage.googleapis.com/kubernetes-helm/helm-v2.6.2-darwin-amd64.tar.gz
2.初始化tiller
helm init
#init将获取本地默认的kubeconfig文件,然后在k8s上面部署 deploy/tiller-deploy
想要测试新功能使用最新版本,只需要后面加上--canary-image参数
除了通过helm init之外tiller也可以使用out-of-cluster的部署方式
./tiller #需要配置kubeconfig
3.更新本地
helm repo update #从repo里面更新chart
4.安装服务
例如安装prometheus
helm install stable/prometheus --name=prometheus
5.查看安装的服务
helm ls
6.删除已经安装的服务
helm delete prometheus
7.更新tiller
export TILLER_TAG=v2.0.0-beta.1
kubectl --namespace=kube-system set image deployments/tiller-deploy tiller=gcr.io/kubernetes-helm/tiller:$TILLER_TAG
deployment "tiller-deploy" image updated
TILLER_TAG=canary 将设置为最新image
具体helm命令的用法请参考官方文档,包含组件的概念上面也已经做了介绍,命令多用help看一下就OK,链接https://docs.helm.sh/helm/helm/
学习的重点就是自己创建想要的chart 内容比较多,不在赘述
添加 repo helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com/
查找helm search incubator