While creating stateful set for mongodb on kubernetes, I am getting below error.
"is invalid: spec: Forbidden: updates to statefulset spec for fields other than 'replicas', 'template', and 'updateStrategy' are forbidden"
statefulset.yaml
---
apiVersion: "apps/v1"
kind: "StatefulSet"
metadata:
name: "mongo-development"
namespace: "development"
spec:
selector:
matchLabels:
app: "mongo-development"
serviceName: "mongo-development"
replicas: 1
template:
metadata:
labels:
app: "mongo-development"
spec:
containers:
-
name: "mongo-development"
image: "mongo"
imagePullPolicy: "Always"
env:
-
name: "MONGO_INITDB_ROOT_USERNAME"
value: "xxxx"
-
name: "MONGO_INITDB_ROOT_PASSWORD"
value: "xxxx"
ports:
-
containerPort: 27017
name: "mongodb"
volumeMounts:
-
name: "mongodb-persistent-storage"
mountPath: "/var/lib/mongodb"
volumes:
-
name: "mongodb-persistent-storage"
persistentVolumeClaim:
claimName: "mongodb-pvc-development"
pvc.yaml
---
apiVersion: "v1"
kind: "PersistentVolumeClaim"
metadata:
name: "mongodb-pvc-development"
namespace: "development"
labels:
app: "mongo-development"
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
storageClassName: gp2
service.yaml
---
apiVersion: "v1"
kind: "Service"
metadata:
name: "mongo-development"
namespace: "development"
labels:
app: "mongo-development"
spec:
ports:
-
name: "mongodb"
port: 27017
targetPort: 27017
clusterIP: "None"
selector:
app: "mongo-development"
Can someone please help what I am doing wrong here.