K8s之helm工具使用举例
发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,关于安装helm工具,可以参考博文:k8s之安装配置Helm工具这篇博文仅仅是做一个简单的笔记。整理的不怎么到位,还请见谅。一、helm支持的四种安装方法安装仓库中的chart包,命令举例:helm
千家信息网最后更新 2024年11月26日K8s之helm工具使用举例
关于安装helm工具,可以参考博文:k8s之安装配置Helm工具
这篇博文仅仅是做一个简单的笔记。整理的不怎么到位,还请见谅。
一、helm支持的四种安装方法
- 安装仓库中的chart包,命令举例:helm install stable/xxx;
- 通过tar包安装,命令举例:helm install xxx-1.tgz(不推荐使用);
- 通过chart本地目录安装,命令举例:helm install xxx/xxx(一般是使用helm fetch stable/xxxxx 下载相应的模板,然后使用tar zxf 解压,修改解压后的目录中的valumes.yaml文件中的值,就是自定义服务了,这种方式比较常用);
- 通过URL安装,不太常用,命令举例:helm install https://xxxx/charts/xxx-1.gz 。
二、自定义Chart包举例
[root@master ~]# helm create testchart #创建testchar包#如果没有"tree"命令,可以使用"yum -y install tree"进行安装[root@master ~]# tree -C testchart/ #可以看到生成的目录下各种模板都有了,根据业务需求进行更改即可testchart/├── charts├── Chart.yaml├── templates│ ├── deployment.yaml│ ├── _helpers.tpl│ ├── ingress.yaml│ ├── NOTES.txt│ ├── service.yaml│ └── tests│ └── test-connection.yaml└── values.yaml[root@master ~]# helm install testchart/ --dry-run --debug#"--dry-run":模拟安装;"--debug" :检测输出#执行上述命令后,即可输出该目录模板的yaml文件内容[root@master ~]# helm lint testchart/ #对该目录的内容进行语法检测,testchart是目录名==> Linting testchart/[INFO] Chart.yaml: icon is recommended1 chart(s) linted, no failures
附加:https://hub.helm.sh/ ,这是一个helm模板仓库的网站,上面有大量的helm模板,可以自行查看。
三、运行一个MySQL服务进行示例
1、部署NFS服务
[root@master ~]# yum -y install nfs-utils[root@master ~]# vim /etc/exports/nfsdata *(rw,sync,no_root_squash)[root@master ~]# systemctl start rpcbind[root@master ~]# systemctl start nfs-server[root@master ~]# showmount -eExport list for master:/nfsdata *
2、创建一个PV
[root@master ~]# vim mysql-pv.yaml #编写yaml文件apiVersion: v1kind: PersistentVolumemetadata: name: mysql-pvspec: accessModes: - ReadWriteOnce capacity: storage: 8Gi persistentVolumeReclaimPolicy: Retain nfs: path: /nfsdata/mysql-pv #指定本地的挂载目录 server: 192.168.20.6[root@master ~]# mkdir -p /nfsdata/mysql-pv #创建nfs的本地目录[root@master ~]# kubectl apply -f mysql-pv.yaml #执行yaml文件[root@master ~]# kubectl get pv #确定pv状态正常NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGEmysql-pv 8Gi RWO Retain Available 73s#状态为"Available"表示pv正常
3、helm部署MySQL
[root@master ~]# helm install stable/mysql --set mysqlRootPassword=123.com -n test-mysql#在线安装MySQL,并设置mysql的root密码为123.com,"-n"表示指定其名称#查看其pod[root@master ~]# helm list #使用helm查看NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACEtest-mysql 1 Sun Dec 1 21:22:56 2019 DEPLOYED mysql-0.3.5 default [root@master ~]# kubectl get pod -o wide #查看mysql所对应的podNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATEStest-mysql-mysql-dfb9b6944-4kmgv 1/1 Running 0 9m16s 10.244.2.2 node02 #可以登录数据库进行测试[root@master ~]# kubectl exec -it test-mysql-mysql-dfb9b6944-4kmgv -- mysql -uroot -p123.com
当install安装后,会输出一些提示信息,其中就包括了查看MySQL数据库密码的命令,如果没有使用"--set"命令设置数据库的root密码,那么可以通过此命令查看出默认的数据库root与用户密码,提示命令如下:
也可以通过以下命令查看到关于test-mysql实例的详细状态信息
[root@master ~]# helm status test-mysql #查看test-mysql的实例信息
在线升级MySQL镜像操作
[root@master ~]# helm upgrade --set imageTag=5.7.16 test-mysql stable/mysql#其中test-mysql是实例名称;# 还是需要指定初次运行时指定的stable/mysql文件,如果初次运行时指定的是目录,那么这里就换成目录#验证镜像是否更新成功[root@master ~]# kubectl describe pod test-mysql-mysql-68484cd8db-59wm5
上述命令执行后,输出的结果如下(可以看到镜像的版本已经更新):
[root@master ~]# helm list #再次查看实例,可以发现"REVISION"字段为2,而初次创建实例时,该列为1,#每更新一次,该数值就会+1.NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACEtest-mysql 2 Sun Dec 1 21:53:00 2019 DEPLOYED mysql-0.3.5 default [root@master ~]# helm history test-mysql #查看该实例的历史版本REVISION UPDATED STATUS CHART DESCRIPTION 1 Sun Dec 1 21:22:56 2019 SUPERSEDED mysql-0.3.5 Install complete2 Sun Dec 1 21:53:00 2019 DEPLOYED mysql-0.3.5 Upgrade complete
进行test-mysql实例的版本回滚
[root@master ~]# helm rollback test-mysql 1 #回滚到版本1Rollback was a success.[root@master ~]# helm list #再次查看,可以看到"REVISION"的值变成了3NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACEtest-mysql 3 Sun Dec 1 22:12:25 2019 DEPLOYED mysql-0.3.5 default #查看MySQL对应的容器详细信息[root@master ~]# kubectl describe pod test-mysql-mysql-dfb9b6944-8hfj4
返回的信息如下,可以看到镜像的版本已经回滚到初次创建的版本了,如下:
-------- 本文至此结束,感谢阅读 --------
命令
目录
实例
版本
信息
文件
模板
密码
数据
数据库
镜像
输出
状态
更新
服务
运行
工具
仓库
内容
再次
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
现代网络技术 pdf
网络安全应急预案讲话稿
jsp数据库表格数据
中国用的服务器安全吗
阿里云数据库报价
网络安全 保密 法院
网络安全检查确认单
怎样进入网易版我的世界服务器
天河区软件开发技校职中
守护网络安全从我做起
计算机网络安全的文献综述
召开网络安全宣传工作会
数据库技术图
mysql数据库定时删除
网络安全维护工作的公司
ftp服务器中视频在线播放
特殊时期网络安全保障
小说网站数据库源代码
数据库技术的数据模型有哪些
繁昌天气预报软件开发
上海网络技术开发哪个正规
滁州回收服务器优选企业
单位与网站网络安全协议书
计算机网络数据库系统应用范围
如何看数据库后台异常
方舟服务器龙会饿死吗
服务器控件用来显示图片的是
网络技术传媒考什么
tag 软件开发
如何设计数据库主键自增