Mongodb kubernetes舱单中的mongo命令
我试图在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
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行将告诉您如何运行数据库。