Amazon web services 创建PV时使用卷ID有什么用途?

Amazon web services 创建PV时使用卷ID有什么用途?,amazon-web-services,kubernetes,amazon-eks,persistent-volumes,Amazon Web Services,Kubernetes,Amazon Eks,Persistent Volumes,在AWS EKS中观察到PV和PVC生成的两种语法 1) 在创建PV和PVC时使用卷Id(手动创建卷并使用该Id) 2) 不使用卷Id(PV的动态资源调配) 示例1: - apiVersion: "v1" kind: "PersistentVolume" metadata: name: "pv-aws" spec: capacity: storage: 10G accessModes:

在AWS EKS中观察到PV和PVC生成的两种语法

1) 在创建PV和PVC时使用卷Id(手动创建卷并使用该Id) 2) 不使用卷Id(PV的动态资源调配)

示例1:

- apiVersion: "v1"
  kind: "PersistentVolume"
  metadata:
    name: "pv-aws"
  spec:
    capacity:
      storage: 10G
    accessModes:
      - ReadWriteMany
    persistentVolumeReclaimPolicy: Retain
    storageClassName: gp2
    awsElasticBlockStore:
      volumeID: vol-xxxxxxxx
      fsType: ext4
在本例中,我手动创建卷,并使用该卷创建PV和PVC

示例2:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc1
spec:
  accessModes:
  - ReadWriteOnce
  storageClassName: gp2
  resources:
    requests:
      storage: 20Gi
在这种情况下,只需创建PVC,即可在后端(AWS)和PV中创建卷


区别是什么?在哪些场景中使用哪些?利与弊?

它应该根据您的需求而定。静态资源调配通常是不可伸缩的。您必须在k8s上下文之外创建卷。装载现有卷在灾难恢复场景中非常有用


由于方便,通常首选使用或动态资源调配。您可以创建角色并控制和限制存储使用,减少操作开销。

哪一种适用于StateFullSet?就像我使用sts进行mongodb复制(3个pod,主(vol1)、次(vol2)和次次(vol3)),在这种情况下,我希望独立于生命周期将同一个vol装载到相应的pod以实现数据一致性。只要不删除声明并重新创建它们,状态集就不重要。每次重新创建时,它都会创建一个新磁盘。这就是我所说的灾难恢复场景。在这种情况下,您可以备份您的配置并使用Velero之类的工具进行恢复。