我目前正在使用 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
您可以简单地将 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