pods 在 docker-for-desktop windows 中无法访问 kubernetes 外部名称服务

kubernetes externalname service not reachable by pods in docker-for-desktop windows

大家好,我已经使用 ExternalName 类型创建了一个无头服务来访问驻留在集群外部的数据库,但我无法连接到该服务,甚至无法从集群中的 pods ping 通它。需要帮助我在做什么 wrong.I 我正在使用 docker-desktop-for-windows

附带的 kubernetes

ExternalName 服务 yaml

apiVersion: v1
kind: Service
metadata:
  name: dbservice
spec:
  type: ExternalName
  externalName: geekdude9094  //my hostname

当 bin bashing 到其中一个 pods 并 ping 服务时的结果

   root@service-app-6ffb5c88fb-5kvcd:/usr/local/tomcat#  ping dbservice
    PING geekdude9094.home (192.168.10.22): 56 data bytes
    92 bytes from broadcom.home (192.168.10.1): Destination Host Unreachable
    92 bytes from csp3.zte.com.cn.home (192.168.10.1): Destination Host Unreachable
    92 bytes from broadcom.home (192.168.10.1): Destination Host Unreachable
    92 bytes from csp3.zte.com.cn.home (192.168.10.1): Destination Host Unreachable
    92 bytes from broadcom.home (192.168.10.1): Destination Host Unreachable
    92 bytes from csp3.zte.com.cn.home (192.168.10.1): Destination Host Unreachable
    92 bytes from broadcom.home (192.168.10.1): Destination Host Unreachable
    92 bytes from csp3.zte.com.cn.home (192.168.10.1): Destination Host Unreachable
    ^C--- geekdude9094.home ping statistics ---

My windows OS: windows 10 64 bit
kubernetes version: 1.10.11 both client and server

我认为您无法访问该服务的原因是 docker-desktop-for-windows 运行 具有不同网络层的虚拟机。因此,从网络角度来看,集群云无法到达此 192.168.10.1 网络,因为据我所知,docker windows 虚拟机使用 10.0.75.0 子网地址。 也许你可以使用这个 option