-
创建Local PV;
-
通过helm下载tomcat的chart;
-
修改chart,让tomcat使用刚才创建的Local PV;
-
部署tomcat;
-
在服务器上检查文件夹已正常写入;
参考文章
如果您想了解Kubernetes和helm的更多信息,请参考:
准备完毕,开始实操;
创建PV
-
在kubernetes工作节点创建文件夹给Local PV使用,我这是:/root/temp/202005/24/local-pv/
-
给上述文件夹读写权限:chmod -R a+r,a+w /root/temp/202005/24/local-pv
-
创建文件local-storage-pv.yaml,内容如下:
apiVersion: v1
kind: PersistentVolume
metadata:
name: example-pv
spec:
capacity:
storage: 10Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Delete
storageClassName: local-storage
local:
path: /root/temp/202005/24/local-pv
nodeAffinity:
required:
nodeSelectorTerms:
-
matchExpressions:
-
key: kubernetes.io/hostname
operator: In
values:
- node1
- 关于local-storage-pv.yaml有以下几点需要注意:
a. spec.storageClassName等于local-storage,后面的PVC中也要指定storageClassName等于local-storage;
b. spec.nodeAffinity是必填参数,用于建立Local PV和节点的关系,spec.nodeAffinity.required,nodeSelectorTerms.matchExpressions.values的值包含node1,表示该Local PV可以在主机名为node1的节点创建;
-
执行命令kubectl apply -f local-storage-pv.yaml,即可创建PV;
-
执行kubectl describe pv example-pv检查是否创建成功,如下图红框所示,此PV已经可用:
使用PV
接下来通过helm部署tomcat,并且让tomcat使用上述Local PV,请确保helm已经装好;
-
增加helm仓库(带有tomcat的仓库):helm repo add bitnami https://charts.bitnami.com/bitnami
-
下载tomcat的chart:helm fetch bitnami/tomcat
-
chart下载成功后,当前目录出现tomcat配置压缩包tomcat-6.2.4.tgz,解压:tar -zxvf tomcat-6.2.4.tgz
-
解压得到tomcat文件夹,进入后打开values.yaml文件,找到persistence节点,增加下图红框中的内容:
-
在tomcat目录下执行命令:helm install --name-template tomcat001 -f values.yaml . --namespace hello-storageclass
-
查看tomcat的pod和service情况,一切正常,并且端口映射到了宿主机的31835:
- 浏览器访问宿主机IP:31835,出现tomcat欢迎页面:
- 去目录/root/temp/202005/24/local-pv/检查磁盘使用情况,如下图,可见已分配给tomcat的PVC,并且写入了tomcat的基本数据:
- 再次查看Local PV,发现状态已经改变:
至此可以确认,tomcat用上了Local PV,数据被保存在宿主机的指定文件夹;
清理Local PV
- 一般来说,清理PV要做如下操作:
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!