轻松完爆 Helm chart
目录
一、chart 介绍
kubernetes(k8s) 管理的对象叫做资源(比如 pod)。helm 作为 k8s 生态工具之一,将互相关联的多个资源统一打包成一个整体,交给 k8s 去运行。这个被打包的整体就叫做 chart。可以把 chart 跟程序的源码包做类比。
有了 chart,我们操作的对象不再是单个资源,而是实体。比如我们需要一个有负载均衡能力的 web 服务,如果不使用 chart,我们需要写 deployment,service 和 ingress 才可以让集群外部的客户使用。但是如果使用 chart,直接使用一个 install 命令便可以实现相同的功能。
二、chart 使用
2.1 chart 搜索
# helm search repo chart_name(可以只是关键字,比如 nginx) $ helm search repo nginx NAME CHART VERSION APP VERSION DESCRIPTION aliyun/nginx-ingress 0.9.5 0.10.2 An nginx Ingress controller that uses ConfigMap... aliyun/nginx-lego 0.3.1 Chart for nginx-ingress-controller and kube-lego stable/nginx-ingress 1.41.3 v0.34.1 DEPRECATED! An nginx Ingress controller that us... stable/nginx-ldapauth-proxy 0.1.6 1.13.5 DEPRECATED - nginx proxy with ldapauth stable/nginx-lego 0.3.1 Chart for nginx-ingress-controller and kube-lego aliyun/gcloud-endpoints 0.1.0 Develop, deploy, protect and monitor your APIs ... stable/gcloud-endpoints 0.1.2 1 DEPRECATED Develop, deploy, protect and monitor...
2.2 chart下载
# helm pull chart_name(名称须具体,例 google/nginx-ingress。不能只是关键字,否则下载不到 ) $ helm pull aliyun/nginx-ingress $ ll 总用量 16 -rw-r--r-- 1 root root 76 6月 12 14:50 index.yaml -rw-r--r-- 1 root root 10830 6月 12 15:40 nginx-ingress-0.9.5.tgz
2.3 chart自建
除了从远程 helm 仓库中获取第三方 chart 外,你也可以创建自己的 chart。
$ helm create mychart $ ll 总用量 0 drwxr-xr-x 4 root root 93 6月 12 15:40 mychart
2.4 chart 打包
如果你想上传自建的 chart 到私有仓库中去,需要先将自建的 chart 打包。
$ helm package mychart Successfully packaged chart and saved it to: /root/helm/repo/mychart-0.1.0.tgz
2.5 chart 上传
上传 chart 需要 4 个步骤:
1)自建私有仓库
2)生成或更新 chart 索引文件
3)上传 chart 和索引文件
4)更新本地 chart 仓库
2.5.1 自建私有仓库
关于如何创建私有仓库,可以参考轻松完爆Helm私有仓库内容。
2.5.2 生成或更新 chart 索引文件
$ helm repo index /root/helm/repo $ ll 总用量 8 -rw-r--r-- 1 root root 392 6月 12 15:46 index.yaml drwxr-xr-x 4 root root 93 6月 12 15:40 mychart -rw-r--r-- 1 root root 2801 6月 12 15:41 mychart-0.1.0.tgz
索引文件 index.yaml
内容如下,由内容可知,已经更新了准备上传的 chart 信息。
2.5.3 上传 chart 和索引文件
登录私有仓库,上传 chart 和索引文件 index.yaml。
2.5.4 更新本地 chart 仓库
$ helm repo update # 更新本地 chart 仓库,跟远程仓库的 chart 保持同步 Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "minio" chart repository ...Successfully got an update from the "aliyun" chart repository ...Successfully got an update from the "jetstack" chart repository ...Successfully got an update from the "stable" chart repository Update Complete. ⎈ Happy Helming!⎈
更新本地 chart 仓库之后,就可以检索到刚上传的自定义 chart 了。
$ helm search repo mychart NAME CHART VERSION APP VERSION DESCRIPTION minio/mychart 0.1.0 1.16.0 A Helm chart for Kubernetes
自此,整个 helm chart 被轻松完爆。
*************** 当你发现自己的才华撑不起野心时,就请安静下来学习吧!***************
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律