2

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

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

存储类.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

部署.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 的请求存储空间正确绑定。

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

4

1 回答 1

1

我刚刚在自己的环境中对其进行了测试,并且效果很好。所以问题出在配额上。

对于此检查:

IAM & admin -> Quotas -> Compute Engine API Local SSD (GB) "your region" 您使用的金额。

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

于 2019-01-16T11:53:29.953 回答