kubernetes中的基本概念(九) volumes
volumes 是cluster管理过程中对mount
系统调用的抽象。
volumes
在分布式网络环境中,卷的意思一般是以持久化
层的概念存在的。
在容器内的临时文件随着容器的销毁,也会消失。
k8s 支持的卷类型
- awsElasticBlockStore
EBS Volume, aws上的块存储。
-
必须是EC2节点
-
必须在同一个大区内(volume 和 ec2)
-
一个已经存在的卷只能挂载到一个ec2实例上
-
azureDisk
-
azureFile
-
cephfs cephfs使用方法介绍
-
configMap
简单的键值对映射
- 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