zoukankan      html  css  js  c++  java
  • k8s-Volume

    k8s-Volume(存储卷)

    Volume是Pod中能够被多个容器访问的共享目录。

    Kubernetes的Volume概念与Docker的Volume比较类似,但不完全相同。
    Kubernetes中的Volume与Pod生命周期相同,但与容器的生命周期不相关。当容器终止或者重启时,Volume中的数据也不会丢失。
    另外,Kubernetes支持多种类型的Volume,并且一个Pod可以同时使用任意多个Volume。

    Kubernetes提供了非常丰富的Volume类型,下面逐一进行说明。

    EmptyDir:一个EmptyDir Volume是在Pod分配到Node时创建的。从它的名称就可以看出,它的初始内容为空。在同一个Pod中所有容器可以读和写EmptyDir中的相同文件。当Pod从Node上移除时,EmptyDir中的数据也会永久删除。

    hostPath:在Pod上挂载宿主机上的文件或目录。

    gcePersistentDisk:使用这种类型的Volume表示使用谷歌计算引擎(Google Compute Engine,GCE)上永久磁盘(Persistent Disk,PD)上的文件。
    与EmptyDir不同,PD上的内容会永久保存,当Pod被删除时,PD只是被卸载(Unmount),但不会被删除。
    需要注意的是,你需要先创建一个永久磁盘(PD)才能使用gcePersistentDisk。

    awsElasticBlockStore:与GCE类似,该类型的Volume使用Amazon提供的Amazon Web Service(AWS)的EBS Volume,并可以挂在到Pod中去。需要注意到是,需要首先创建一个EBS Volume才能使用awsElasticBlockStore。

    nfs:使用NFS(网络文件系统)提供的共享目录挂载到Pod中。在系统中需要一个运行中的NFS系统。

    iscsi:使用iSCSI存储设备上的目录挂载到Pod中。

    glusterfs:使用开源GlusterFS网络文件系统的目录挂载到Pod中。

    rbd:使用Linux块设备共享存储(Rados Block Device)挂载到Pod中。

    gitRepo:通过挂载一个空目录,并从GIT库clone一个git respository以供Pod使用。

    secret:一个secret volume用于为Pod提供加密的信息,你可以将定义在Kubernetes中的secret直接挂载为文件让Pod访问。secret volume是通过tmfs(内存文件系统)实现的,所以这种类型的volume总是不会持久化的。

    persistentVolumeClaim:从PV(PersistentVolume)中申请所需的空间,PV通常是一种网络存储,例如GCEPersistentDisk、AWSElasticBlockStore、NFS、iSCSI等。

  • 相关阅读:
    SDN第七次上机作业
    SDN第六次上机作业
    SDN第五次上机实验
    SDN阅读作业(二)
    软件评测——腾讯音视频
    SDN上机第四次作业
    SDN上机第三次作业
    SDN阅读作业
    SpringBoot整合Swagger2
    JavaWeb项目前后端分离
  • 原文地址:https://www.cnblogs.com/lexiaofei/p/k8s-Volume.html
Copyright © 2011-2022 走看看