k8s的volumn解析

背景

k8s中有一套自己的存储逻辑,它和docker中的volumn类似,本文就来看一下k8s的volunm的存储设计

k8s的volumn

1.EmptyDir类型的volumn

这种类型的volumn是Pod内的容器共享的,volumn的生命周期和Pod的生命周期是一致的,不过大于Pod内某个容器的生命周期,也就是pod内的某个容器重启不影响这个volumn的销毁,因为Pod容器还在,k8s通过在宿主机目录/var/lib/kubelet/pods/podid/volumns/kubernetes.io~empty-dir目录下创建volumn名称的目录来实现pod内的容器共享这个volumn存储

2.HostDir类型的volumn

这种类型的volumn是把宿主机上的目录映射到pod内,pod内的容器可以直接访问宿主机的文件,即使pod被销毁了或者被迁移了,也不会影响宿主机上的文件,不过不同宿主机同一个目录下的文件有可能不一致,所以pod如果发生迁移,有可能也会在不同宿主机上有不同的行为,这种volumn的生命周期是独立于pod容器的

3.persistent volumn持久化卷

persistend volumn是通过使用k8s的特殊api创建的卷,这些卷对应的底层存储有可以是某个分布式文件系统的文件,然后不同的Pod容器可以自由使用这些Volumn了,这些Volumn的生命周期和pod的生命周期是完全独立的.

相关推荐
极客先躯11 分钟前
k8s 架构详解
容器·架构·kubernetes·etcd·scheduler·api server
云上星空12 分钟前
K8s调度器扩展(scheduler)
java·贪心算法·kubernetes
怡雪~15 分钟前
K8s的API资源对象NetworkPolicy
linux·容器·kubernetes
Linux运维技术栈15 分钟前
自动化运维(k8s)之微服务信息自动抓取:namespaceName、deploymentName等全解析
运维·kubernetes·自动化
小安运维日记15 分钟前
CKA认证 | Day4 K8s管理应用生命周期(下)
linux·运维·云原生·容器·kubernetes·云计算
Algorithm157616 分钟前
Nvidia的hami是什么,以及如何再K8S中起作用
云原生·容器·kubernetes
huhy~17 分钟前
基于centos7.9使用shell脚本部署k8s1.25平台
云原生·容器·kubernetes
oceanweave18 分钟前
【k8s深入学习之 Scheme】全面理解 Scheme 的注册机制、内外部版本、自动转换函数、默认填充函数、Options等机制
学习·容器·kubernetes
树下一少年19 分钟前
k8s运行运行pod报错超出文件描述符表限制
linux·容器·kubernetes·containerd·limit.conf
大新新大浩浩19 分钟前
k8s集群增加nfs-subdir-external-provisioner存储类
云原生·容器·kubernetes