如何解决GCP-从单独的Kubernetes群集连接到VM实例
我有一个kubernetes集群,该集群包含我的应用程序和一个数据库,我在一个单独的VM实例(位于集群外部)上托管该数据库。数据库应该在端口27017上侦听(我使用netstat确认了)。我希望群集中的服务能够连接到该数据库。我收到有关连接超时的错误。这使我相信a)集群中的服务发现无法正常工作(很可能是配置问题),或者b)某些防火墙阻止了我的请求。
为了允许我的外部数据库被发现,我为数据库定义了一个服务和一个自定义端点。服务定义如下:
kind: Service
apiVersion: v1
Metadata:
name: db-service
namespace: production
spec:
ports:
- protocol: TCP
port: 27017
targetPort: 27017
这是端点定义:
kind: Endpoints
apiVersion: v1
Metadata:
name: db-service
namespace: production
subsets:
- addresses:
- ip: <internal-ip>
ports:
- port: 27017
我尝试使用外部和内部ip来定义端点(使用内部ip对我来说最有意义)。
在托管数据库的VM实例上,我仅有的网络标签是“ http-server”和“ https-server”(允许http / https通信的默认标签)。
在我的方法中,什么是阻止托管在VM实例上的数据库接收来自群集节点的请求?
解决方法
原来我的数据库没有监听远程连接(对于postgresql,请查看pg_hba.conf和postgresql.conf)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。