Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb kubernetes舱单中的mongo命令_Mongodb_Kubernetes - Fatal编程技术网

Mongodb kubernetes舱单中的mongo命令

Mongodb kubernetes舱单中的mongo命令,mongodb,kubernetes,Mongodb,Kubernetes,我试图在mongo部署文件中运行一个命令,如下所示- apiVersion: apps/v1 kind: Deployment metadata: name: mongo-deployment spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: mongo-pod template: metadata: labels: ap

我试图在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
如您所见,我希望为多个用户提供访问控制, 但是我在pods日志中得到以下错误,pods进入错误状态-

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
,您可以在上找到更多信息。

添加
command
时,您将启动数据库的命令替换为尝试连接数据库的命令。由于数据库从未启动,因此无法连接。您可以尝试以下操作:1)在后台启动db,2)执行您的操作,3)关闭db,4)在前台启动db,就像在原始图像中一样。关于第(4)点,我从哪里获得该信息?转到dockerhub,找到mongodb图像,然后选择您正在使用的标记。这会将您带到dockerfile以获取该标记。CMD行将告诉您如何运行数据库。