GKE 上另一个 Kubernetes 集群中 Pod 的 DNS
DNS for Pod in another Kubernetes cluster on GKE
我正在尝试连接到托管在同一 GCP 项目的另一个 Kubernetes 集群中的 MongoDB 副本集。我想在连接字符串中使用 DNS names。
我能够使用此连接字符串连接到托管在同一集群中的 mongodb:
mongodb://<pod-name>.<service-name>.<namespace>.svc.cluster.local:27017,<pod-name>.<service-name>.<namespace>.svc.cluster.local:27017/?replicaSet=<rs-name>
所以我的问题是:
是否可以使用 DNS 名称来引用另一个集群中的 pod?我查看了 this document 并指出:
Any pods created by a Deployment or DaemonSet have the following DNS
resolution available:
pod-ip-address.deployment-name.my-namespace.svc.cluster-domain.example.
但是我不确定 cluster-domain.example
部分的格式是什么。
您不能使用 Kubernetes Service DNS(CoreDNS) 从 kubernetes 集群外部访问 pod,即使是从另一个 kubernetes 集群也是如此。您需要通过 LoadBalancer
(推荐)或 NodePort
类型的服务公开 mongodb pod,并使用来自其他 kubernetes 集群的 LoadBalancer endpoint
或 NodeIP:NodePort
访问它。
我正在尝试连接到托管在同一 GCP 项目的另一个 Kubernetes 集群中的 MongoDB 副本集。我想在连接字符串中使用 DNS names。
我能够使用此连接字符串连接到托管在同一集群中的 mongodb:
mongodb://<pod-name>.<service-name>.<namespace>.svc.cluster.local:27017,<pod-name>.<service-name>.<namespace>.svc.cluster.local:27017/?replicaSet=<rs-name>
所以我的问题是:
是否可以使用 DNS 名称来引用另一个集群中的 pod?我查看了 this document 并指出:
Any pods created by a Deployment or DaemonSet have the following DNS resolution available:
pod-ip-address.deployment-name.my-namespace.svc.cluster-domain.example.
但是我不确定 cluster-domain.example
部分的格式是什么。
您不能使用 Kubernetes Service DNS(CoreDNS) 从 kubernetes 集群外部访问 pod,即使是从另一个 kubernetes 集群也是如此。您需要通过 LoadBalancer
(推荐)或 NodePort
类型的服务公开 mongodb pod,并使用来自其他 kubernetes 集群的 LoadBalancer endpoint
或 NodeIP:NodePort
访问它。