【问题标题】:bitnami mongodb: get access replicaset behind traefikbitnami mongodb:在 traefik 后面获取访问副本集
【发布时间】:2022-01-01 22:05:23
【问题描述】:

我已经部署了我的 bitnami/mongodb helm chart:

helm install mongodb bitnami/mongodb \
  --set architecture="replicaset" \
  --set auth.enabled=false

服务:

NAME                       TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)     AGE
mongodb-arbiter-headless   ClusterIP   None         <none>        27017/TCP   30m
mongodb-headless           ClusterIP   None         <none>        27017/TCP   30m

两个节点都可以访问mongodb-headless:

Name:              mongodb-headless
Namespace:         salut
Labels:            app.kubernetes.io/component=mongodb
                   app.kubernetes.io/instance=mongodb
                   app.kubernetes.io/managed-by=Helm
                   app.kubernetes.io/name=mongodb
                   helm.sh/chart=mongodb-10.30.11
Annotations:       meta.helm.sh/release-name: mongodb
                   meta.helm.sh/release-namespace: salut
Selector:          app.kubernetes.io/component=mongodb,app.kubernetes.io/instance=mongodb,app.kubernetes.io/name=mongodb
Type:              ClusterIP
IP Families:       <none>
IP:                None
IPs:               None
Port:              mongodb  27017/TCP
TargetPort:        mongodb/TCP
Endpoints:         10.42.0.9:27017,10.42.2.5:27017   <<<<<<<<<<<<<<<<<<<<<<<<<<
Session Affinity:  None
Events:            <none>

我创建了这个 Traefik IngressRoute 以便访问我部署的副本集 mongo:

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: mongodb
spec:
  entryPoints:
  - web
  routes:
  - kind: Rule
    match: Host(`mongodb.localhost`)
    services:
    - kind: Service
      name: mongodb-headless
      port: 27017

我需要从我的主机访问这个已部署的副本集,但我无法访问它:

mongo mongodb://mongodb.localhost:80/mpi
MongoDB shell version v5.0.5
connecting to: mongodb://mongodb.localhost:80/mpi?compressors=disabled&gssapiServiceName=mongodb
...
...
...
...
waiting, bit never reached

有什么想法吗?

【问题讨论】:

  • 您是如何配置集群的?您是否尝试将入口点设置为其他端口?您是否考虑过使用临时客户端 Pod 连接到您的 mongoDB Pod?

标签: mongodb kubernetes traefik bitnami traefik-ingress


【解决方案1】:

IngressRoute 用于 HTTP 服务。 MongoDB 是一个 TCP 服务,所以你应该改用IngressRouteTCP

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    • 1970-01-01
    • 2023-03-13
    相关资源
    最近更新 更多