我正在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限制?
答案 0 :(得分:1)
我刚刚在自己的环境中对其进行了测试,并且效果很好。所以问题出在配额上。
此检查:
IAM和管理员->配额-> Compute Engine API本地SSD(GB)“您的区域” 您使用的金额。
我已经创建了一种情况,当我用完配额后,它以与您相同的待处理状态堆叠。 这是因为您为每个Pod创建了500GB的PVC。