0

I am deploying a mongodb statefulset in Kubernetes and I am setting up my own username and password, but I can't authenticate to the cluster. Please find my YAML manifest below:

  1. Create the Statefulset along with the Headless service
...

apiVersion: v1
kind: Service
metadata:
  name: mongo
  namespace: ng-mongo
  labels:
    app: mongo
spec:
  ports:
  - port: 27017
    targetPort: 27017
    name: database
  clusterIP: None
  selector:
    role: mongo

---

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: mongo
  namespace: ng-mongo
spec:
  serviceName: "mongo"
  replicas: 1
  selector:
    matchLabels:
      role: mongo
  template:
    metadata:
      labels:
        role: mongo
    spec:
      containers:
      - name: mongo
        image: mongo             
        ports:
          - containerPort: 27017
        volumeMounts:
          - name: mongo-persistent-storage
            mountPath: /data/db
        env:
          - name: MONGO_INITDB_ROOT_USERNAME
            value: test
          - name: MONGO_INITDB_ROOT_PASSWORD
            value: test
          - name: MONGO_INITDB_DATABASE
            value: ng-db              

      - name: mongo-sidecar
        image: cvallance/mongo-k8s-sidecar
        env:
          # https://github.com/cvallance/mongo-k8s-sidecar#settings
          - name: MONGO_SIDECAR_POD_LABELS
            value: "role=mongo"
  volumeClaimTemplates:
  - metadata:
      name: mongo-persistent-storage
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: "local-storage"
      resources:
        requests:
          storage: 10Gi
      

  1. Expose the headless service for testing purposes
kubectl port-forward mongo-0 27017:27017
  1. Try to access the mongodb through mongoshell
mongo -u test -ptest --authenticationDatabase ng-db

And I get the following error:

MongoDB shell version v5.0.11 connecting to: mongodb://127.0.0.1:27017/?authSource=ng-db&compressors=disabled&gssapiServiceName=mongodb Error: Authentication failed. : connect@src/mongo/shell/mongo.js:372:17 @(connect):2:6 exception: connect failed exiting with code 1

Can someone help me on this please? Thank you

Jananath Banuka
  • 2,951
  • 8
  • 57
  • 105

0 Answers0