kubernetes中的基本概念(九) volumes

分类: AUTOMATION 发布于:

volumes 是cluster管理过程中对mount系统调用的抽象。

volumes

在分布式网络环境中,卷的意思一般是以持久化层的概念存在的。

在容器内的临时文件随着容器的销毁,也会消失。

k8s 支持的卷类型

  • awsElasticBlockStore

EBS Volume, aws上的块存储。

  • 必须是EC2节点

  • 必须在同一个大区内(volume 和 ec2)

  • 一个已经存在的卷只能挂载到一个ec2实例上

  • azureDisk

azuredisk的使用方法

简单的键值对映射

  • csi
  • downwardAPI Expose Pod Information to Containers Through Files

  • emptyDir

  • fc (fibre channel)

  • flexVolume

  • flocker

  • gcePersistentDisk

  • gitRepo (deprecated)

  • glusterfs

  • hostPath

  • iscsi

  • local

  • nfs

  • persistentVolumeClaim

  • projected

  • portworxVolume

  • quobyte

  • rbd

  • scaleIO

  • secret

  • storageos

  • vsphereVolume
容器之间共享挂载点(Mount Propagation)
持久化卷(pv and pvc)

声明示例

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv0003
spec:
  capacity:
    storage: 5Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Recycle
  storageClassName: slow
  mountOptions:
    - hard
    - nfsvers=4.1
  nfs:
    path: /tmp
    server: 172.17.0.2
快照
apiVersion: snapshot.storage.k8s.io/v1alpha1
kind: VolumeSnapshot
metadata:
  name: new-snapshot-test
spec:
  snapshotClassName: csi-hostpath-snapclass
  source:
    name: pvc-test
    kind: PersistentVolumeClaim