簡體   English   中英

kubernetes 清單中的 mongo 命令

[英]mongo command in kubernetes manifest

我正在嘗試在 mongo 部署文件中運行一個命令,如下所示 -

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mongo-deployment
spec:
  replicas: 1
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: mongo-pod
  template:
    metadata:
      labels:
        app: mongo-pod
    spec:
      containers:
      - name: mongo-container
        image: mongo
        ports:
        - containerPort: 27017
          name: mongo
        volumeMounts:
        - name: mongo-persistent-storage
          mountPath: /data/db
        command:
          - "bash"
          - "-c"
          - |
            mongo --eval "db.getSiblingDB('admin').createUser({user : \"$user123\", pwd  : \"$pass\", roles: [ { role: 'root', db: 'admin' } ]});"
      volumes:
      - name: mongo-persistent-storage
        persistentVolumeClaim:
          claimName: mongo-pv-claim

如您所見,我想在命令中為多個用戶提供訪問控制,但我在 pod 日志中收到以下錯誤,並且 pod 進入錯誤 state -

MongoDB shell version v4.2.0
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
2019-09-21T15:42:39.549+0000 E  QUERY    [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:341:17
@(connect):2:6
2019-09-21T15:42:39.550+0000 F  -        [main] exception: connect failed
2019-09-21T15:42:39.550+0000 E  -        [main] exiting with code 1

知道為什么我一直得到這個嗎?

謝謝

嘗試這個:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mongo-deployment
spec:
  replicas: 1
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: mongo-pod
  template:
    metadata:
      labels:
        app: mongo-pod
    spec:
      containers:
      - name: mongo-container
        image: mongo
        ports:
        - containerPort: 27017
          name: mongo
        volumeMounts:
        - name: mongo-persistent-storage
          mountPath: /data/db
        env:
        - name: MONGO_INITDB_ROOT_USERNAME
          value: user
        - name: MONGO_INITDB_ROOT_PASSWORD
          value: password
      volumes:
      - name: mongo-persistent-storage
        persistentVolumeClaim:
          claimName: mongo-pv-claim

它將為admin數據庫創建用戶user名和密碼password ,您可以在dockerhub上找到更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM