Docker容器技术与应用(第2版)(微课版) 课件 任务7.2 Kubernetes数据卷管理管理 .pptx
Docker
容器技术与应用
湖北轻工职业技术学院;Kubernetes网络管理
和数据卷管理;Kubernetes网络管理
和数据卷管理;项目七:Kubernetes网络管理和数据卷管理
;Kubernetes网络管理;知识目标;能力目标;素质目标;公司员工通过参考手册进行实际操作的过程中,容易出现容器间数据无法共享、数据无法持久化存储以及应用状态管理等问题。因此,公司员工希望有针对Kubernetes存储技术的参考手册。工程师小王决定通过查阅相关资料,编写关于Kubernetes数据卷的操作手册。;容器内的文件在磁盘上是临时存储的,导致在容器升级、崩溃或重启时,可能出现容器内文件丢失的问题。为了解决这个问题,Kubernetes引入了Volume的概念,通过引入Volume来实现容器之间的数据共享,方便容器间的协作和通信。
Volume是Pod中能够被多个容器访问的共享目录,它被定义在Pod上。在同一个Pod中,多个容器可以挂载某个具体的文件目录,以实现容器之间的数据共享以及数据的持久化存储。Volume的生命周期不与Pod中单个容器的生命周期相关。当容器终止或者重启时,Volume中的数据也不会丢失,从而增强数据的安全性。
Kubernetes支持多种类型的Volume,比较常见的有简单存储(EmptyDir、HostPath、NFS)和高级存储(PV、PVC),以及配置存储(ConfigMap、Secret)。
;简单存储
Kubernetes的简单存储主要包括EmptyDir、HostPath、NFS几种类型。
1.EmptyDir
EmptyDir是一种在Pod中创建的空目录,用于在容器之间共享文件。其数据存储在Pod所在节点的本地磁盘上,初始内容为空,使用时无须指定节点上对应的目录,Kubernetes自动分配目录,当Pod被删除时,EmptyDir卷中的数据也会被删除。其主要用途如下。
(1)作为应用程序运行时的临时文件存储区,如缓存数据。
(2)在Pod内部的不同容器之间共享数据。
(3)作为耗时较长计算任务的检查点或恢复点。
;简单存储
Kubernetes的简单存储主要包括EmptyDir、HostPath、NFS几种类型。
2.HostPath
HostPath将节点中的某个具体的文件系统路径挂载在Pod中,以供容器使用。除非宿主机上的数据被删除,否则其数据不会随着Pod的删除而丢失,使用时存在一定的安全风险,不建议在生产环境中使用。其主要应??场景如下。
(1)特定的应用场景,如日志收集、数据库存储等。
(2)Pod需要访问节点上的特定文件或目录的场景,如配置文件、密钥文件等。
;简单存储
Kubernetes的简单存储主要包括EmptyDir、HostPath、NFS几种类型。
3.NFS
NFS将网络文件系统(NetworkFileSystem,NFS)挂载到容器中,可以跨多个Pod和节点共享数据。数据存储在NFS服务器上,这样就保证了当某个节点出现故障时,部署在该节点上的Pod无论转移到哪个节点,其存储的数据都不会丢失,实现了数据的持久化和共享。其主要应用场景如下。
(1)分布式系统中需要共享数据的场景。
(2)需要持久化存储数据的场景,但希望数据能够在多个节点间共享。
;高级存储
Kubernetes的高级存储主要涉及PersistentVolume(PV)和PersistentVolumeClaim(PVC)两种资源,旨在为容器化应用提供一种灵活、可扩展且易于管理的存储解决方案,以提高存储的灵活性和可管理性。
;高级存储
1.PV
PV是由Kubernetes配置的存储资源,它是集群中存储的抽象,表示具体的存储卷。PV的生命周期独立于使用它的Pod,可以通过静态创建和动态创建的方式使用。
(1)静态创建:可以直接在集群中定义PV对象,并等待用户通过PVC请求。
(2)动态创建:结合StorageClass,可以实现存储卷的自动创建和分配。
PV支持多种后端存储,如NFS、Ceph、AWSEBS等。其主要用途如下。
(1)为Pod提供持久化存储,确保数据在Pod重启或迁移时不会丢失。
(2)允许用户抽象地请求存储资源,通过PVC声明存储需求,通过PVC声明存储需求,而无需关心底层存储的具体实现。
;高级存储
2.PVC
PVC是用户请求的存储资源,代表了对存储资源的需求和约束。PVC允许用户抽象地声明其需要的存储资源和访问模式,而不必关心具体的存储卷是如何创建和管理的,可以通过声明式和动态绑定进行配置。
(1)声明式配置:用户通过PVC声明所需的存储资源和访问模式。
(2)动态绑定配置:PVC可以动态地绑定到合适的PV上,实现了存储资源的自动分配。
PVC