helm学习

简介: helm学习

引用案例:

学习连接:https://www.bilibili.com/video/BV12D4y1Y7Z7/?p=7&vd_source=e03131cedc959fdee0d1ea092e73fb24 (时间:06:16)
helm新建一个chart,然后删除templates里面的文件,重新编写一个,最后完成发布,更新,回滚动作

1,创建一个模版的chart包,删除原来的内容,自定义成我们的需要的内容,后面我们自定义部署的yanm文件
heml create nginx-chart
cd nginx-chart

values.yaml #清空所有默认定义的变量,后面我们根据需要自定义
rm -rf templates/* #删除原来所有默认的部署yaml文件,后面我们根据需要自定义

2,自定义的模版yaml文件

deployment.yaml

values.yaml

3 ##安装(新建)releae实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
[root@master test]# helm install nginx-release ./nginx-chart/
NAME: nginx-release
LAST DEPLOYED: Fri Oct 4 09:09:10 2024
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None

查看实例启动情况
helm list
kubectl get pods
查看svc
kubectl get pod,svc,ep
ep是service后端匹配的pod的地址

浏览器访问通过nodeport映射出来的服务
比如我的地址是:
http://192.168.17.102:30001/

查看并确认pod运行的版本
kubectl get pod nginx-deployment-5c8469b67f-cq959 -o yaml|grep image
输出结果包含:
image: nginx:1.17

模拟修改代码,对版本进行升级
修改values.yml文件中的版本号
imageTag: 1.20.0

查看helm有哪些release
helm release   

  1. 升级release实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
方法一:
helm upgrade release实例名 chart名 --set imageTag=1.19 #通过传递命令的方式进行升级,指定release名和chart名进行相关set设置的升级
方法二:
helm upgrade release实例名 chart名 -f /../mychart/values.yaml #通过指定yaml文件的方式进行升级,指定release名和chart名,相关的values.yaml文件进行升级
更新release实例
helm upgrade nginx-release nginx-chart -f nginx-chart/values.yaml
Release "nginx-release" has been upgraded. Happy Helming!
NAME: nginx-release
LAST DEPLOYED: Fri Oct 4 10:37:11 2024
NAMESPACE: default
STATUS: deployed
REVISION: 2
TEST SUITE: None

更新以后显示版本变化的有两个地方,上面的REVISION会变化,还有就是pod适用的镜像的版本也会变化
查看重新生成的pod名称
kubectl get pods
查看pod的image
kubectl get pod nginx-deployment-7dd78bf775-tz5mb -o yaml|grep image
输出结果包含:
image: nginx:1.20.0   

  1. 回滚release实例版本(将nginx的版本1.20.0回滚为1.17)

1
2
3
4
5
6
7
8
9
10
11
12
helm rollback release实例名 #指定release实例名,回滚到上一个版本
helm rollback release实例名 版本号 #注意版本号是release的版本号,不是镜像版本号

回滚后查看
helm list
release的版本是一个阿拉伯数字,不管是升级还是回滚,一直都是递增的
查看重新生成的pod名称
kubectl get pods
查看pod的image
kubectl get pod nginx-deployment-7dd78bf775-tz5mb -o yaml|grep image
输出的结果是版本回滚到了1.17
image: nginx:1.17   

[kod.lnybc.com)
[kod.lzxdjc.com)
[kod.zxbaoye.com)
[kod.jzxtyz.com)
[kod.cncs-epa.com)
[kod.xinwanheng.com)
[kod.20141212.com)

  1. 获取release的实力历史

1
2
3
helm history release实例名
示例:
helm history nginx-release   

相关文章
|
7月前
|
存储 Kubernetes Ubuntu
第一章 Helm 详细介绍
第一章 Helm 详细介绍
147 0
|
Kubernetes NoSQL 关系型数据库
通过helm部署gitlab服务
通过helm部署gitlab服务
|
Kubernetes 应用服务中间件 Linux
helm安装和使用-通过helm部署k8s应用
helm安装和使用-通过helm部署k8s应用
|
4月前
|
存储 Kubernetes 关系型数据库
Helm 简介:Kubernetes 的包管理器
Helm 简介:Kubernetes 的包管理器
125 2
|
4月前
|
Kubernetes 容器
在K8S中,helm是什么?如何使用?
在K8S中,helm是什么?如何使用?
|
7月前
|
Kubernetes 关系型数据库 数据库
使用 Helm 部署 Wikijs
使用 Helm 部署 Wikijs
|
Kubernetes 安全 容器
007_安装helm
007_安装helm
110 0
|
关系型数据库 MySQL Perl
入门Helm(2)
入门Helm(2)
85 2
|
存储 Kubernetes 容器
入门Helm
入门Helm
298 2
|
Kubernetes 关系型数据库 容器
Helm入门
Helm入门
268 0