|NO.Z.00188|——————————|CloudNative|——|KuberNetes&持久存储.V01|——|volume.v01|概述|

一、Volumes概述
### --- Volumes:

~~~     可以使用volumes去挂载configmap和secrets,
~~~     # volumes:容器每次重启都会以最干净的状态去启动;
~~~     比如在容器中创建了一个文件,但是重启之后,这个文件就会丢失。因为我们没有对它进行持久化存储。
~~~     若是我们需要持久化存储,需要用到volumes;
~~~     而且我们一个Pod里面部署了多个容器,多个容器还有可能去共享它的一些文件,去共享一些缓存文件,
~~~     Container.A产生的文件container.B可能还会用到,我们就需要volumes去实现这个功能。
### --- Volumes概念:

~~~     Container(容器)中的磁盘文件是短暂的,当容器崩溃时,
~~~     kubelet会重新启动容器,但最初的文件将丢失,Container会以最干净的状态启动。
~~~     另外,当一个Pod运行多个Container时,各个容器可能需要共享一些文件。
~~~     Kubernetes Volume可以解决这两个问题。
~~~     一些需要持久化数据的程序才会用到Volumes,或者一些需要共享数据的容器需要volumes。
### --- 应用场景:

~~~     Redis-Cluster:nodes.conf
~~~     # 日志收集的需求:需要在应用程序的容器里面加一个sidecar,
~~~     这个容器是一个收集日志的容器,比如filebeat,它通过volumes共享应用程序的日志文件目录。
~~~     # Volumes:官方文档https://kubernetes.io/docs/concepts/storage/volumes/
### --- 背景:

~~~     Docker也有卷的概念,但是在Docker中卷只是磁盘上或另一个Container中的目录,
~~~     其生命周期不受管理。虽然目前Docker已经提供了卷驱动程序,但是功能非常有限,
~~~     例如从Docker 1.7版本开始,每个Container只允许一个卷驱动程序,并且无法将参数传递给卷。
~~~     # 另一方面,Kubernetes卷具有明确的生命周期,与使用它的Pod相同。
~~~     因此,在Kubernetes中的卷可以比Pod中运行的任何Container都长,
~~~     并且可以在Container重启或者销毁之后保留数据。Kubernetes支持多种类型的卷,
~~~     Pod可以同时使用任意数量的卷。
~~~     # 从本质上讲,卷只是一个目录,可能包含一些数据,Pod中的容器可以访问它。
~~~     要使用卷Pod需要通过.spec.volumes字段指定为Pod提供的卷,以及使用.spec.containers.volumeMounts 字段指定卷挂载的目录。
~~~     从容器中的进程可以看到由Docker镜像和卷组成的文件系统视图,
~~~     卷无法挂载其他卷或具有到其他卷的硬链接,Pod中的每个Container必须独立指定每个卷的挂载位置。
二、常用的volumes的使用示例
### --- emptyDir

~~~     和上述volume不同的是,如果删除Pod,emptyDir卷中的数据也将被删除,
~~~     一般emptyDir卷用于Pod中的不同Container共享数据。它可以被挂载到相同或不同的路径上。
~~~     默认情况下,emptyDir卷支持节点上的任何介质,可能是SSD、磁盘或网络存储,
~~~     具体取决于自身的环境。可以将emptyDir.medium字段设置为Memory,
~~~     让Kubernetes使用tmpfs(内存支持的文件系统),虽然tmpfs非常快,但是tmpfs在节点重启时,
~~~     数据同样会被清除,并且设置的大小会被计入到Container的内存限制当中。

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(27)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示