【发布时间】:2018-06-10 19:14:30
【问题描述】:
我有一个 CockroachDB 实例在 Google Kubernetes Engine 上的 Kubernetes 集群中运行。我正在尝试公开端口 26257,以便可以从本地计算机连接到它。
如this answer 中所述,端口转发到 pod 将不起作用。
我有一个 nginx-ingress 控制器,用于从我的域名路径映射到服务,所以我尝试使用它:
我将 db-cockroachdb-public 服务从 ClusterIP 更改为 NodePort:
type: NodePort
我将这些行添加到我的 nginx-controller YAML 中:
-name: postgresql
nodePort: 30472
port: 26257
protocol: TCP
targetPort: 26257
这些行到我的入口 YAML:
- host: db.mydomain.com
http:
paths:
- path: /
backend:
serviceName: db-cockroachdb-public
servicePort: 26257
但是,我无法连接到数据库 - 连接被拒绝。我还尝试在 nginx 控制器中禁用 SSL 重定向,但它仍然不起作用。
我也尝试了一个 ConfigMap,但它没有做任何事情:
https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/exposing-tcp-udp-services.md
【问题讨论】: