Helm安装及配置

匿名 (未验证) 提交于 2019-12-02 23:57:01

一、概述

helm是kubernetes的包管理工具,用于简化部署和管理 Kubernetes 应用。用来管理charts――预先配置好的安装包资源。
Helm和charts的主要作用:
应用程序封装
版本管理
依赖检查
便于应用程序分发
helm是一个C/S框架的软件,helm相当于一个客户端,tiller是一个服务端
Helm CLI 是 Helm 客户端,可以在本地执行
Tiller 是服务器端组件,在 Kubernetes 群集上运行,并管理 Kubernetes 应用程序的生命周期
Repository 是 Chart 仓库,Helm客户端通过HTTP协议来访问仓库中Chart的索引文件和压缩包
Helm工作原理

Chart Install 过程:
Helm从指定的目录或者tgz文件中解析出Chart结构信息
Helm将指定的Chart结构和Values信息通过gRPC传递给Tiller
Tiller根据Chart和Values生成一个Release
Tiller将Release发送给Kubernetes用于生成Release

Chart Update过程:
Helm从指定的目录或者tgz文件中解析出Chart结构信息
Helm将要更新的Release的名称和Chart结构,Values信息传递给Tiller
Tiller生成Release并更新指定名称的Release的History
Tiller将Release发送给Kubernetes用于更新Release

Chart Rollback过程:
Helm将要回滚的Release的名称传递给Tiller
Tiller根据Release的名称查找History
Tiller从History中获取上一个Release
Tiller将上一个Release发送给Kubernetes用于替换当前Release

二、安装Helm客户端

curl -LO https://www.cnrancher.com/download/helm/helm-v2.14.3-linux-amd64.tar.gz tar -xvf helm-v2.14.3-linux-amd64.tar.gz sudo cp linux-amd64/helm /usr/local/bin/

查看版本信息

$ helm version Client: &version.Version{SemVer:"v2.14.3", GitCommit:"0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState:"clean"} Error: could not find tiller

三、安装tiller Server

创建服务账户

kubectl -n kube-system create serviceaccount tiller kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller

初始化tiller
注意:离线环境中需要显式指明 --tiller-image,并且需要与helm client的版本一致,如上面的v2.14.3,下面通过环境变量方式自动选择合适版本

helm init --service-account tiller --tiller-image rancher/tiller:v2.14.3 --skip-refresh   $ kubectl get pods --namespace kube-system  | grep tiller tiller-deploy-65cff4d7bc-g9gzm            1/1     Running     0          11d
$ helm version Client: &version.Version{SemVer:"v2.14.3", GitCommit:"0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState:"clean"} Server: &version.Version{SemVer:"v2.14.3", GitCommit:"0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState:"clean"}
转载请标明出处:Helm安装及配置
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!