Kubernetes 如何为StateFulSet使用存储类?我必须创建一个PVC吗?
如何为statefulset使用存储类?我已经创建了StorageClass。我也创建了PVC,但我有点困惑是否需要创建PVC,因为PVC已经请求存储,volumeClaimTemplates也请求存储。无论是使用pvc还是不使用pvc,它都不起作用 我得到以下错误:Kubernetes 如何为StateFulSet使用存储类?我必须创建一个PVC吗?,kubernetes,kubernetes-statefulset,Kubernetes,Kubernetes Statefulset,如何为statefulset使用存储类?我已经创建了StorageClass。我也创建了PVC,但我有点困惑是否需要创建PVC,因为PVC已经请求存储,volumeClaimTemplates也请求存储。无论是使用pvc还是不使用pvc,它都不起作用 我得到以下错误: create Pod dbhost001-0 in StatefulSet dbhost001 failed error: failed to create PVC mysql-dev-dbhost001-0: Persisten
create Pod dbhost001-0 in StatefulSet dbhost001 failed error: failed to create PVC mysql-dev-dbhost001-0: PersistentVolumeClaim "mysql-dev-dbhost001-0" is invalid: spec.resources[storage]: Required value
create Claim mysql-dev-dbhost001-0 for Pod dbhost001-0 in StatefulSet dbhost001 failed error: PersistentVolumeClaim "mysql-dev-dbhost001-0" is invalid: spec.resources[storage]: Required value
storageClass.yml:
Statefultset.yml:
我不确定是否需要pvc?我将其用于正常的replicaset部署。但不确定Statefulset是否需要这个
PersistentVolumeClaim.yml:
我明白了
首先,Statefultset.yml中有一个输入错误,它应该是存储,而不是存储
第二,不需要PersistentVolumeClaim,因为volumeClaimTemplates与storage类声明的内容相同。解决了这个问题
首先,Statefultset.yml中有一个输入错误,它应该是存储,而不是存储
其次,不需要PersistentVolumeClaim,因为volumeClaimTemplates与storage class声明的内容相同。也不需要StorageClass,因为您可以使用AWS默认值。也不需要StorageClass,因为您可以使用AWS默认值
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ebs-sc
provisioner: kubernetes.io/aws-ebs
parameters:
type: gp2
reclaimPolicy: Retain
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer
apiVersion: apps/v1
kind: StatefulSet
....
....
volumeClaimTemplates:
- metadata:
name: mysql-dev
spec:
accessModes:
- ReadWriteOnce
storageClassName: ebs-sc
resources:
requests:
stroage: 2Gi
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-dev
namespace: test-db-dev
spec:
accessModes:
- ReadWriteOnce
storageClassName: ebs-sc
resources:
requests:
storage: 2Gi