【Kubernetes】常见面试题汇总(十八)
目录
55.简述 Kubernetes 共享存储的作用?
56.简述 Kubernetes 数据持久化的方式有哪些?
57.简述 Kubernetes PV 和 PVC ?
58.简述 Kubernetes PV 生命周期内的阶段?
55.简述 Kubernetes 共享存储的作用?
Kubernetes 对于有状态的容器应用或者对数据需要持久化的应用,因此需要更加可靠的存储来保存应用产生的重要数据,以便容器应用在重建之后仍然可以使用之前的数据。因此需要使用共享存储。
56.简述 Kubernetes 数据持久化的方式有哪些?
Kubernetes 通过数据持久化来持久化保存重要数据,常见的方式有:
(1)EmptyDir(空目录):
- 没有指定要挂载宿主机上的某个目录,直接由 Pod 内保部映射到宿主机上。类似于 docker 中的 manager volume。
- 场景:
① 只需要临时将数据保存在磁盘上,比如在合并 / 排序算法中;
② 作为两个容器的共享存储。
- 特性:
① 同个 pod 里面的不同容器,共享同一个持久化目录,当 pod 节点删除时,volume 的数据也会被删除。
② emptyDir 的数据持久化的生命周期和使用的 pod 一致,一般是作为临时存储使用。
(2)Hostpath:
- 将宿主机上已存在的目录或文件挂载到容器内部。类似于 docker 中的 bind mount 挂载方式。
- 特性:增加了 pod 与节点之间的耦合。
(3)PersistentVolume(简称 PV):
- 如基于 NFS 服务的 PV,也可以基于 GFS 的 PV。它的作用是统一数据持久化目录,方便管理。
57.简述 Kubernetes PV 和 PVC ?
PV 是对底层网络共享存储的抽象,将共享存储定义为一种“ 资源 ”。
PVC 则是用户对存储资源的一个“ 申请 ”。
58.简述 Kubernetes PV 生命周期内的阶段?
某个 PV 在生命周期中可能处于以下 4 个阶段(Phaes)之一:
① Available:可用状态,还未与某个PVC绑定:
② Bound:已与某个 PVC绑定。
③ Released:绑定的 PVC已经删除,资源已释放,但没有被集群回收。
④ Failed:自动资源回收失败。