K8s之helm工具使用举例
发表于:2025-02-12 作者:千家信息网编辑
千家信息网最后更新 2025年02月12日,关于安装helm工具,可以参考博文:k8s之安装配置Helm工具这篇博文仅仅是做一个简单的笔记。整理的不怎么到位,还请见谅。一、helm支持的四种安装方法安装仓库中的chart包,命令举例:helm
千家信息网最后更新 2025年02月12日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安全错误
数据库的锁怎样保障安全
邮件服务器需要备案吗
r载入文本数据库
服务器警报AL62
细胞涂片数据库
数据库选键怎么找
国防网络安全支出
网络安全的苦处有哪些
数据库重复记录中取最新
它和本地服务器有什么区别
网络安全法 天极网
网络安全pPT开题10分钟
曙光服务器一声长响
谈论服务器安全问题论文
竹溪专业软件开发以客为尊
服务器宕机解决方案
网络技术坏处
税收分类软件开发
网络技术应用会考内容
旭日正鸿网络技术
阿里云服务器api
数据库前置库技术
中宏数据库优点
网络安全宣传工作开展
种质资源库数据库设计要求
山东省大学生网络安全中心
金蝶凭证数据库表名
网络安全龙头股票有哪些
授时服务器怎么设置
网络安全电视剧第一部
数据库用长连接还是短链接