枕上诗书闲处好,门前风景雨来佳。这篇文章主要讲述K8SHelm包管理工具的简单介绍和安装方法相关的知识,希望能为你提供帮助。
一、Helm简介1.1 什么是Helm?
Helm 是 kubernetes 的包管理工具,相当于 linux 环境下的 yum/apg-get 命令。helm是使用Go语言开发的。
Helm 的首要目标一直是让“从零到 Kubernetes”变得轻松。无论是运维、开发人员、经验丰富的 DevOps工程师,还是刚刚入门的学生,Helm 的目标是让大家在两分钟内就可以在 Kubernetes 上安装应用程序。
Helm 可以解决的问题:运维人员写好资源文件模板,交给开发人员填写参数即可。
1.2 Helm 中的一些概念
(1)helm:
命令行客户端工具,主要用于 Kubernetes 应用中的 chart 的创建、打包、发布和管理。
(2) Chart:
helm 程序包,一系列用于描述 k8s 资源相关文件的集合,比方说我们部署 nginx,需要deployment的yaml,需要 service 的 yaml,这两个清单文件就是一个 helm 程序包,在 k8s 中把这些yaml 清单文件叫做 chart 图表。
vlues.yaml 文件为模板中的文件赋值,可以实现我们自定义安装
如果是 chart 开发者需要自定义模板,如果是 chart 使用者只需要修改 values.yaml 即可
repository:存放 chart 图表的仓库,提供部署 k8s 应用程序需要的那些 yaml 清单文件
chart--->
通过 values.yaml 这个文件赋值-->
生成 release 实例
helm 也是 go 语言开发的
【K8SHelm包管理工具的简单介绍和安装方法】(3) Release:
基于 Chart 的部署实体,一个 chart 被 Helm 运行后将会生成对应的一个 release;将在k8s 中创建出真实运行的资源对象
总结:
helm 把 kubernetes 资源打包到一个 chart 中,制作并完成各个 chart 和 chart 本身依赖关系并利用chart 仓库实现对外分发,而 helm 还可通过 values.yaml 文件完成可配置的发布,如果 chart 版本更新了,helm 自动支持滚更更新机制,还可以一键回滚,但是不是适合在生产环境使用,除非具有定义自制chart 的能力。
二、Helm 安装2.1 下载helm二进制包
[root@master Chart]# wget https://get.helm.sh/helm-v3.7.2-linux-amd64.tar.gz
[root@master Chart]# tar zxvf helm-v3.7.2-linux-amd64.tar.gz
[root@master Chart]# cd linux-amd64/
[root@master Chart]# cphelm/usr/local/bin/
2.2 查看helm版本
[root@master Chart]# helm -versio
version.BuildInfoVersion:"v3.6.3", GitCommit:"d506314abfb5d21419df8c7e7e68012379db2354", GitTreeState:"clean", GoVersion:"go1.16.5"
三、Helm使用
3.1 添加Chart仓库
添加阿里云chart仓库,其它chart仓库可参考
[root@master Chart]# helm repoadd aliyunhttps://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
"aliyun" has been added to your repositories
3.2 更新 chart 仓库
[root@master Chart]# helm repo update
3.3 查看配置的 chart仓库有哪些
[root@master Chart]# helmrepo list
NAMEURL
aliyunhttps://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
3.4 删除 chart 仓库地址
[root@master Chart]# helm repo remove aliyun
"aliyun" has been removed from your repositories
3.5 从指定 chart 仓库地址搜索 chart
类似yum查看仓库中有哪些包。
[root@master Chart]# helm search repo aliyun
3.6 查看 chart 信息
[root@master Chart]# helm show chart aliyun/memcached
3.7 下载 chart 包到本地
[root@master Chart]# helm pull aliyun/memcached
[root@master Chart]# ls
memcached-2.0.1.tgz
推荐阅读
- oracle拨云见日第7篇之Oracle10.2.0.1升级10.2.0.5.19
- 如何为项目构建高效的统一文件存储方案
- 重启数据库集群服务器( 主库服务器/备库服务器 )步骤
- OpenHarmony - ArkUI基于JSAPI实现的360°全景展示
- 养猪场自动化喂料线赛盘链条
- 跑通SpringBoot + dubbo + zookeeper
- 同步工具之Vector
- Python <算法思想集结;之抽丝剥茧聊动态规划
- 运维工具之saltstack