最新K8S的StorageClass实战(NFS),java面试线程问题

最后

这份文档从构建一个键值数据库的关键架构入手,不仅带你建立起全局观,还帮你迅速抓住核心主线。除此之外,还会具体讲解数据结构、线程模型、网络框架、持久化、主从同步和切片集群等,帮你搞懂底层原理。相信这对于所有层次的Redis使用者都是一份非常完美的教程了。

image

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断!!!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

本次实战的目标是快速创建NFS类型的StorageClass,并验证该StorageClass正常可用,全文由以下部分组成:

  1. 创建StorageClass;

  2. 通过helm下载tomcat的chart;

  3. 修改chart,让tomcat使用刚才创建的StorageClass;

  4. 在NFS服务端检查文件夹已正常写入;

环境信息和准备工作

以下是创建StorageClass必备的环境信息:

  1. Kubernetes:1.15

  2. Kubernetes宿主机:CentOS Linux release 7.7.1908

  3. NFS服务:IP地址192.168.50.135,文件夹/volume1/nfs-storageclass-test

参考文章

如果您想了解Kubernetes和NFS搭建的更多信息,请参考:

  1. 《kubespray2.11安装kubernetes1.15》

  2. 《Ubuntu16环境安装和使用NFS》

  3. 《K8S使用群晖DS218+的NFS》

如果您已经准备好了kubernetes和NFS,咱们就开始实战吧;

如何创建StorageClass

把创建StorageClass要做的的事情理清楚:

  1. 创建namespace,这里用hello-storageclass(您也可以选用自己喜欢的);

  2. 创建rbac:因为StorageClass有对应的pod要运行,每个pod都有自己的身份即serviceaccount,而这个serviceaccount是和某个角色绑定的,所以要创建:serviceaccount、rule、rolebinding;

  3. 创建provisioner,即关联NFS的工作类,负责给PVC提供存储资源,这里用的是nfs-client-provisioner;

  4. 创建StorageClass,所有需要PVC通过该StorageClass即可获得存储空间;

接下来请SSH登录kubernetes环境,按照上述步骤操作;

创建StorageClass

  1. 创建namespace:kubectl create namespace hello-storageclass

  2. 创建rbac的脚本直接从我的github下载吧,地址:https://raw.githubusercontent.com/zq2599/blog_demos/master/storageclass-demo/rbac.yaml

  3. 下载的rbac.yaml文件中,namespace是kafka-test,现在要替换成hello-storages,执行命令替换:sed -i ‘s/kafka-test/hello-storageclass/’ rbac.yaml

  4. 创建rbac:kubectl apply -f rbac.yaml

  5. 创建provisioner的脚本也从我的github下载,地址:https://raw.githubusercontent.com/zq2599/blog_demos/master/storageclass-demo/deployment.yaml

  6. 下载的deployment.yaml文件中,namespace是kafka-test,现在要替换成hello-storages,执行命令替换:sed -i ‘s/kafka-test/hello-storageclass/’ deployment.yaml

  7. 打开deployment.yaml,设置NFS参数,修改下图红框的四个参数,红框1和3都是NFS server地址,红框2和4都是NFS分配的文件夹目录,请您按照实际的NFS资源来设置:

在这里插入图片描述

  1. 创建provisioner:kubectl apply -f deployment.yaml

  2. 强烈建议用kubectl describe pod xxxxxx -n hello-storageclass和kubectl logs -f xxxxxx -n hello-storageclass命令查看provisioner是否成功创建,下图是我曾经遇到的问题,NFS服务端权限设置有误导致NFS无法使用:

在这里插入图片描述

  1. 创建StorageClass的脚本也从我的github下载,地址:https://raw.githubusercontent.com/zq2599/blog_demos/master/storageclass-demo/class.yaml

  2. 下载的class.yaml无需修改,直接使用:kubectl apply -f class.yaml

  3. class.yaml中的StorageClass名为managed-nfs-storage,后面的PVC就用这个名字去申请存储空间;

  4. 用df命令来检查挂载情况,发现NFS的已经挂载到K8S宿主机:

在这里插入图片描述

  1. 至此,StorageClass已经就绪,K8S环境中的PVC可以申请使用了,接下来通过实战验证应用的pod能否使用StorageClass的存储空间;

准备工作

  1. 接下来的实战是通过helm在kubernetes部署tomcat,该tomcat所需的存储空间是通过StorageClass分配的,请您在kubernetes上准备好helm,我这里用的是2.16版本

  2. helm的安装和使用请参考《部署和体验Helm(2.16.1版本)》

tomcat使用StorageClass实战

  1. 增加helm仓库(带有tomcat的仓库):helm repo add bitnami https://charts.bitnami.com/bitnami

  2. 下载tomcat的chart:helm fetch bitnami/tomcat

最后

image.png

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

ps://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**

需要这份系统化的资料的朋友,可以点击这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值