这篇文章主要为大家介绍了k8s的包管理工具helm使用简介,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
Helm Helm是什么?
Helm是Kubernetes的软件包管理器,类似于yum、apt等包管理工具一样,Helm可以轻松的一键式部署出我们想要的应用。
编写Helm有三个主要目标:
1.轻松地实现从“从零到Kubernetes”;
2.提供与操作系统类似的软件包管理系统;
3.强调将应用程序部署到Kubernetes的安全性和可配置性。
Helm中一个很重要的元素:Chart
chart是Helm的软件包,是航海图的意思。chart是遵循chart规范的一组文件和目录,用于定义要安装到kubernetes中的资源。
chart中包含一个名为chart.yaml的文件,它描述了此chart的版本、名称、说明和作者的一些信息。
chart包含模板,即kubernetes清单。
chart中有一个提供默认配置的文件名字为values.yaml。此文件包含安装和升级期间可覆盖的参数,可以进行修改。
当你所见到一个chart的时候,它可能是一个压缩包,像这个样子ingress-nginx-4.0.17.tgz,也可以是一个目录ingress-nginx。
它的目录构造可能是这个样子:
[root@k8s-master01 ingress-nginx]
CHANGELOG.md Chart.yaml ci OWNERS README.md README.md.gotmpl templates values.yaml
当一个chart被安装时,它的流程可能是这个样子的:
- Helm读取chart
- 将定义的值发送到模板,生成kubernetes清单
- 清单被发送到kubernetes
- kubernetes根据清单在集群中创建请求的资源
使用Helm
Helm拥有v2和v3版本,这里就忽略v2了,因为我是用的是v3。
Helm提供了一个名为helm的命令行工具,我们使用它进行操作。
安装helm客户端注意点
安装helm时要注意一点,helm的版本要匹配kubernetes的版本,
具体详细版本对应参考:https://helm.sh/docs/topics/version_skew/
通过二进制的方式安装helm客户端:
详细说明或其他方式安装参考:https://helm.sh/docs/intro/install/官方文档
目前到我安装的时候helm的最新版本为3.9.2,而我的k8s集群版本为1.23.x是完全符合的。
下载二进制包
wget https://get.helm.sh/helm-v3.9.2-linux-amd64.tar.gz
解压二进制包
tar xf helm-v3.9.2-linux-amd64.tar.gz
将解压后目录中的helm目录移动到/usr/local/bin/helm下
mv linux-amd64/helm /usr/local/bin/helm
安装结束