私は、Google Kubernetes EngineのKubernetesクラスタでCockroachDBインスタンスを実行しています。ポート26257を公開しようとしているので、ローカルマシンから接続できます。KubernetesのCockroachDBを公開IPに公開
this answerに記載されているように、ポッドへのポート転送は機能しません。
私はサービスに自分のドメイン名パスからマップするために使用されているnginxの-進入コントローラを持っているので、私はそれを使用しようとしました:私はNodePortにCLUSTERIPから私のDB-cockroachdb-公共サービスを変更
:type: NodePort
私はnginxのコントローラYAMLにこれらの行を追加しました:私の入口YAMLへ
-name: postgresql
nodePort: 30472
port: 26257
protocol: TCP
targetPort: 26257
と、これらの行を:
- 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