如何在Kubernetes集群上使用mongo-express或RockMongo之类的MongoDB GUI工具

时间:2018-07-26 07:45:46

标签: mongodb mongoose kubernetes kubectl rockmongo

我在Kuberenetes集群上运行MongoDB,并且我正在寻找像PHPmyAdmin这样的MongoDB GUI工具来将其作为集群上的Pod运行,并且我让Rockmongo作为Pod运行,但是它不连接到MongoDB,而且我无法公开它,我需要我可以在kubernetes集群上运行的任何微服务,该微服务可以对也在默认名称空间上运行的MongoDB pod进行管理。

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: rockmongo
spec:
  selector:
    matchLabels:
      app: rockmongo
   replicas: 1
   template:
    metadata:
     labels:
    app: rockmongo
spec:
  containers:
  - name: rockmongo
    image: webts/rockmongo
    ports:
    - containerPort: 8050
    env:
    - name: MONGO_HOSTS
      value: '27017'
    - name: ROCKMONGO_PORT
      value: '8050'
    - name: MONGO_HIDE_SYSTEM_COLLECTIONS
      value: 'false'
    - name: MONGO_AUTH
      value: 'false'
    - name: ROCKMONGO_USER
      value: 'admin'
    - name: ROCKMONGO_PASSWORD
      value: 'admin'

在集群上运行的服务

rockmongo                  ClusterIP      10.107.52.82    <none>           8050/TCP                        13s

1 个答案:

答案 0 :(得分:0)

根据Vishal Biyani的建议,您 可以考虑使用Kubernetes ingress(与ingress controller一起访问内部 MongoDB或用于PHP操作的GUI资源。 分布式数据库(例如MongoDB)需要一些额外的资源 与诸如Kubernetes之类的业务流程框架一起部署时,请注意。

我发现了有关您MongoDB as a microservice with docker and Kubernetes需求的有趣文档。