Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use a storage class for StateFulSet? Do I have to create a PVC?

How to use a storage class for statefulset? I've created the StorageClass. I also created PVC but i'm a bit confused if PVC needs to be create since PVC already requests storage and volumeClaimTemplates also requests storage. Eitherway its not working with or with out pvc.

I get the following error:

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:

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

Statefultset.yml:

apiVersion: apps/v1
kind: StatefulSet
....
....
  volumeClaimTemplates:
  - metadata:
      name: mysql-dev
    spec:
      accessModes:
        - ReadWriteOnce
      storageClassName: ebs-sc
      resources:
        requests:
          stroage: 2Gi

I'm not sure if pvc is needed? I was using this for a normal replicaset deployment. But not sure if Statefulset needs this.

PersistentVolumeClaim.yml:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-dev
  namespace: test-db-dev
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: ebs-sc
  resources:
    requests:
      storage: 2Gi
like image 302
user630702 Avatar asked Nov 17 '25 11:11

user630702


1 Answers

Figured it out.

First there was a typo in Statefultset.yml it should be storage instead of stroage.

Second there is no need for PersistentVolumeClaim since volumeClaimTemplates is the same thing which claims from storage class.

like image 65
user630702 Avatar answered Nov 19 '25 09:11

user630702