k8s之Helm3安装

Helm

Helm官方站点

官网:https://v3.helm.sh/zh/docs/

Helm官方的chart站点:https://hub.kubeapps.com/

Helm文档:https://www.qikqiak.com/k8s-book/docs/42.Helm%E5%AE%89%E8%A3%85.html

Helm项目地址:https://github.com/helm/helm/releases

Helm简介

​ Helm是kubernetes的包管理工具,相当于linux环境下的yum/apg-get命令,Helm的首要目标一直是让 从零到 Kubernetes” 变得轻松。无论是 运维、 开发人员、经验丰富的 DevOps工程师,还是刚刚入门的学生, Helm 的 目标是让大家在两分钟内就可以在 Kubernetes 上安装应用程序。helm也是go语言开发的

​ Helm 可以解决的问题:①运维人员写好资源文件模板,②交给开发人员填写参数即可

Helm概念
  • helm :命令行客户端工具,主要用于 Kubernetes 应用 中的 chart 的创建、打包、发布和管理
  • Chart: helm 程序包 ,一系列用于描述 k8s 资源相关文件的集合 ,比方说我们部署nginx,需要deployment的yaml,需要service的yaml,这两个清单文件就是一个helm程序包,在k8s中把这些yaml清单文件叫做chart图表
  • vlues.yaml文件为模板中的文件赋值,可以实现我们自定义安装,如果是chart开发者需要自定义模板,如果是chart使用者只需要修改values.yaml即可
  • repository:存放chart图表的仓库,提供部署k8s应用程序需要的那些yaml清单文件
  • Release:基于 Chart 的部署实体,一个 chart 被 Helm 运行后将会生成对应的一个 release ;将在k8s 中创建出真实运行的资源对象。整体流程:chart--->通过values.yaml这个文件赋值-->生成release实例

​ helm把 kubernetes 资源打包到一个 chart 中,制作并完成各个 chart 和 chart 本身依赖关系并利用chart 仓库实现对外分发,而 helm 还可通过 values.yaml 文件完成可配置的发布,如果chart版本更新了, helm自动支持滚更更新机制,还可以一键回滚,但是不是适合在生产环境使用,除非具有定义自制chart 的能力

Helm与kubernetes兼容性表

查询链接:https://helm.sh/zh/docs/topics/version_skew/

Helm 版本 支持的 Kubernetes 版本
3.7.x 1.22.x - 1.19.x
3.6.x 1.21.x - 1.18.x
3.5.x 1.20.x - 1.17.x
3.4.x 1.19.x - 1.16.x
3.3.x 1.18.x - 1.15.x
3.2.x 1.18.x - 1.15.x
3.1.x 1.17.x - 1.14.x
3.0.x 1.16.x - 1.13.x
2.16.x 1.16.x - 1.15.x
2.15.x 1.15.x - 1.14.x
2.14.x 1.14.x - 1.13.x
2.13.x 1.13.x - 1.12.x
2.12.x 1.12.x - 1.11.x
2.11.x 1.11.x - 1.10.x
2.10.x 1.10.x - 1.9.x
2.9.x 1.10.x - 1.9.x
2.8.x 1.9.x - 1.8.x
2.7.x 1.8.x - 1.7.x
2.6.x 1.7.x - 1.6.x
2.5.x 1.6.x - 1.5.x
2.4.x 1.6.x - 1.5.x
2.3.x 1.5.x - 1.4.x
2.2.x 1.5.x - 1.4.x
2.1.x 1.5.x - 1.4.x
2.0.x 1.4.x - 1.3.x

Helm安装

# 下载安装包
	wget https://get.helm.sh/helm-v3.7.1-linux-amd64.tar.gz

# 安装
[root@k8s-master-1 ~]# tar -zxf helm-v3.7.1-linux-amd64.tar.gz 
[root@k8s-master-1 ~]# mv linux-amd64/helm /usr/bin
[root@k8s-master-1 ~]# rm -rf linux-amd64/
[root@k8s-master-1 ~]# helm version
version.BuildInfo{Version:"v3.7.1", GitCommit:"1d11fcb5d3f3bf00dbe6fe31b8412839a96b3dc4", GitTreeState:"clean", GoVersion:"go1.16.9"}

配置国内源

  1. 阿里云仓库(https://kubernetes.oss cn hangzhou.aliyuncs.com/charts)
  2. 官方仓库(https://hub.kubeapps.com/charts/incubator )官方 chart 仓库,国内 可能无法访问。
  3. 微软仓库(http://mirror.azure.cn/kubernetes/charts/ charts/)这个仓库推荐,基本上官网有的 chart这里都有国内可能无法访问。
# 添加阿里云的 chart 仓库
[root@k8s-master-1 ~]# helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
"aliyun" has been added to your repositories

# 更新chart仓库
[root@k8s-master-1 ~]# helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "aliyun" chart repository
Update Complete. ⎈Happy Helming!# 查看配置的 chart 仓库有哪些
[root@k8s-master-1 ~]# helm repo list
NAME  	URL                                                   
aliyun	https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

# 从指定 chart 仓库地址搜索 chart
[root@k8s-master-1 ~]# helm search repo aliyun | grep redis
aliyun/redis                  	1.1.15       	4.0.8        	Open source, advanced key-value store. It is of...
aliyun/redis-ha               	2.0.1        	             	Highly available Redis cluster with multiple se...

你可能感兴趣的:(Kubernetes,kubernetes)