如何在 Kubernetes 中公开端口 9009 以使用 InbluxDB 线路协议

问题描述 投票:0回答:1

我目前正在使用 OpenShift 在 Kubernetes 中部署 questdb。 我能够使用 docker 映像非常轻松地设置 questdb,并且可以毫无问题地访问 Web GUI :)

我还可以使用 HTTP REST API 获取和发送数据,但是,由于我们有大量数据要发送到数据库,所以我想使用 InfluxDB Line Protocol API。 但是,由于这是使用 TCP 数据包,因此到目前为止还不起作用。通过提供 Ingress 部分中指定的 IP 地址,我能够使用该协议发送数据,但如果我提供 URL 或主机名,则它不起作用。 我尝试配置一些路由和服务,但仍然无法使用主机名。

所以我想知道是否必须定义一个新路由,并带有附加前缀(例如 /exec 或 /imp)。但我找不到任何相关信息。

能够使用主机名 + InfluxDB 线路协议将数据发送到托管在 OpenShift 上的 questdb。

到目前为止我的配置:

oc 获取 svc -n ci-questdb 名称 类型 集群 IP 外部 IP 端口 年龄 questdb-temp ClusterIP 192.168.252.176 8812/TCP,9000/TCP,9009/TCP,9003/TCP 23h questdb-temp-nodeport NodePort 192.168.146.55 8812:30561/TCP,9000:30242/TCP,9009:31325/TCP,9003:32108/TCP 8m5s questdb-测试负载均衡器 192.168.252.175 10.140.212.94 8812:30112/TCP,9000:30100/TCP,9009:30109/TCP,9003:31256/TCP 10d questdb-test-nodeport NodePort 192.168.238.98 8812:30138/TCP,9000:30875/TCP,9009:32635/TCP,9003:31598/TCP 9m22s

kubernetes openshift questdb
1个回答
0
投票

您可以简单地将 pod 的端口转发到本地端口:

kubectl port-forward [pod_name] 9009:9009

或者您可以创建一个服务,它应该类似于:

apiVersion: v1
kind: Service
metadata:
  name: influxdb-service
  labels:
    app: influxdb-service
spec:
  type: LoadBalancer
  selector:
    app: influxdb-deployment
  ports:
    - port: 9009
      name: influx
      targetPort: 9009
© www.soinside.com 2019 - 2024. All rights reserved.