首页 > 其他分享 >k8s PV和PVC以及StorageClass

k8s PV和PVC以及StorageClass

时间:2024-04-04 15:22:06浏览次数:20  
标签:PV 删除 PVC StorageClass 磁盘 Pod k8s

本地盘和云磁盘区别

本地盘不支持跨物理机迁移,云磁盘支持跨物理机迁移。

本地目录生命周期

emptyDir、downwardAPI、configMap、secret:kubelet创建本地目录,该目录会随着Pod的消亡而删除。
hostPath:本地目录一直存在。

PVC、PV和StorageClass关系

PVC是持久卷定义,PV是持久卷即磁盘,StorageClass是创建持久卷的模板。其中,StorageClass中,provisioner字段指定使用哪种存储插件,volumeBindingMode字段值WaitForFirstConsumer表示PVController延迟绑定PV和PVC,直到Pod调度期间;Immediate表示PVController立即绑定PVC和PV。
Pod中persistentVolumeClaim关联PVC,PVC spec中accessModes和requests分别与PV spec里面accessModes和capacity对应,PVC metadata.annotations.storage-class与PV metadata.annotations.storage-class值相同,与StorageClass metadata.name一致。
Deployment中定义volumeClaimTemplate后PVC需要手动创建。
StatefulSet中定义volumeClaimTemplate后PVC由StatefulSet控制器自动创建。

挂PV流程

provision(创建磁盘)->attach(挂载磁盘到宿主机)->mount(磁盘格式化并挂载到kubelet pv目录)
PVController根据PV模板StorageClass来创建PV,绑定PVC和PV是填写PVC中的spec.volumeName字段。
针对flexVolume,kubelet调用该二进制文件(无法通过守护进程方式长期运行);针对csi,kubelet调用csi插件。

PVC和PV生命周期

PVC - PV - Volume是一个整体。即使删除StatefulSet,不会删除PVC,需要手动删除PVC。
如果不删除Pod,那么无法删除PVC,因为PVC被Pod所使用了。
如果删除了Pod,那么PVC不会自动删除,因为PVC的生命周期独立于Pod。

标签:PV,删除,PVC,StorageClass,磁盘,Pod,k8s
From: https://www.cnblogs.com/WJQ2017/p/18114212

相关文章

  • 备忘记录-20240404.构建服务的k8s资源清单
    导读记录一次搭建服务的成果框架graphTBC(Client)-->ig(ingress)ig-->np((nginx-php\nservice))ig-->tc((tomcat\nservice))np-->ng1(nginx)np-->ng2(nginx)ng2-..->ps((php\nservice))ng1-..->psps-->p1(PHP)ps-->p2(PHP)ps......
  • 十七、k8s-helm-初探
    一、为什么要用helm1.1 常规的部署时通过多个yaml实现的由于k8s缺少对发布的应用版本管理和控制,使得部署的应用维护和更新等面临诸多挑战,主要体现在以下几方面:1、如何将这些服务作为一个整体管理2、这些资源文件如何高效复用3、不支持应用级别的版本管理二、helm介绍......
  • Kubernetes(k8s):如何进行 Kubernetes 集群健康检查?
    Kubernetes(k8s):如何进行Kubernetes集群健康检查?)一、节点健康检查1、使用kubectl查看节点状态2、查看节点详细信息3、检查节点资源使用情况2、Pod健康检查2.1、使用kubectl查看Pod状态2.2、查看特定Pod的详细信息,包括事件和条件3、服务健康检查3.1、使用ku......
  • ( —基础— ) k8s----介绍(1),2024年这些高频面试知识点最后再发一次
    kubectldashboard部署工具:使用批量部署工具如(ansible/saltstack)、手动二进制、apt-get/yum等方式安装,以守护进程的方式启动在宿主机上,类似于是Nginx一样使用service脚本启动。master,node作用Master:是集群的网关和中枢枢纽,主要作用:暴露API接口,跟踪其他服务器......
  • Kubernetes(k8s):部署、使用 metrics-server
    Kubernetes(k8s):部署、使用metrics-server一、metrics-server简介二、部署metrics-server2.1、下载MetricsServer部署文件2.2、修改metrics-server.yaml文件2.3、部署MetricsServer2.4、检查MetricsServer三、使用MetricsServer3.1、查看节点使用情况3.2、......
  • Udemy AWS SAA - Private vs Public IP (IPv4)
    IPv4[0-255].[0-255].[0-255].[0-255]uniqueacrossthewholeweb,canbegeo-locatedeasily**PrivateNetwork:**everyoneinthenetworkcantalktoeachotheruniqueacrossprivatenetworkmachinesconnecttoWWWusingaNAT+internetgateway(aproxy)......
  • 氟碳喷涂和与粉末喷涂的区别,PVDF氟碳涂覆技术具体是什么
    静电喷涂分:粉沫喷涂和氟碳喷涂,粉沫喷涂的原料为:聚氨脂、聚氨树脂、环氧树脂、羟基聚脂树脂以及环氧/聚酯树脂,可配制多种颜色。粉沫喷涂的特点:喷涂设备有手工的,有自动吊挂式、施工简单、涂层厚度为30微米以上,抗冲击,耐磨擦,防腐蚀,耐候性等均好,涂料价格比氟碳便宜。粉沫喷涂最大弱点......
  • 基础知识-K8s(docker jenkins git)部分
    (0402,更新到Git)资料来源roadmap.sh一小时学会Git|GeekHourDocker部分Docker(容器)到底是什么我的例子预制菜的做法。为了能让使用者都能同一种食材和同一种烹饪方法,我特意在中央厨房,将一种菜式里的食材处理到半熟或者全熟的状态,然后用真空的包装包好,之后在仓库里存放。使......
  • k8s + springcloud 微服务开发调试工具kt Connect的使用
    概览KtConnect(全称KubernetesToolkitConnect)是一款基于Kubernetes环境用于提高本地测试联调效率的小工具。通过这个工具,可以不在本地启动所有服务,只需启动当前开发的服务即可,其它服务使用的是部署在k8s集群的实例,如下图:Reference官方文档:https://github.com/alibaba/......
  • pve
    PVE1、安装1.1硬件CPU:IntelEMT64orAMD64withIntelVT/AMD-V(pcie直通技术需要cpu支持)内存:OS和ProxmoxVE服务至少需要2GB内存,外加为客户分配的内存。对于Ceph和ZFS,需要额外的内存;每TB使用的存储大约需要1GB内存。硬盘:SSD系统存储:带电池保护的写缓存raid......