k8s-持久化存储,粗浅学习

k8s存储类:storageclass

Kubernetes提供一种自动创建PV的机制,叫StorageClass ,它的作用就是创建PV的模板。k8s集群管理员通过创建storageclass可以动态生成一个存储卷pv供k8s pvc使用。

每个StorageClass都包含字段provisioner,parameters和reclaimPolicy。

具体来说,StorageClass会定义以下两部分:

1、PV的属性 ,比如存储的大小、类型等;

2、创建这种PV需要使用到的存储插件,比如Ceph、NFS等

有了这两部分信息,Kubernetes就能够根据用户提交的PVC,找到对应的StorageClass,然后Kubernetes就会调用 StorageClass声明的存储插件,创建出需要的PV。

volumeClaimTemplates实现了pvc的自动化,StorageClass实现了pv的自动化

每个 StorageClass 都包含 provisioner、parameters 和 reclaimPolicy 字段, 这些字段会在 StorageClass 需要动态分配 PersistentVolume 时会使用到

StorageClass对象的命名很重要,用户使用这个命名来请求生成一个特定的类。当创建 StorageClass对象时,管理员设置 StorageClass 对象的命名和其他参数,一旦创建了对象就不能再对其更新

管理员可以为没有申请绑定到特定 StorageClass 的 PVC 指定一个默认的存储类

要使用 StorageClass,我们就得安装对应的自动配置程序,比如我们这里存储后端使用的是 nfs,那么我们就需要使用到一个 nfs-client 的自动配置程序,我们也叫它 Provisioner(制备器),这个程序使我们已经配置好的 nfs 服务器,来自动创建持久卷,也就是自动帮我们创建 PV。

**搭建StorageClass+NFS,大致有以下几个步骤: **

1.创建一个可用的NFS Serve(实际存储文件的空间)

2.创建Service Account 这是用来管控NFS provisioner在k8s集群中运行的权限

3.创建StorageClass 负责建立PVC并调用NFS provisioner进行预定的工作,并让PV与PVC建立管理

4.创建NFS provisioner(存储制备器)

1)每个 StorageClass 都有一个制备器(Provisioner)用来决定使用哪个卷插件制备 PV。 该字段必须指定。

2)主要有两个功能

一个是在NFS共享目录下创建挂载点(volume)

另一个则是建了PV并将PV与NFS的挂载点建立关联

安装nfs provisioner,用于配合存储类动态生成pv

创建运行nfs-provisioner需要的sa账号

vim /root/newfs/sa.yml

cd /root/newfs

执行 kubectl apply -f sa.yml

后台持久运行nfs: systemctl enable --now nfs (详情请看持久化存储上一章中的nfs)

重新加载 NFS 共享配置,并输出详细日志:exportfs -arv

创建storageclass,动态供给pv

vim provisioner.yml​​​​​​​

执行kubectl apply -f provisioner.yml

vim storage.yml

kubectl apply -f storage.yml

vim pvc.yaml

kubectl apply -f pvc.yaml

kubectl get pv

kubectl get pvc

vim pod.yml

在共享目录创建成功

验证写入成功

相关推荐
yuniko-n18 分钟前
【Java】字符串相关坑点
java·开发语言·python
m4Rk_18 分钟前
【论文阅读】Agent 记忆机制(91):THEANINE——不删除过时记忆,让 Agent 记住事情是如何变化的
论文阅读·人工智能·学习·开源·github
Terra.K20 分钟前
Spring AI day1(SSE+AI)
java·人工智能·spring·springai
斑鸠喳喳22 分钟前
线程本地存储 ThreadLocal
java·后端
我命由我1234541 分钟前
Photoshop - Photoshop 面板和菜单
学习·职场和发展·产品运营·求职招聘·职场发展·产品经理·photoshop
一木 之林1 小时前
RAG开发学习总结:从 LangChain 入门到检索增强生成链路的全栈实战-4/6
人工智能·学习·计算机视觉·langchain
LHR_friendship1 小时前
HCIP课程全部内容
网络·笔记·学习·hcip·华为ensp
Wang's Blog1 小时前
Java框架 SpringCloud 快速入门: 服务拆分案例 Demo
java·开发语言·spring cloud
海绵宝宝转agent1 小时前
Pico 学习笔记 Harness 设计、历史压缩、三类目录与缓存复用
笔记·学习·缓存
DongQiShanRen2 小时前
裁决台账双向互校(上):名册与实物的第一道对账
java·linux·运维·数据库·人工智能·自然语言处理·数据挖掘