K8s之helm工具使用举例

发布时间:2023-09-21 点击:99
云计算
关于安装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 <none> <none> #可以登录数据库进行测试[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

office办公软件多少钱 office办公软件收费标准
法人收的的验证短信操作的时候提示以下情况
企业做网站干扰抓取的问题
多台云服务器配置
朝鲜发射两枚导弹吓坏众人?朝鲜发射两枚导弹竟然是这样的?
网上怎么申请域名
腾讯云的服务器和数据库费用不一样
平安科技公司云服务器怎么样