k8s 之 StorageClass PersistentVolumeClaim PersistentVolume

按照层级概念StorageClass ⟶ \longrightarrow PersistentVolume ⟶ \longrightarrow PersistentVolumeClaim

StorageClass

存储类 基于磁盘

这里只说本地存储

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer

PersistentVolume

持久卷 是集群中的一块存储,可以由管理员事先制备, 或者使用存储类(Storage Class)来动态制备。

基于存储类

apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pv
spec:
  capacity:
    storage: 5Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Delete
  storageClassName: local-storage
  local:
    path: /f/logs/ssd1  # 本机提供存储的位置
  nodeAffinity: # local存储必须设置的
    required:
      nodeSelectorTerms:
        - matchExpressions:
            - key: kubernetes.io/hostname
              operator: In
              values:
                - docker-desktop #node 名称

PersistentVolumeClaim

持久卷申领(PersistentVolumeClaim,PVC) 表达的是用户对存储的请求。概念上与 Pod 类似。 Pod 会耗用节点资源,而 PVC 申领会耗用 PV 资源。

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-pvc
spec:
  accessModes:
    - ReadWriteOnce
  volumeMode: Filesystem
  resources:
    requests:
      storage: 8Gi
  storageClassName: local-storage
posted @ 2022-09-06 14:02  可爱香草  阅读(18)  评论(0)    收藏  举报  来源