一、helm简介

-
Helm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的yum。
-
Helm Chart是用来封装Kubernetes原生应用程序的一系列YAML文件。可以在你部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发。
-
对于应用发布者而言
-
通过Helm打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。
-
对于使用者而言
-
使用Helm后可以以简单的方式在Kubernetes上查找、安装、升级、回滚、卸载应用程序

二、部署helm
2.1 官网与资源
软件资源: Releases · helm/helm · GitHub
2.2部署helm
2.2.1 安装helm
[root@k8s-master ~]# mkdir helm
[root@k8s-master ~]# cd helm/
[root@k8s-master helm]# ls
helm-push_0.10.4_linux_amd64.tar.gz helm-v3.15.4-linux-amd64.tar.gz
[root@k8s-master helm]# tar zxf helm-v3.15.4-linux-amd64.tar.gz
[root@k8s-master helm]# ls
helm-push_0.10.4_linux_amd64.tar.gz helm-v3.15.4-linux-amd64.tar.gz linux-amd64
2.2.2 配置helm命令补齐

三、helm常用操作


2.3.1 查询官方应用中心
2.3.2 管理第三方repo源
-
阿里云仓库:https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
-
bitnami仓库: https://charts.bitnami.com/bitnami
#添加微软仓库
[root@k8s-master linux-amd64]# helm repo add microsoft http://mirror.azure.cn/kubernetes/charts/
"microsoft" has been added to your repositories
#添加阿里云仓库
[root@k8s-master linux-amd64]# helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
"aliyun" has been added to your repositories
#查看仓库信息
[root@k8s-master linux-amd64]# helm repo list
NAME URL
aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
microsoft http://mirror.azure.cn/kubernetes/charts/
#查看仓库存储helm清单


#删除第三方存储库

2.3.3 helm的使用方法
1 查找chart

2 查看chart信息

3 安装chart 包


2.3.4 安装项目前预定义项目选项
#拉取项目



[root@k8s-master nginx-ingress]# vim values.yaml
[root@k8s-master helm]# rm -fr nginx-ingress nginx-ingress-0.9.5.tgz



#上传项目所需要镜像到仓库

[root@k8s-master helm]# docker load -i nginx-1.27.1-debian-12-r2.tar
30f5b1069b7f: Loading layer 190.1MB/190.1MB
Loaded image: bitnami/nginx:1.27.1-debian-12-r2
[root@k8s-master helm]# docker images bitnami/nginx:1.27.1-debian-12-r2
REPOSITORY TAG IMAGE ID CREATED SIZE
bitnami/nginx 1.27.1-debian-12-r2 cb010dfc4462 7 weeks ago 185MB


#安装本地项目






#更新项目


#查看历史

#删除项目



四、构建helm中的chart包
4.1 Helm Chart目录结构

4.2 构建方法
[root@k8s-master timinglee]# vim Chart.yaml
[root@k8s-master timinglee]# vim values.yaml

#语法检测

#项目打包

#项目可以通过各种分享方式发方为任何人后部署即可




五、构建helm仓库
5.1 在harbor仓库中构建一个公开的项目

5.2 安装helm push插件
官方网址:https://github.com/chartmuseum/helm-push
5.2.1 在线安装
如果网络没问题情况下直接安装即可
[root@k8s-master helm]# dnf install git -y
[root@k8s-master helm]# helm plugin install https://github.com/chartmuseum/helm-push
5.2.2 离线安装

5.3 上传项目到仓库
5.3.1 添加仓库
#添加仓库时报错,因为我们用的是加密访问
#为helm添加证书
[root@k8s-master helm]# cp /etc/docker/certs.d/reg.timinglee.org/ca.crt /etc/pki/ca-trust/source/anchors/
#更新本地ca认证库
[root@k8s-master helm]# update-ca-trust
#再次添加仓库

5.3.2 上传本地项目
#命令执行格式
helm cm-push <项目名称> <仓库名称> -u admin -p lee
[root@k8s-master helm]# helm cm-push timinglee-0.1.0.tgz timinglee -u admin -p hyl
Pushing timinglee-0.1.0.tgz to timinglee...
Done.

#查看项目上传情况
#上传后数据未更新

#更新仓库

#再次查看

#安装项目

六、helm的版本迭代
6.1 从新构建新版本项目
[root@k8s-master helm]# vim timinglee/Chart.yaml

[root@k8s-master helm]# vim timinglee/values.yaml


6.2 上传项目到helm仓库中


6.3 更新应用

#显示项目版本


#2.应用回滚




1354

被折叠的 条评论
为什么被折叠?



