将多个永久卷声明绑定到一个安装路径

时间:2019-01-15 06:05:01

标签: kubernetes google-cloud-platform kubernetes-pvc

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

所以我创建了一个StorageClass资源,一个PersistentVolumeClaim请求500Gi的空间,然后创建了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的请求存储空间。

但是,我可以创建多个200Gi PVC。在Deployment.yaml中,是否可以将它们绑定到一条路径以充当一个大型PVC?还是可以扩展200Gi限制?

1 个答案:

答案 0 :(得分:1)

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

此检查:

IAM和管理员->配额-> Compute Engine API本地SSD(GB)“您的区域” 您使用的金额。

我已经创建了一种情况,当我用完配额后,它以与您相同的待处理状态堆叠。 这是因为您为每个Pod创建了500GB的PVC。