将多个 Persistent Volume Claims 绑定到一个挂载路径

Bind several Persistent Volume Claims to one mount path

我正在 GCP 中的 Kubernetes 上开发一个应用程序,我需要一个非常大的 SSD 存储。

所以我创建了一个 StorageClass 资源,一个请求 500Gi 的 space 的 PersistentVolumeClaim,然后是一个 Deployment 资源。

StorageClass.yaml:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: faster
provisioner: kubernetes.io/gce-pd
parameters:
  type: pd-ssd

PVC.yaml:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mongo-volume
spec:
  storageClassName: faster
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 500Gi

Deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mongo-deployment
spec:
  replicas: 2
  selector: 
    matchLabels:
      app: mongo
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: mongo
    spec:
      containers:
      - image: mongo
        name: mongo
        ports:
        - containerPort: 27017
        volumeMounts:
        - mountPath: /data/db
          name: mongo-volume
      volumes:
      - name: mongo-volume
        persistentVolumeClaim:
          claimName: mongo-volume

当我应用 PVC 时,它停留在 Pending... 状态数小时。我通过实验发现它与最大 200Gi 的请求存储正确绑定 space。

但是,我可以创建几个 200Gi 的 PVC。有没有一种方法可以将它们绑定到一条路径以作为 Deployment.yaml 中的一个大 PVC?或者可以扩大 200Gi 的限制?

我刚刚在自己的环境中对其进行了测试,它运行良好。所以问题出在配额中。

对于此检查:

IAM 和管理 -> 配额 -> 计算引擎 API 本地 SSD (GB) "your region" 您使用的金额。

我已经创建了当我 运行 超出配额时的情况,并且它与您的一样处于待处理状态。 发生这种情况是因为您为每个 pod 创建了 500GB 的 PVC。