Je crée le statefulset mongodb ci-dessous qui crée 3 répliques, mais lorsque j'exécute le code, j'obtiens l'erreur ci-dessous et tous les pods sont dans l'état CrashLoopBackOff.
C'est l'erreur que j'obtiens quand j'essaye kubectl create -f
Error parsing command line: unrecognised option '--smallfiles'
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: mongo
namespace: microservice1
spec:
serviceName: "mongo"
replicas: 3
template:
metadata:
labels:
role: mongo
environment: test
spec:
terminationGracePeriodSeconds: 10
containers:
- name: mongo
image: mongo
command:
- mongod
- "--replSet"
- rs0
- "--smallfiles"
- "--noprealloc"
ports:
- containerPort: 27017
volumeMounts:
- name: mongo-persistent-storage
mountPath: /data/db
- name: mongo-sidecar
image: cvallance/mongo-k8s-sidecar
env:
- name: MONGO_SIDECAR_POD_LABELS
value: "role=mongo,environment=test"
volumes:
- name: mongo-persistent-storage
flexVolume:
driver: rook.io/rook
fsType: ceph
options:
fsName: myfs # name of the filesystem specified in the filesystem CRD.
clusterNamespace: rook # namespace where the Rook cluster is deployed
clusterName: rook
--smallfiles
n'est pas pris en charge dans le plus récent mongo (4.2), vous pouvez le vérifier dans doc , vous ne spécifiez pas de balise d'image, donc le plus récent latest
est tiré dans ce cas mongo 4.2.
Si vous définissez image: mongo:4.0
votre configuration doit être correcte.
Essayez de supprimer le petit fichier, sinon essayez le bloc ci-dessous que j'ai fourni.
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
app: mongodb-replicaset
name: logs-mongodb-replicaset
spec:
podManagementPolicy: OrderedReady
replicas: 3
revisionHistoryLimit: 10
selector:
matchLabels:
app: mongodb-replicaset
serviceName: logs-mongodb-replicaset
template:
metadata:
creationTimestamp: null
labels:
app: mongodb-replicaset
spec:
containers:
- args:
- --config=/data/configdb/mongod.conf
- --dbpath=/data/db
- --replSet=rs0
- --port=27017
- --bind_ip=0.0.0.0
command:
- mongod
image: mongo:3.6
imagePullPolicy: IfNotPresent
livenessProbe:
exec:
command:
- mongo
- --eval
- db.adminCommand('ping')
failureThreshold: 3
initialDelaySeconds: 30
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
name: mongodb-replicaset
ports:
- containerPort: 27017
name: peer
protocol: TCP
readinessProbe:
exec:
command:
- mongo
- --eval
- db.adminCommand('ping')
failureThreshold: 3
initialDelaySeconds: 5
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /data/db
name: datadir
- mountPath: /data/configdb
name: configdir
- mountPath: /work-dir
name: workdir