2024年K8S的StorageClass实战(NFS)(1),中级java开发工程师面试题
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。最新整理面试题上述的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题最新整理电子书最新整理大厂面试文档以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视
总结
其他的内容都可以按照路线图里面整理出来的知识点逐一去熟悉,学习,消化,不建议你去看书学习,最好是多看一些视频,把不懂地方反复看,学习了一节视频内容第二天一定要去复习,并总结成思维导图,形成树状知识网络结构,方便日后复习。
这里还有一份很不错的《Java基础核心总结笔记》,特意跟大家分享出来
目录:
部分内容截图:
在K8S环境,当pod需要存储空间时,StorageClass比PV更灵活和方便,官方文档地址:https://kubernetes.io/docs/concepts/storage/persistent-volumes/
本次实战
本次实战的目标是快速创建NFS类型的StorageClass,并验证该StorageClass正常可用,全文由以下部分组成:
-
创建StorageClass;
-
通过helm下载tomcat的chart;
-
修改chart,让tomcat使用刚才创建的StorageClass;
-
在NFS服务端检查文件夹已正常写入;
环境信息和准备工作
以下是创建StorageClass必备的环境信息:
-
Kubernetes:1.15
-
Kubernetes宿主机:CentOS Linux release 7.7.1908
-
NFS服务:IP地址192.168.50.135,文件夹/volume1/nfs-storageclass-test
参考文章
如果您想了解Kubernetes和NFS搭建的更多信息,请参考:
如果您已经准备好了kubernetes和NFS,咱们就开始实战吧;
如何创建StorageClass
把创建StorageClass要做的的事情理清楚:
-
创建namespace,这里用hello-storageclass(您也可以选用自己喜欢的);
-
创建rbac:因为StorageClass有对应的pod要运行,每个pod都有自己的身份即serviceaccount,而这个serviceaccount是和某个角色绑定的,所以要创建:serviceaccount、rule、rolebinding;
-
创建provisioner,即关联NFS的工作类,负责给PVC提供存储资源,这里用的是nfs-client-provisioner;
-
创建StorageClass,所有需要PVC通过该StorageClass即可获得存储空间;
接下来请SSH登录kubernetes环境,按照上述步骤操作;
创建StorageClass
-
创建namespace:kubectl create namespace hello-storageclass
-
创建rbac的脚本直接从我的github下载吧,地址:https://raw.githubusercontent.com/zq2599/blog_demos/master/storageclass-demo/rbac.yaml
-
下载的rbac.yaml文件中,namespace是kafka-test,现在要替换成hello-storages,执行命令替换:sed -i ‘s/kafka-test/hello-storageclass/’ rbac.yaml
-
创建rbac:kubectl apply -f rbac.yaml
-
创建provisioner的脚本也从我的github下载,地址:https://raw.githubusercontent.com/zq2599/blog_demos/master/storageclass-demo/deployment.yaml
-
下载的deployment.yaml文件中,namespace是kafka-test,现在要替换成hello-storages,执行命令替换:sed -i ‘s/kafka-test/hello-storageclass/’ deployment.yaml
-
打开deployment.yaml,设置NFS参数,修改下图红框的四个参数,红框1和3都是NFS server地址,红框2和4都是NFS分配的文件夹目录,请您按照实际的NFS资源来设置:
-
创建provisioner:kubectl apply -f deployment.yaml
-
强烈建议用kubectl describe pod xxxxxx -n hello-storageclass和kubectl logs -f xxxxxx -n hello-storageclass命令查看provisioner是否成功创建,下图是我曾经遇到的问题,NFS服务端权限设置有误导致NFS无法使用:
-
创建StorageClass的脚本也从我的github下载,地址:https://raw.githubusercontent.com/zq2599/blog_demos/master/storageclass-demo/class.yaml
-
下载的class.yaml无需修改,直接使用:kubectl apply -f class.yaml
-
class.yaml中的StorageClass名为managed-nfs-storage,后面的PVC就用这个名字去申请存储空间;
-
用df命令来检查挂载情况,发现NFS的已经挂载到K8S宿主机:
- 至此,StorageClass已经就绪,K8S环境中的PVC可以申请使用了,接下来通过实战验证应用的pod能否使用StorageClass的存储空间;
准备工作
-
接下来的实战是通过helm在kubernetes部署tomcat,该tomcat所需的存储空间是通过StorageClass分配的,请您在kubernetes上准备好helm,我这里用的是2.16版本
-
helm的安装和使用请参考《部署和体验Helm(2.16.1版本)》
最后
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。
最新整理面试题
上述的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题
最新整理电子书
最新整理大厂面试文档
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**
更多推荐
所有评论(0)