网站改版建设公司,老网站用新域名,标识标牌制作,微信营销的方法有哪些目录
一、Helm 基本使⽤
1.1 搜索 chart 应⽤
1.2 部署 chart 应⽤
1.3 删除 chart 应⽤
1.4 定制参数部署应⽤
1.5 chart 应⽤升级
1.6 chart 应⽤回滚 一、Helm 基本使⽤
1.1 搜索 chart 应⽤
使⽤ helm search repo 关键字可以查看相关 charts#xff1a;
[…目录
一、Helm 基本使⽤
1.1 搜索 chart 应⽤
1.2 部署 chart 应⽤
1.3 删除 chart 应⽤
1.4 定制参数部署应⽤
1.5 chart 应⽤升级
1.6 chart 应⽤回滚 一、Helm 基本使⽤
1.1 搜索 chart 应⽤
使⽤ helm search repo 关键字可以查看相关 charts
[rootk8s-master1 ~]# helm search repo nginx
[rootk8s-master1 ~]# helm search repo mariadb1.2 部署 chart 应⽤ 部署⼀个 MySQL 5.7 的应⽤需要提前部署动态存储 nfs-provisionerstorage参考文章 【云原生 | Kubernetes 实战】13、K8s 常见的存储方案及具体应用场景分析下-CSDN博客
helm install stable/mysql --generate-name \
--set persistence.storageClassnfs \
--set mysqlRootPasswordQwe123456 \
--set livenessProbe.initialDelaySeconds150 \
--set readinessProbe.initialDelaySeconds150 \
--namespace default 由于我们的 Kubernetes 节点硬件配置较差MySQL 数据库启动的时间相对较 。为了防⽌在数据库还未完全启动成功探针就开始进⾏健康检查从⽽造成数据库检测失败⽽导致重启我们将 initialDelaySeconds 设置为 150 秒。这 样可以确保数据库有⾜够的时间来完成启动过程从⽽确保数据库能够正常运⾏。 livenessProbe⽤来检查容器是否还在运⾏如果 livenessProbe 失败 Kubernetes 会杀死容器。 readinessProbe⽤来检查容器是否准备好对外提供服务。只有当 Pod 中所有容器的readinessProbe 都成功时 。
检查部署的应⽤
[rootk8s-master1 ~]# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
busybox 1/1 Running 24 (56m ago) 24h 10.244.169.130 k8s-node2 none none
mysql-1704769258-b9db9dcd9-hv9gs 1/1 Running 0 3m23s 10.244.169.131 k8s-node2 none none
nfs-provisioner-564c9cfbf6-j8dwn 1/1 Running 0 20m 10.244.36.65 k8s-node1 none none访问数据库验证是否部署成功提前准备好 mysql 客户端
[rootk8s-master1 ~]# mysql -h 10.244.169.131 -uroot -pQwe1234561.3 删除 chart 应⽤ 如果需要删除刚才部署的 mysql release 可以通过 helm uninstall 命令也可以在卸载时指定 --keep-history 参数这样后期还可以回滚
[rootk8s-master1 ~]# helm ls
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
mysql-1704769258 default 1 2024-01-09 11:01:01.805963829 0800 CST deployed mysql-1.6.9 5.7.30 # 使⽤ --keep-history 记录 REVISON
[rootk8s-master1 ~]# helm uninstall mysql-1704769258 --keep-history
release mysql-1704769258 uninstalled# 查看历史记录
[rootk8s-master1 ~]# helm history mysql-1704769258
REVISION UPDATED STATUS CHART APP VERSION DESCRIPTION
1 Tue Jan 9 11:01:01 2024 uninstalled mysql-1.6.9 5.7.30 Uninstallation complete[rootk8s-master1 ~]# helm ls
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION# 使⽤ rollback 撤销删除操作回滚
[rootk8s-master1 ~]# helm rollback mysql-1704769258 1
Rollback was a success! Happy Helming![rootk8s-master1 ~]# helm ls
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
mysql-1704769258 default 2 2024-01-09 11:10:02.471047838 0800 CST deployed mysql-1.6.9 5.7.30 1.4 定制参数部署应⽤ 前⾯我们直接使⽤ helm install 命令安装的 chart 包通过 --set 进⾏参数传递。但我们如果有很多参数需要调整使⽤ --set 参数可能会变得⽐较复杂和不易管理。这时我们可以选择通过⼀个特定的 values.yaml 配置⽂件来传递参数。
准备 values.yaml 值参数⽂件
# 使用 helm show values 查看可以用到哪些参数
[rootk8s-master1 ~]# helm show values stable/mysql[rootk8s-master1 ~]# vim values-mysql.yaml
mysqlDatabase: helm
mysqlRootPassword: Qwe123456
persistence:enabled: true # 没有存储卷情况下改为falsestorageClass: nfs
livenessProbe:initialDelaySeconds: 150
readinessProbe:initialDelaySeconds: 150使⽤ -f values.yaml 安装应⽤并覆盖参数
[rootk8s-master1 ~]# helm install mysql-02 -f values-mysql.yaml stable/mysql[rootk8s-master1 ~]# helm ls
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
mysql-02 default 1 2024-01-09 15:11:36.612666187 0800 CST deployed mysql-1.6.9 5.7.30
mysql-1704769258 default 2 2024-01-09 11:10:02.471047838 0800 CST deployed mysql-1.6.9 5.7.30
查看该 release 传递的参数
[rootk8s-master1 ~]# helm get values mysql-02 查看部署的相关资源
[rootk8s-master1 ~]# kubectl get all -l releasemysql-021.5 chart 应⽤升级
Helm 可以使⽤ helm upgrade 命令来进⾏操作。更新的情况通常包括两种 当需要更新或修改已有的 release 的配置时 当应⽤的 chart 包有新的版本需要更新时。 Helm 升级会尽量将应⽤的影响降到最低。它只会对发⽣改动的部分进⾏更新⽽不是完全替换整个应⽤这就是我们所说的 最⼩侵⼊性 升级。
1、升级前先查看当前版本
查看当前使⽤的镜像版本mysql:5.7.30
[rootk8s-master1 ~]# kubectl get deployments -o wide -l releasemysql-02
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
mysql-02 1/1 1 1 10m mysql-02 mysql:5.7.30 appmysql-02,releasemysql-02
2、修改 value.yaml 值⽂件更新镜像的 tag然后进⾏升级
[rootk8s-master1 ~]# cat values-mysql.yaml
imageTag: 5.7.31
mysqlDatabase: helm
mysqlRootPassword: Qwe123456
persistence:enabled: true # 没有存储卷情况下改为falsestorageClass: nfs
livenessProbe:initialDelaySeconds: 150
readinessProbe:initialDelaySeconds: 150
3、执⾏升级操作
[rootk8s-master1 ~]# helm upgrade mysql-02 -f values-mysql.yaml stable/mysql
4、确认镜像版本是否升级成功
[rootk8s-master1 ~]# kubectl get deployments -o wide -l releasemysql-02
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
mysql-02 1/1 1 1 19m mysql-02 mysql:5.7.31 appmysql-02,releasemysql-02
5、查看数据库版本进⾏验证
[rootk8s-master1 ~]# kubectl get pods -o wide -l releasemysql-02
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
mysql-02-64675c8b68-lhjp9 1/1 Running 0 6m33s 10.244.36.67 k8s-node1 none none[rootk8s-master1 ~]# mysql -h 10.244.36.67 -uroot -pQwe123456 -e select version();1.6 chart 应⽤回滚
1、查看此前 mysql 的 charts 部署记录
[rootk8s-master1 ~]# helm history mysql-02
REVISION UPDATED STATUS CHART APP VERSION DESCRIPTION
1 Tue Jan 9 15:11:36 2024 superseded mysql-1.6.9 5.7.30 Install complete
2 Tue Jan 9 15:27:14 2024 deployed mysql-1.6.9 5.7.30 Upgrade complete
2、将 mysql 的 chart 回退到 REVISON 版本 1
[rootk8s-master1 ~]# helm rollback mysql-02 1 3、验证回滚结果
[rootk8s-master1 ~]# helm history mysql-02
REVISION UPDATED STATUS CHART APP VERSION DESCRIPTION
1 Tue Jan 9 15:11:36 2024 superseded mysql-1.6.9 5.7.30 Install complete
2 Tue Jan 9 15:27:14 2024 superseded mysql-1.6.9 5.7.30 Upgrade complete
3 Tue Jan 9 15:39:00 2024 deployed mysql-1.6.9 5.7.30 Rollback to 1 4、查看应⽤的镜像是否回退
[rootk8s-master1 ~]# kubectl get deployments -o wide -l releasemysql-02
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
mysql-02 1/1 1 1 35m mysql-02 mysql:5.7.30 appmysql-02,releasemysql-02 上一篇文章【Helm 及 Chart 快速入门】01、Helm 基本概念及仓库管理-CSDN博客